[PATCH 3/4] arm64: dts: rockchip: Correct RGxx3 SDMMC ordering

Chris Morgan macromorgan at hotmail.com
Mon Mar 25 10:16:05 PDT 2024


On Mon, Mar 25, 2024 at 04:39:28PM +0100, Heiko Stübner wrote:
> Hmm,
> 
> Am Montag, 25. März 2024, 15:37:28 CET schrieb Chris Morgan:
> > From: Chris Morgan <macromorgan at hotmail.com>
> > 
> > Make the order of SDMMC predictable across the entire device lineup.
> > This allows userspace to always know that sdmmc0 is the eMMC (when
> > present), sdmmc1 is always the first sd card slot, sdmmc2 is always
> > the 2nd sd card slot (when present), and sdmmc3 is always the wifi
> > (when present).
> > 
> > Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
> 
> this is really really difficult.
> 
> For example, you added the rg353p, rk503 nad rg353vs and their aliases
> two years ago for 6.1 , the rg353ps for 6.5.  So someone might actually
> rely on those already in their userspace setup.
> 
> So reorganizing the aliases to point to different devices might actually
> break userspace, which as you might know, is sort of a big deal ;-) .
> 
> Userspace programs can determine the mmc mapping via the board-compatible
> though.

Okay, then this might need to be disregarded. Perhaps at a minimum we can
set the WiFi device to be mmc3 at least for a consistent basis. That was
the main driver of this request and shouldn't be a major concern for
userspace. Would that work?

Thank you.

> 
> 
> Heiko
> 
> > ---
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-d.dts | 7 -------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-s.dts | 6 ------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts   | 7 -------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts  | 6 ------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts   | 7 -------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts  | 6 ------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts    | 6 ------
> >  arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi   | 7 +++++++
> >  8 files changed, 7 insertions(+), 45 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-d.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-d.dts
> > index ab83e8a61615..d239a8452957 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-d.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-d.dts
> > @@ -10,13 +10,6 @@
> >  / {
> >  	model = "Anbernic RG ARC-D";
> >  	compatible = "anbernic,rg-arc-d", "rockchip,rk3566";
> > -
> > -	aliases {
> > -		mmc0 = &sdhci;
> > -		mmc1 = &sdmmc0;
> > -		mmc2 = &sdmmc1;
> > -		mmc3 = &sdmmc2;
> > -	};
> >  };
> >  
> >  &i2c2 {
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-s.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-s.dts
> > index 6264a8c78d0b..4bb13d94a759 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-s.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc-s.dts
> > @@ -10,10 +10,4 @@
> >  / {
> >  	model = "Anbernic RG ARC-S";
> >  	compatible = "anbernic,rg-arc-s", "rockchip,rk3566";
> > -
> > -	aliases {
> > -		mmc1 = &sdmmc0;
> > -		mmc2 = &sdmmc1;
> > -		mmc3 = &sdmmc2;
> > -	};
> >  };
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts
> > index 8aa93c646bec..94c678c44d3a 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts
> > @@ -11,13 +11,6 @@ / {
> >  	model = "RG353P";
> >  	compatible = "anbernic,rg353p", "rockchip,rk3566";
> >  
> > -	aliases {
> > -		mmc0 = &sdhci;
> > -		mmc1 = &sdmmc0;
> > -		mmc2 = &sdmmc1;
> > -		mmc3 = &sdmmc2;
> > -	};
> > -
> >  	battery: battery {
> >  		compatible = "simple-battery";
> >  		charge-full-design-microamp-hours = <3472000>;
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts
> > index b211973e36c2..25edd81ce26b 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts
> > @@ -11,12 +11,6 @@ / {
> >  	model = "RG353PS";
> >  	compatible = "anbernic,rg353ps", "rockchip,rk3566";
> >  
> > -	aliases {
> > -		mmc0 = &sdmmc0;
> > -		mmc1 = &sdmmc1;
> > -		mmc2 = &sdmmc2;
> > -	};
> > -
> >  	battery: battery {
> >  		compatible = "simple-battery";
> >  		charge-full-design-microamp-hours = <3472000>;
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts
> > index f49ce29ba597..5354c5958df2 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts
> > @@ -11,13 +11,6 @@ / {
> >  	model = "RG353V";
> >  	compatible = "anbernic,rg353v", "rockchip,rk3566";
> >  
> > -	aliases {
> > -		mmc0 = &sdhci;
> > -		mmc1 = &sdmmc0;
> > -		mmc2 = &sdmmc1;
> > -		mmc3 = &sdmmc2;
> > -	};
> > -
> >  	battery: battery {
> >  		compatible = "simple-battery";
> >  		charge-full-design-microamp-hours = <3151000>;
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts
> > index a7dc462fe21f..02653b59f6c2 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts
> > @@ -11,12 +11,6 @@ / {
> >  	model = "RG353VS";
> >  	compatible = "anbernic,rg353vs", "rockchip,rk3566";
> >  
> > -	aliases {
> > -		mmc0 = &sdmmc0;
> > -		mmc1 = &sdmmc1;
> > -		mmc2 = &sdmmc2;
> > -	};
> > -
> >  	battery: battery {
> >  		compatible = "simple-battery";
> >  		charge-full-design-microamp-hours = <3151000>;
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts
> > index 94e6dd61a2db..e7161a86a9f1 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts
> > @@ -11,12 +11,6 @@ / {
> >  	model = "RG503";
> >  	compatible = "anbernic,rg503", "rockchip,rk3566";
> >  
> > -	aliases {
> > -		mmc0 = &sdmmc0;
> > -		mmc1 = &sdmmc1;
> > -		mmc2 = &sdmmc2;
> > -	};
> > -
> >  	adc-joystick {
> >  		compatible = "adc-joystick";
> >  		io-channels = <&adc_mux 0>,
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
> > index 233eade30f21..47c8fdc7c843 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
> > @@ -12,6 +12,13 @@
> >  / {
> >  	chassis-type = "handset";
> >  
> > +	aliases {
> > +		mmc0 = &sdhci;
> > +		mmc1 = &sdmmc0;
> > +		mmc2 = &sdmmc1;
> > +		mmc3 = &sdmmc2;
> > +	};
> > +
> >  	chosen: chosen {
> >  		stdout-path = "serial2:1500000n8";
> >  	};
> > 
> 
> 
> 
> 



More information about the Linux-rockchip mailing list