[U-Boot] [PATCH v2 2/9] ARM: rockchip: rk3188: Remove the pinctrl setup and enable uart at SPL
Heiko Stuebner
heiko at sntech.de
Sat Jan 5 17:19:07 UTC 2019
Am Samstag, 5. Januar 2019, 18:17:34 CET schrieb Heiko Stuebner:
> Hi David,
>
> Am Mittwoch, 2. Januar 2019, 13:50:58 CET schrieb David Wu:
> > When the boot ROM sets up MMC we don't need to do it again. Remove the
> > MMC setup code entirely, but we also need to enable uart for debug message.
> >
> > Signed-off-by: David Wu <david.wu at rock-chips.com>
> > ---
> >
> > Changes in v2: None
> >
> > arch/arm/mach-rockchip/rk3188-board-spl.c | 41 ++---------------------
> > 1 file changed, 2 insertions(+), 39 deletions(-)
> >
> > diff --git a/arch/arm/mach-rockchip/rk3188-board-spl.c b/arch/arm/mach-rockchip/rk3188-board-spl.c
> > index 3c6c3d3c09..a5e4d39cb7 100644
> > --- a/arch/arm/mach-rockchip/rk3188-board-spl.c
> > +++ b/arch/arm/mach-rockchip/rk3188-board-spl.c
> > @@ -120,7 +120,7 @@ void board_debug_uart_init(void)
> >
> > void board_init_f(ulong dummy)
> > {
> > - struct udevice *pinctrl, *dev;
> > + struct udevice *dev;
> > int ret;
> >
> > #define EARLY_UART
> > @@ -134,10 +134,7 @@ void board_init_f(ulong dummy)
> > * printascii("string");
> > */
> > debug_uart_init();
> > - printch('s');
> > - printch('p');
> > - printch('l');
> > - printch('\n');
> > + printascii("U-Boot SPL board init");
>
> Did you test this change?
> I remember rk3188 having issues (aka hanging) when trying to print
> strings through the debug uart and only printch working at all.
> (Timer issue or so?) ... Not sure if this got fixed in the meantime?
>
> > #endif
> >
> > #ifdef CONFIG_ROCKCHIP_USB_UART
> > @@ -171,12 +168,6 @@ void board_init_f(ulong dummy)
> > return;
> > }
> >
> > - ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
> > - if (ret) {
> > - debug("Pinctrl init failed: %d\n", ret);
> > - return;
> > - }
> > -
> > ret = uclass_get_device(UCLASS_RAM, 0, &dev);
> > if (ret) {
> > debug("DRAM init failed: %d\n", ret);
> > @@ -214,7 +205,6 @@ static int setup_led(void)
> >
> > void spl_board_init(void)
> > {
> > - struct udevice *pinctrl;
> > int ret;
> >
> > ret = setup_led();
> > @@ -223,36 +213,9 @@ void spl_board_init(void)
> > hang();
> > }
> >
> > - ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
> > - if (ret) {
> > - debug("%s: Cannot find pinctrl device\n", __func__);
> > - goto err;
> > - }
> > -
> > -#ifdef CONFIG_SPL_MMC_SUPPORT
> > - ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD);
> > - if (ret) {
> > - debug("%s: Failed to set up SD card\n", __func__);
> > - goto err;
> > - }
> > -#endif
> > -
> > - /* Enable debug UART */
> > - ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG);
> > - if (ret) {
> > - debug("%s: Failed to set up console UART\n", __func__);
> > - goto err;
> > - }
> > -
>
> Hmm, I see that you're removing the uarts setup in the spl-stage,
> but where do you expect it to get setup now, in the case that
> only the regular uart but no debug uart gets setup in spl?
Ah, looking at the following patch, I guess you expect the new
pinctrl driver to set this up, right? The this looks good.
Heiko
More information about the U-Boot
mailing list