[U-Boot] [U-Boot,2/3] rockchip: rk3188: add timer3 node

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Thu Apr 26 07:37:22 UTC 2018


> On 26 Apr 2018, at 09:14, Dr. Philipp Tomsich <philipp.tomsich at theobroma-systems.com> wrote:
> 
> 
>> On 26 Apr 2018, at 04:50, Kever Yang <kever.yang at rock-chips.com> wrote:
>> 
>> Hi Philipp,
>> 
>> On 04/25/2018 06:17 PM, Dr. Philipp Tomsich wrote:
>>> Kever,
>>> 
>>>> On 25 Apr 2018, at 12:04, Philipp Tomsich <philipp.tomsich at theobroma-systems.com> wrote:
>>>> 
>>>>> Add dts node for timer3.
>>>>> Because of the rockchip timer can only KNOWN "dtd_rockchip_rk3368_timer"
>>>>> with OF_PLATDATA enable, so we override its compatible to
>>>>> "rockchip,rk3368-timer".
>>>>> 
>>>>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
>>>>> ---
>>>>> 
>>>>> arch/arm/dts/rk3188-radxarock-u-boot.dtsi | 6 ++++++
>>>>> arch/arm/dts/rk3188.dtsi                  | 6 ++++++
>>>>> 2 files changed, 12 insertions(+)
>>>>> 
>>>> Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>>> This looks like a work-around that we’ll have to revert eventually.
>>> I would instead extend the driver to recognise the ‘rockchip,rk3188-timer’
>>> and ‘rockchip,rk3288-timer’ as well.
>>> 
>>> Please confirm that both these .compatible strings should also be handled
>>> by the same driver and I’ll make the change when applying this series.
>> 
>> Do you mean you want patch like this? I do not like add lots
>> #ifdef/#elif like this.
>> +++ b/drivers/timer/rockchip_timer.c
>> @@ -17,7 +17,11 @@ DECLARE_GLOBAL_DATA_PTR;
>> 
>> #if CONFIG_IS_ENABLED(OF_PLATDATA)
>> struct rockchip_timer_plat {
>> +#ifdef CONFIG_ROCKCHIP_RK3368
>>        struct dtd_rockchip_rk3368_timer dtd;
>> +#elif CONFIG_ROCKCHIP_RK3188
>> +       struct dtd_rockchip_rk3188_timer dtd;
>> +#endif
>> };
>> #endif
> 
> The OF_PLATDATA implementation is really broken in this regard: the
> only fix I can think of would be to emit "struct dtd_…” for every compatible
> listed in the DTS.

I stand corrected: the OF_PLATDATA implementation (i.e. dtoc) already
created #define entries for all aliases in the compatible-list of a DTS node.

We’ll have to clean up our DTS files and this driver in the next release
cycle and simply need to make sure that a common compatible is found
across all devices (and the driver expects that common structure name).

—Philipp.


More information about the U-Boot mailing list