[PATCH v2 09/15] gpio: rockchip: Use gpio alias id as gpio bank id

Quentin Schulz quentin.schulz at theobroma-systems.com
Thu Feb 22 10:57:17 CET 2024


Hi Jonas,

On 2/17/24 01:22, Jonas Karlman wrote:
> The U-Boot driver try to base the gpio bank id on the gpio-ranges prop
> and fall back to base the bank id on the node name. However, the linux
> driver try to base the bank id on the gpio alias id and fall back on
> node order.
> 
> This can cause issues when SoC DT is synced from linux and gpioX@ nodes
> has been renamed to gpio@ and gpio-ranges or a SoC specific alias has
> not been assigned.
> 
> Try to use the gpio alias id as first fallback when a gpio-ranges prop
> is missing to ease sync of updated SoC DT. Keep the current fallback on
> node name as a third fallback to not affect any existing unsynced DT.
> 

The gpio alias is not necessarily the same as the gpio bank in the SoC. 
But I guess if it's good enough for the Linux kernel AND the fact that 
we take our device trees from the Linux kernel, it'd be near impossible 
to have a non-working setup for upstream-supported devices. But 
considering all Rockchip SoCs in the Linux kernel have the gpio aliases 
set in the SoC.dtsi and that no board seems to be overriding them, it is 
safe to do.

There's also a possible issue with two gpio controllers using the same 
bank, e.g. if there's one using the first of the three methods, another 
the second one and another one the third one. But again considering all 
Rockchip SoCs in the Linux kernel have the gpio aliases set in the 
SoC.dtsi, this should be covered as well during the next DT sync from Linux.

Therefore,

Reviewed-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>

Thanks,
Quentin


More information about the U-Boot mailing list