<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Alan,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 6, 2021 at 6:12 PM Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-5551549139162300109WordSection1"><p class="MsoNormal">Hi Niteesh,</p><p class="MsoNormal">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.</p><p class="MsoNormal">I should be able to bring up the console on a RPi Zero W and RPi3, correct?</p></div></div></blockquote><div><div class="gmail_default" style="font-size:small">the consoles should work on Zero W and Pi3 by default. They only fail to work when  <span class="gmail_default"></span>CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER</div><div class="gmail_default" style="font-size:small">this option is used. This is because when that option is used it calls console_initialize which checks if any boot options were present if none were</div><div class="gmail_default" style="font-size:small">given it defaults to pl011 which is the secondary UART in Zero w and Pi3 so we get no output. This patch defaults to the primary UART instead of</div><div class="gmail_default" style="font-size:small">pl011 depending on the board.</div><div class="gmail_default" style="font-size:small">Also, this patch should be applied on RTEMS 5 since we started supporting Pi3 and Zero w from RTEMS 5.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks,</div><div class="gmail_default" style="font-size:small">Niteesh.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-5551549139162300109WordSection1"><p class="MsoNormal">Thanks,</p><p class="MsoNormal">Alan</p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:niteesh.gs@gmail.com" target="_blank">Niteesh G. S.</a><br><b>Sent: </b>Thursday, May 6, 2021 4:29 AM<br><b>To: </b><a href="mailto:joel@rtems.org" target="_blank">Joel Sherrill</a>; <a href="mailto:christian.mauderer@embedded-brains.de" target="_blank">Christian Mauderer</a><br><b>Cc: </b><a href="mailto:devel@rtems.org" target="_blank">rtems-devel@rtems.org</a><br><b>Subject: </b>Re: [PATCH] bsps/raspberrypi/console: Fix default console device</p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal"><span style="font-size:12pt">ping.<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sat, May 1, 2021 at 9:47 PM Niteesh G. S. <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><div><p class="MsoNormal"><span style="font-size:12pt">On Sat, May 1, 2021 at 8:31 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<u></u><u></u></span></p></div></div><div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal" style="margin-bottom:12pt"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sat, May 1, 2021, 8:53 AM Niteesh G. S. <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><span style="font-size:12pt">Just to provide more context,<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">When the <span class="gmail_default" style="font-size:small"></span>CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER option is used<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">and no --console option is provided, the console driver defaults to PL011.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">In raspberry pi 3 and other models whose primary UART is not PL011, we get no output.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">This patch fixes that by linking the primary UART to the console device.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">Thanks,<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">Niteesh<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sat, May 1, 2021 at 7:05 PM G S Niteesh Babu <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal">When no console argument is given, the driver defaults to pl011<br>this results in no output in case of Rpi3 whose primary uart is<br>miniuart.<br>This patch fixes that by defaulting to the primary uart when no<br>console option is provided.</p></blockquote></div></blockquote></div></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Does the default need to vary by model?</p></div></div></blockquote><div><p class="MsoNormal"><span class="gmail-m_-5551549139162300109gmaildefault"><span style="font-size:12pt">Yes, the primary UART is different across models.</span></span></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span class="gmail-m_-5551549139162300109gmaildefault"><span style="font-size:12pt">Rpi's have two UARTs PL011 and miniuart, on models which have Bluetooth</span></span></p></div><div><p class="MsoNormal"><span class="gmail-m_-5551549139162300109gmaildefault"><span style="font-size:12pt">the PL011 is used to talk to the Bluetooth and miniuart acts as the primary UART.</span></span></p></div><div><p class="MsoNormal"><span class="gmail-m_-5551549139162300109gmaildefault"><span style="font-size:12pt">Now we can change this by adding miniuart-bt to config.txt but the miniuart is</span></span></p></div><div><div><p class="MsoNormal"><span style="font-size:12pt">based on the VPU core and requires to add another option which sets the core to<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">a fixed freq.<u></u><u></u></span></p></div></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal" style="margin-bottom:12pt">---<br> bsps/arm/raspberrypi/console/console-config.c | 12 +++++++++---<br> 1 file changed, 9 insertions(+), 3 deletions(-)<br><br>diff --git a/bsps/arm/raspberrypi/console/console-config.c b/bsps/arm/raspberrypi/console/console-config.c<br>index 6b8eb80aa4..bd3a8d34c2 100644<br>--- a/bsps/arm/raspberrypi/console/console-config.c<br>+++ b/bsps/arm/raspberrypi/console/console-config.c<br>@@ -165,10 +165,16 @@ static void console_select( void )<br>     }<br>   }else {<br>     /**<br>-     * If no command line option was given, default to PL011.<br>+     * If no console option was given we default to the primary uarts.<br>+     * The initialization of the uart's and BSP_output_char is already done<br>+     * in the uart_probe function called before this. So now we can safely<br>+     * compare BSP_output_char.<br>      */<br>-    BSP_output_char = output_char_pl011;<br>-    link(PL011, CONSOLE_DEVICE_NAME);<br>+    if (BSP_output_char == output_char_pl011) {<br>+      link(PL011, CONSOLE_DEVICE_NAME);<br>+    }else {<br>+      link(MINIUART, CONSOLE_DEVICE_NAME);<br>+    }<br>   }<br> }<br><br>-- <br>2.17.1</p></blockquote></div></blockquote></div></div></div></blockquote></div></div></blockquote></div><p class="MsoNormal" style="margin-left:0.2in">_______________________________________________<br>devel mailing list<br><a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br><a href="http://lists.rtems.org/mailman/listinfo/devel" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></p><p class="MsoNormal"><u></u> <u></u></p></div></div>
</blockquote></div></div>