Heiko,
On 01/06/2019 01:19 AM, Heiko Stuebner wrote: > 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...@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? When did you met this issue? I don't think printascii could not work and I never met this kind of issue. here is the difference between the two API: 136 void printch(int ch) \ 137 { \ 138 _printch(ch); \ 139 } \ 140 \ 141 void printascii(const char *str) \ 142 { \ 143 while (*str) \ 144 _printch(*str++); \ 145 } \ 146 \ Thanks, - Kever >> >>> #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 > > > > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot