Hi Niteesh,

I was hoping to try this out as soon as I get some time. No later than weekend. So if nobody else is able to check it out, I will be able to provide some feedback soon.

I should be able to bring up the console on a RPi Zero W and RPi3, correct?

 

Thanks,

Alan

 

From: Niteesh G. S.
Sent: Thursday, May 6, 2021 4:29 AM
To: Joel Sherrill; Christian Mauderer
Cc: rtems-de...@rtems.org
Subject: Re: [PATCH] bsps/raspberrypi/console: Fix default console device

 

ping.

 

On Sat, May 1, 2021 at 9:47 PM Niteesh G. S. <niteesh...@gmail.com> wrote:

On Sat, May 1, 2021 at 8:31 PM Joel Sherrill <j...@rtems.org> wrote:

 

On Sat, May 1, 2021, 8:53 AM Niteesh G. S. <niteesh...@gmail.com> wrote:

Just to provide more context,

When the CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER option is used

and no --console option is provided, the console driver defaults to PL011.

In raspberry pi 3 and other models whose primary UART is not PL011, we get no output.

This patch fixes that by linking the primary UART to the console device.

 

Thanks,

Niteesh

 

On Sat, May 1, 2021 at 7:05 PM G S Niteesh Babu <niteesh...@gmail.com> wrote:

When no console argument is given, the driver defaults to pl011
this results in no output in case of Rpi3 whose primary uart is
miniuart.
This patch fixes that by defaulting to the primary uart when no
console option is provided.

 

Does the default need to vary by model?

Yes, the primary UART is different across models.

 

Rpi's have two UARTs PL011 and miniuart, on models which have Bluetooth

the PL011 is used to talk to the Bluetooth and miniuart acts as the primary UART.

Now we can change this by adding miniuart-bt to config.txt but the miniuart is

based on the VPU core and requires to add another option which sets the core to

a fixed freq.

 

---
 bsps/arm/raspberrypi/console/console-config.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/bsps/arm/raspberrypi/console/console-config.c b/bsps/arm/raspberrypi/console/console-config.c
index 6b8eb80aa4..bd3a8d34c2 100644
--- a/bsps/arm/raspberrypi/console/console-config.c
+++ b/bsps/arm/raspberrypi/console/console-config.c
@@ -165,10 +165,16 @@ static void console_select( void )
     }
   }else {
     /**
-     * If no command line option was given, default to PL011.
+     * If no console option was given we default to the primary uarts.
+     * The initialization of the uart's and BSP_output_char is already done
+     * in the uart_probe function called before this. So now we can safely
+     * compare BSP_output_char.
      */
-    BSP_output_char = output_char_pl011;
-    link(PL011, CONSOLE_DEVICE_NAME);
+    if (BSP_output_char == output_char_pl011) {
+      link(PL011, CONSOLE_DEVICE_NAME);
+    }else {
+      link(MINIUART, CONSOLE_DEVICE_NAME);
+    }
   }
 }

--
2.17.1

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

 

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to