[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