[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:17:34 UTC 2019


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?

Thanks
Heiko




More information about the U-Boot mailing list