[PATCH] arm64: dts: rockchip: move rk3528 i2c+uart aliases to board files

Heiko Stübner heiko at sntech.de
Tue May 13 10:25:31 PDT 2025


Hey Jonas,

Am Sonntag, 11. Mai 2025, 13:05:08 Mitteleuropäische Sommerzeit schrieb Jonas Karlman:
> On 2025-05-11 00:01, Heiko Stuebner wrote:
> > Even though they will be the same for all boards, i2c and uart aliases
> > are supposed to live in the individual board files, to not create
> > aliases for disabled nodes.
> 
> This sounds like something tooling should be able to handle, e.g. U-Boot
> use fdtgrep to filter out nodes (and aliases) for the FDT used by early
> boot phases.
> 
> Maybe DTC just need a feature to remove aliases to disabled nodes?

personally I don't see the issue with an i2c alias pointing to a disabled
i2c controller, but it does seem to violate some dt convention.

At least people got adamant this time about the aliases moving into the
board file [0].


> Also how should overlays handle aliases? Are all overlays suppose to add
> aliases for the add-on devices they may enable?
> 
> And how should we handle boards with e.g. a 40-pin header where pins
> could be muxed to multiple functions. Is it the overlays responsibility
> to remove and replace aliases? E.g. if pins can mux between i2c1 and
> uart3, and i2c1 was enabled by default.

I guess we'll cross those bridge together with the bigger round of
dt-people when the first overlay appears ;-) .

Heiko


[0] https://lore.kernel.org/all/df6003e3-7fc3-4e50-a702-f0aa8d663dff@app.fastmail.com/

> 
> Regards,
> Jonas
> 
> > 
> > So move the newly added aliases for rk3528 over to the Radxa E20C board,
> > which is the only rk3528 board right now.
> > 
> > Fixes: d3a05f490d04 ("arm64: dts: rockchip: Add I2C controllers for RK3528")
> > Suggested-by: Arnd Bergmann <arnd at arndb.de>
> > Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> > ---
> >  .../boot/dts/rockchip/rk3528-radxa-e20c.dts      |  2 ++
> >  arch/arm64/boot/dts/rockchip/rk3528.dtsi         | 16 ----------------
> >  2 files changed, 2 insertions(+), 16 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > index 506d54337ece..9f6ccd9dd1f7 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
> > @@ -18,8 +18,10 @@ / {
> >  
> >  	aliases {
> >  		ethernet0 = &gmac1;
> > +		i2c1 = &i2c1;
> >  		mmc0 = &sdhci;
> >  		mmc1 = &sdmmc;
> > +		serial0 = &uart0;
> >  	};
> >  
> >  	chosen {
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > index cd8ef389ccf3..b2724c969a76 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > @@ -24,22 +24,6 @@ aliases {
> >  		gpio2 = &gpio2;
> >  		gpio3 = &gpio3;
> >  		gpio4 = &gpio4;
> > -		i2c0 = &i2c0;
> > -		i2c1 = &i2c1;
> > -		i2c2 = &i2c2;
> > -		i2c3 = &i2c3;
> > -		i2c4 = &i2c4;
> > -		i2c5 = &i2c5;
> > -		i2c6 = &i2c6;
> > -		i2c7 = &i2c7;
> > -		serial0 = &uart0;
> > -		serial1 = &uart1;
> > -		serial2 = &uart2;
> > -		serial3 = &uart3;
> > -		serial4 = &uart4;
> > -		serial5 = &uart5;
> > -		serial6 = &uart6;
> > -		serial7 = &uart7;
> >  	};
> >  
> >  	cpus {
> 
> 







More information about the Linux-rockchip mailing list