[PATCH v1] arm: dts: rockchip: sync rk3066/rk3188 DT files from linux-next v6.2-rc4

Johan Jonker jbx6244 at gmail.com
Tue Jan 17 21:08:09 CET 2023



On 1/17/23 18:27, John Keeping wrote:
> Hi Quentin,
> 
> On Tue, Jan 17, 2023 at 04:58:54PM +0100, Quentin Schulz wrote:
>> On 1/17/23 16:20, John Keeping wrote:
>>> Hi Johan,
>>>
>>> On Tue, Jan 17, 2023 at 03:44:07PM +0100, Johan Jonker wrote:
>>>> On 1/17/23 10:46, Quentin Schulz wrote:
>>>>> On 1/16/23 20:45, Johan Jonker wrote:
>>>>>> Sync rk3066/rk3188 DT files from Linux.
>>>>>> This is the state as of linux-next v6.2-rc4.
>>>>>> New nfc node for MK808 rk3066a.
>>>>>> CRU nodes now have a clock property.
>>>>>> To prefend dtoc errors a fixed clock must also be
>>>>>> included for tpl/spl in the rk3xxx-u-boot.dtsi file.
>>>>>>
>>>>>> Signed-off-by: Johan Jonker <jbx6244 at gmail.com>
>>>>>> ---
>>>>
>>>> [..]
>>>>
>>>>>> @@ -223,7 +224,7 @@
>>>>>>            #size-cells = <1>;
>>>>>>            ranges;
>>>>>>
>>>>>> -        gpio0: gpio0 at 2000a000 {
>>>>>> +        gpio0: gpio at 2000a000 {
>>>>>>                compatible = "rockchip,rk3188-gpio-bank0";
>>>>>>                reg = <0x2000a000 0x100>;
>>>>>>                interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
>>>>>> @@ -236,7 +237,7 @@
>>>>>>                #interrupt-cells = <2>;
>>>>>>            };
>>>>>>
>>>>>> -        gpio1: gpio1 at 2003c000 {
>>>>
>>>>>> +        gpio1: gpio at 2003c000 {
>>>>
>>>> Hi,
>>>>
>>>> LOL: I made that binding change on request from Linux DT maintainers.
>>>> Node names should generic.
>>>>
>>>> ===
>>>>
>>>> My full u-boot is able to boot a Linux kernel for rk3066a.
>>>> Only when I give the command below it crashes:
>>>>
>>>> gpio status -a
>>>>
>>>> Could you confirm what other parts are effected?
>>>>
>>>> If it's boots then it's good enough for me and move forward, so please merge.(Kever)
>>>>
>>>> Driver fixes for u-boot depending on Linux DT changes is already very time consuming enough!
>>>
>>> This reminded me of a patch that I never followed up with:
>>>
>>> 	https://urldefense.com/v3/__https://lore.kernel.org/u-boot/20220726162509.1304234-1-john@metanate.com/__;!!OOPJP91ZZw!lmqsst1SAzm_NO-LfRooukeMJOc5jP-Tqsm_DdWmyjnQc2VsP0D4TWJakw0qh5K-ENTe96HCtGp-MjKZtVrDM4Y8Tlg$
>>>
>>> Can you test if that fixes `gpio status -a` for you?
>>>
>>
>> That's not enough I believe. You need CONFIG_DM_SEQ_ALIAS enabled, which
>> isn't a given and we shouldn't rely on it. Also, there are currently no
>> aliases for gpio controllers. And we shouldn't rely on u-boot.dtsi for
>> those, because upstream might decide to have an alias gpio2 for gpio0 for a
>> board.
> 
> If the aliases are set up in a non-standard way, then I think changing
> the name here may be the right thing to do.
> 
> Any GPIOs referenced in the device tree will be by handle so the name is
> irrelevant.  GPIO names are only used by board code or by the `gpio`
> command, both of which are tightly tied to the device tree anyway.
> 
> If a stable name for a GPIO is needed, then the gpio-line-names DT
> property exists and is supported by Linux.  The names here are purely a
> U-Boot construction and effectively part of a "userspace" interface.
> 

> Just using dev_seq() unconditionally as Simon suggested in response to
> my patch seems like the right answer (and then there is no dependency on
> CONFIG_DM_SEQ_ALIAS although boards can require it and use aliases if
> necessary).

I tested a bit with rk3066a mk808 with number gap between 4 and 6.
That letter is not consistent F vs G in u-boot with and without aliases.

My idea is that the use of aliases is more of something of an additional thing that we not always can count on that is there.
DTOC processing for dt-plat.c only looks at the nodes it self. Finding your ID then comes from the properties inside that node.
(ie: compatible + reg or separate id property)
Others can have other better ideas of course. Let us know.

Johan

> 
> 
> John


More information about the U-Boot mailing list