[PATCH] bsps/raspberrypi/console: Fix default console device

Niteesh G. S. niteesh.gs at gmail.com
Mon May 10 19:39:19 UTC 2021


Hello Gedare,

On Mon, May 10, 2021 at 8:57 PM Gedare Bloom <gedare at rtems.org> wrote:

> On Thu, May 6, 2021 at 8:49 AM Niteesh G. S. <niteesh.gs at gmail.com> wrote:
> >
> > Hi Alan,
> >
> > On Thu, May 6, 2021 at 6:12 PM Alan Cudmore <alan.cudmore at gmail.com>
> wrote:
> >>
> >> 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?
> >
> > the consoles should work on Zero W and Pi3 by default. They only fail to
> work when  CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
> > 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
> > 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
> > pl011 depending on the board.
> > Also, this patch should be applied on RTEMS 5 since we started
> supporting Pi3 and Zero w from RTEMS 5.
> >
> You'll need to provide a separate patch with a ticket to close on 5
> for a backport. Wait until you get the approval for the master branch
> though.

OK. I'll create a ticket and request for a backport once this is pushed on
to the current master

Thanks,
Niteesh.

>
> > Thanks,
> > Niteesh.
> >
> >
> >>
> >> Thanks,
> >>
> >> Alan
> >>
> >>
> >>
> >> From: Niteesh G. S.
> >> Sent: Thursday, May 6, 2021 4:29 AM
> >> To: Joel Sherrill; Christian Mauderer
> >> Cc: rtems-devel at 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.gs at gmail.com>
> wrote:
> >>
> >> On Sat, May 1, 2021 at 8:31 PM Joel Sherrill <joel at rtems.org> wrote:
> >>
> >>
> >>
> >> On Sat, May 1, 2021, 8:53 AM Niteesh G. S. <niteesh.gs at 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.gs at 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 at rtems.org
> >> http://lists.rtems.org/mailman/listinfo/devel
> >>
> >>
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210511/3d152169/attachment-0001.html>


More information about the devel mailing list