[U-Boot] [PATCH v2 2/9] ARM: rockchip: rk3188: Remove the pinctrl setup and enable uart at SPL
Kever Yang
kever.yang at rock-chips.com
Tue Jan 22 08:57:40 UTC 2019
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.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?
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
>
>
>
>
>
>
More information about the U-Boot
mailing list