[U-Boot] [PATCH 2/2] rockchip: ram: rk3399: update reg map for of-platdata

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Tue Sep 12 12:36:28 UTC 2017


Kever & Simon,

> On 12 Sep 2017, at 14:30, Simon Glass <sjg at chromium.org> wrote:
> 
> Hi Kever,
> 
> On 11 September 2017 at 02:17, Kever Yang <kever.yang at rock-chips.com <mailto:kever.yang at rock-chips.com>> wrote:
>> Hi Simon,
>> 
>> 
>> On 09/08/2017 08:17 PM, Simon Glass wrote:
>>> 
>>> Hi Kever,
>>> 
>>> On 8 September 2017 at 01:34, Dr. Philipp Tomsich
>>> <philipp.tomsich at theobroma-systems.com> wrote:
>>>> 
>>>> 
>>>>> On 8 Sep 2017, at 04:46, Kever Yang <kever.yang at rock-chips.com> wrote:
>>>>> 
>>>>> Philipp,
>>>>> 
>>>>>    We already enable CONFIG_SPL_OF_CONTROL for all rk3399 board, right?
>>>> 
>>>> I meant “full OF_CONTROL” as opposed to “OF_PLATDATA” (which is dependent
>>>> of OF_CONTROL, but is intended as a stopgap measure).
>>>> 
>>>>>    For OF_PLATDATA, I would prefer there always have a  option to use
>>>>> for
>>>>> speed up the boot time, not only for ram size.
>>>> 
>>>> I had discussed that with Simon recently and he views OF_PLATDATA as a
>>>> last
>>>> resort to be used, when there is not enough memory for full OF_CONTROL.
>>> 
>>> 
>>> Can you use bootstage to measure the boot time impact?
>> 
>> 
>> I think I have do the statistics before with the timer instead of bootstage.
>> And here is the result I got with bootstage(with little change in spl to
>> move
>> secure_timer_init() before spl_early_init()):
>> 
>> The mark of end_spl:
>> With of-pladata:
>> 205952 205864 205857
>> without of-platdata:
>> 279520 279495 279508
> 
>> The difference is about 75ms.
> 
> That is enough to justify using of-platdata here.  I am not sure why
> the difference is so large though.

I have noticed that the RK3399 U-Boot code does not clock up the boot
CPU (i.e. rk3399_configure_cpu() is never called).

Could this be the reason for the large difference?

> 
>> 
>> BTW:
>> bug1: there is no timer_get_boot_us() in armv8,
>> bug2: there is something wrong with "dm_spl", it use bootstage_start() +
>> bootstage_accum()
>>         instead of bootstage_mark_name(), the "board_init_f" will replace
>> it, maybe some tag is
>>         not correct.
> 
> OK. Do you think you could send patches to fix these?

I woul prefer if we could move the timer-code away from the generic timer
and start using Rockchip-specific DM-timer drivers.  This will make the
U-Boot code independent of the initialisation of the secure-timer block…

> 
> Regards,
> Simon



More information about the U-Boot mailing list