[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