<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hello Alan,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 10, 2021 at 8:04 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">Hi Niteesh,<br>
I was able to build the current RTEMS master (raspberrypi BSP) and I<br>
was also able to successfully apply your patch and rebuild.<br>
However, I am having trouble getting RTEMS running on the Raspberry Pis I have.<br>
I tried it with and without the patch and I cannot get it to work. I<br>
tried a Raspberry Pi Zero, B+, and Zero W ( with the patch).<br>
I used these instructions for the firmware on SD card:<br>
<a href="https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#raspberrypi" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#raspberrypi</a><br>
<br>
I tried:<br>
- RTEMS master "arm/raspberrypi" BSP with and without the patch<br>
- RTEMS 5 branch "arm/raspberrypi" BSP<br>
- latest version of the RPI firmware files<br>
- an older version of the RPI firmware (from June 2016)<br>
I used the config.txt file that is recommended, but I did not have any<br>
command line options. I did not have my raspberry Pis connected to<br>
HDMI, only serial.<br>
<br>
Can you describe your setup?<br>
I know I have been through this before.<br></blockquote><div> </div><div><span class="gmail_default" style="font-size:small"><a href="https://github.com/gs-niteesh/rpi3_RTEMS">https://github.com/gs-niteesh/rpi3_RTEMS</a></span></div><div><span class="gmail_default" style="font-size:small">These are the files I have in my boot partition. Usually, I use u-boot </span>so that</div><div>I can have a tftp server setup.<span class="gmail_default" style="font-size:small"> But I am also able to load the images with</span></div><div><span class="gmail_default" style="font-size:small">RPi loader using the same files.</span></div><div><span class="gmail_default" style="font-size:small">I have some doco on how I create the images for the respective bootloader</span></div><div><span class="gmail_default" style="font-size:small">type in the INFO.txt in the repo.</span></div><div><span class="gmail_default" style="font-size:small">Also please make sure that you are up to date with the master branch. One</span></div><div><div class="gmail_default" style="font-size:small">commit broke Rpi BSP but it was later fixed.</div><div class="gmail_default" style="font-size:small">I was able to get the Hello example running using both Rpi bootloader and</div><div class="gmail_default" style="font-size:small">uboot with the latest master branch.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">For loading using u-boot I use the following commands</div><div class="gmail_default" style="font-size:small">fatload mmc 0 0x1000 bcm2710-rpi-3-b.dtb</div><div class="gmail_default" style="font-size:small">fatload mmc 0 0x200000 rtems.img</div><div class="gmail_default" style="font-size:small">bootm 0x200000 - 0x1000        <br></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><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thanks,<br>
Alan<br>
<br>
On Thu, May 6, 2021 at 10:48 AM Niteesh G. S. <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>> wrote:<br>
><br>
> Hi Alan,<br>
><br>
> On Thu, May 6, 2021 at 6:12 PM Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com" target="_blank">alan.cudmore@gmail.com</a>> wrote:<br>
>><br>
>> Hi Niteesh,<br>
>><br>
>> 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.<br>
>><br>
>> I should be able to bring up the console on a RPi Zero W and RPi3, correct?<br>
><br>
> the consoles should work on Zero W and Pi3 by default. They only fail to work when  CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER<br>
> 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<br>
> 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<br>
> pl011 depending on the board.<br>
> Also, this patch should be applied on RTEMS 5 since we started supporting Pi3 and Zero w from RTEMS 5.<br>
><br>
> Thanks,<br>
> Niteesh.<br>
><br>
><br>
>><br>
>> Thanks,<br>
>><br>
>> Alan<br>
>><br>
>><br>
>><br>
>> From: Niteesh G. S.<br>
>> Sent: Thursday, May 6, 2021 4:29 AM<br>
>> To: Joel Sherrill; Christian Mauderer<br>
>> Cc: <a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a><br>
>> Subject: Re: [PATCH] bsps/raspberrypi/console: Fix default console device<br>
>><br>
>><br>
>><br>
>> ping.<br>
>><br>
>><br>
>><br>
>> 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:<br>
>><br>
>> On Sat, May 1, 2021 at 8:31 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br>
>><br>
>><br>
>><br>
>> 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:<br>
>><br>
>> Just to provide more context,<br>
>><br>
>> When the CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER option is used<br>
>><br>
>> and no --console option is provided, the console driver defaults to PL011.<br>
>><br>
>> In raspberry pi 3 and other models whose primary UART is not PL011, we get no output.<br>
>><br>
>> This patch fixes that by linking the primary UART to the console device.<br>
>><br>
>><br>
>><br>
>> Thanks,<br>
>><br>
>> Niteesh<br>
>><br>
>><br>
>><br>
>> 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:<br>
>><br>
>> 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.<br>
>><br>
>><br>
>><br>
>> Does the default need to vary by model?<br>
>><br>
>> Yes, the primary UART is different across models.<br>
>><br>
>><br>
>><br>
>> Rpi's have two UARTs PL011 and miniuart, on models which have Bluetooth<br>
>><br>
>> the PL011 is used to talk to the Bluetooth and miniuart acts as the primary UART.<br>
>><br>
>> Now we can change this by adding miniuart-bt to config.txt but the miniuart is<br>
>><br>
>> based on the VPU core and requires to add another option which sets the core to<br>
>><br>
>> a fixed freq.<br>
>><br>
>><br>
>><br>
>> ---<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<br>
>><br>
>> _______________________________________________<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" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
>><br>
>><br>
</blockquote></div></div>