Message ID | 20201105114804.18326-1-m.szyprowski@samsung.com |
---|---|
State | New |
Headers | show |
Series | ARM: dts: exynos: Use fixed index for the MMC devices | expand |
On Thu, Nov 5, 2020 at 5:48 AM Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Recently introduced asynchronous probe on the MMC devices can shuffle > block IDs in the system. Pin them to values equal to the physical MMC bus > number to ease booting in environments where UUIDs are not practical. How's that going to help for existing DTs? > Use newly introduced aliases for mmcblk devices from commit fa2d0aa96941 > ("mmc: core: Allow setting slot index via device tree alias"). > > Suggested-by: Markus Reichl <m.reichl@fivetechno.de> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > arch/arm/boot/dts/exynos3250.dtsi | 3 +++ > arch/arm/boot/dts/exynos4.dtsi | 2 ++ > arch/arm/boot/dts/exynos4210.dtsi | 1 + > arch/arm/boot/dts/exynos4412.dtsi | 1 + > arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ > arch/arm/boot/dts/exynos5260.dtsi | 3 +++ > arch/arm/boot/dts/exynos5410.dtsi | 3 +++ > arch/arm/boot/dts/exynos5420.dtsi | 3 +++ > 8 files changed, 20 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi > index 75ed82600ec8..510080bb4102 100644 > --- a/arch/arm/boot/dts/exynos3250.dtsi > +++ b/arch/arm/boot/dts/exynos3250.dtsi > @@ -28,6 +28,9 @@ > aliases { > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > + mmc0 = &mshc_0; > + mmc1 = &mshc_1; > + mmc2 = &mshc_2; > mshc0 = &mshc_0; Then what's this for? Do you need multiple aliases to the same device? And pinctrl aliases are odd too and should be removed. > mshc1 = &mshc_1; > mshc2 = &mshc_2; > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index a1e54449f33f..e266f890eea4 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -45,6 +45,8 @@ > fimc1 = &fimc_1; > fimc2 = &fimc_2; > fimc3 = &fimc_3; Another odd one... > + mmc1 = &sdhci_1; > + mmc2 = &sdhci_2; > serial0 = &serial_0; > serial1 = &serial_1; > serial2 = &serial_2; > diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi > index fddc661ded28..f1d0d5959b7f 100644 > --- a/arch/arm/boot/dts/exynos4210.dtsi > +++ b/arch/arm/boot/dts/exynos4210.dtsi > @@ -23,6 +23,7 @@ > compatible = "samsung,exynos4210", "samsung,exynos4"; > > aliases { > + mmc0 = &sdhci_0; > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi > index fa8e8d6bc4d5..9fcf7383eb9d 100644 > --- a/arch/arm/boot/dts/exynos4412.dtsi > +++ b/arch/arm/boot/dts/exynos4412.dtsi > @@ -28,6 +28,7 @@ > pinctrl3 = &pinctrl_3; > fimc-lite0 = &fimc_lite_0; > fimc-lite1 = &fimc_lite_1; > + mmc0 = &mshc_0; > mshc0 = &mshc_0; > }; > > diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi > index 84677332a5a2..0a0436f92fac 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -30,6 +30,10 @@ > gsc1 = &gsc_1; > gsc2 = &gsc_2; > gsc3 = &gsc_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > + mmc3 = &mmc_3; > mshc0 = &mmc_0; > mshc1 = &mmc_1; > mshc2 = &mmc_2; > diff --git a/arch/arm/boot/dts/exynos5260.dtsi b/arch/arm/boot/dts/exynos5260.dtsi > index 973448c4ad93..64bf1d8dc33b 100644 > --- a/arch/arm/boot/dts/exynos5260.dtsi > +++ b/arch/arm/boot/dts/exynos5260.dtsi > @@ -21,6 +21,9 @@ > i2c1 = &hsi2c_1; > i2c2 = &hsi2c_2; > i2c3 = &hsi2c_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi > index 584ce62361b1..503859153769 100644 > --- a/arch/arm/boot/dts/exynos5410.dtsi > +++ b/arch/arm/boot/dts/exynos5410.dtsi > @@ -24,6 +24,9 @@ > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > pinctrl3 = &pinctrl_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > }; > > cpus { > diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi > index 23a8fd5c8a6e..3a3eadd890fb 100644 > --- a/arch/arm/boot/dts/exynos5420.dtsi > +++ b/arch/arm/boot/dts/exynos5420.dtsi > @@ -19,6 +19,9 @@ > compatible = "samsung,exynos5420", "samsung,exynos5"; > > aliases { > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > mshc0 = &mmc_0; > mshc1 = &mmc_1; > mshc2 = &mmc_2; > -- > 2.17.1 >
On 11/5/20 8:48 PM, Marek Szyprowski wrote: > Recently introduced asynchronous probe on the MMC devices can shuffle > block IDs in the system. Pin them to values equal to the physical MMC bus > number to ease booting in environments where UUIDs are not practical. > > Use newly introduced aliases for mmcblk devices from commit fa2d0aa96941 > ("mmc: core: Allow setting slot index via device tree alias"). > > Suggested-by: Markus Reichl <m.reichl@fivetechno.de> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Best Regards, Jaehoon Chung > --- > arch/arm/boot/dts/exynos3250.dtsi | 3 +++ > arch/arm/boot/dts/exynos4.dtsi | 2 ++ > arch/arm/boot/dts/exynos4210.dtsi | 1 + > arch/arm/boot/dts/exynos4412.dtsi | 1 + > arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ > arch/arm/boot/dts/exynos5260.dtsi | 3 +++ > arch/arm/boot/dts/exynos5410.dtsi | 3 +++ > arch/arm/boot/dts/exynos5420.dtsi | 3 +++ > 8 files changed, 20 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi > index 75ed82600ec8..510080bb4102 100644 > --- a/arch/arm/boot/dts/exynos3250.dtsi > +++ b/arch/arm/boot/dts/exynos3250.dtsi > @@ -28,6 +28,9 @@ > aliases { > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > + mmc0 = &mshc_0; > + mmc1 = &mshc_1; > + mmc2 = &mshc_2; > mshc0 = &mshc_0; > mshc1 = &mshc_1; > mshc2 = &mshc_2; > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index a1e54449f33f..e266f890eea4 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -45,6 +45,8 @@ > fimc1 = &fimc_1; > fimc2 = &fimc_2; > fimc3 = &fimc_3; > + mmc1 = &sdhci_1; > + mmc2 = &sdhci_2; > serial0 = &serial_0; > serial1 = &serial_1; > serial2 = &serial_2; > diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi > index fddc661ded28..f1d0d5959b7f 100644 > --- a/arch/arm/boot/dts/exynos4210.dtsi > +++ b/arch/arm/boot/dts/exynos4210.dtsi > @@ -23,6 +23,7 @@ > compatible = "samsung,exynos4210", "samsung,exynos4"; > > aliases { > + mmc0 = &sdhci_0; > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi > index fa8e8d6bc4d5..9fcf7383eb9d 100644 > --- a/arch/arm/boot/dts/exynos4412.dtsi > +++ b/arch/arm/boot/dts/exynos4412.dtsi > @@ -28,6 +28,7 @@ > pinctrl3 = &pinctrl_3; > fimc-lite0 = &fimc_lite_0; > fimc-lite1 = &fimc_lite_1; > + mmc0 = &mshc_0; > mshc0 = &mshc_0; > }; > > diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi > index 84677332a5a2..0a0436f92fac 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -30,6 +30,10 @@ > gsc1 = &gsc_1; > gsc2 = &gsc_2; > gsc3 = &gsc_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > + mmc3 = &mmc_3; > mshc0 = &mmc_0; > mshc1 = &mmc_1; > mshc2 = &mmc_2; > diff --git a/arch/arm/boot/dts/exynos5260.dtsi b/arch/arm/boot/dts/exynos5260.dtsi > index 973448c4ad93..64bf1d8dc33b 100644 > --- a/arch/arm/boot/dts/exynos5260.dtsi > +++ b/arch/arm/boot/dts/exynos5260.dtsi > @@ -21,6 +21,9 @@ > i2c1 = &hsi2c_1; > i2c2 = &hsi2c_2; > i2c3 = &hsi2c_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > pinctrl0 = &pinctrl_0; > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi > index 584ce62361b1..503859153769 100644 > --- a/arch/arm/boot/dts/exynos5410.dtsi > +++ b/arch/arm/boot/dts/exynos5410.dtsi > @@ -24,6 +24,9 @@ > pinctrl1 = &pinctrl_1; > pinctrl2 = &pinctrl_2; > pinctrl3 = &pinctrl_3; > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > }; > > cpus { > diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi > index 23a8fd5c8a6e..3a3eadd890fb 100644 > --- a/arch/arm/boot/dts/exynos5420.dtsi > +++ b/arch/arm/boot/dts/exynos5420.dtsi > @@ -19,6 +19,9 @@ > compatible = "samsung,exynos5420", "samsung,exynos5"; > > aliases { > + mmc0 = &mmc_0; > + mmc1 = &mmc_1; > + mmc2 = &mmc_2; > mshc0 = &mmc_0; > mshc1 = &mmc_1; > mshc2 = &mmc_2; >
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 75ed82600ec8..510080bb4102 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi @@ -28,6 +28,9 @@ aliases { pinctrl0 = &pinctrl_0; pinctrl1 = &pinctrl_1; + mmc0 = &mshc_0; + mmc1 = &mshc_1; + mmc2 = &mshc_2; mshc0 = &mshc_0; mshc1 = &mshc_1; mshc2 = &mshc_2; diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index a1e54449f33f..e266f890eea4 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -45,6 +45,8 @@ fimc1 = &fimc_1; fimc2 = &fimc_2; fimc3 = &fimc_3; + mmc1 = &sdhci_1; + mmc2 = &sdhci_2; serial0 = &serial_0; serial1 = &serial_1; serial2 = &serial_2; diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index fddc661ded28..f1d0d5959b7f 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi @@ -23,6 +23,7 @@ compatible = "samsung,exynos4210", "samsung,exynos4"; aliases { + mmc0 = &sdhci_0; pinctrl0 = &pinctrl_0; pinctrl1 = &pinctrl_1; pinctrl2 = &pinctrl_2; diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi index fa8e8d6bc4d5..9fcf7383eb9d 100644 --- a/arch/arm/boot/dts/exynos4412.dtsi +++ b/arch/arm/boot/dts/exynos4412.dtsi @@ -28,6 +28,7 @@ pinctrl3 = &pinctrl_3; fimc-lite0 = &fimc_lite_0; fimc-lite1 = &fimc_lite_1; + mmc0 = &mshc_0; mshc0 = &mshc_0; }; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 84677332a5a2..0a0436f92fac 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -30,6 +30,10 @@ gsc1 = &gsc_1; gsc2 = &gsc_2; gsc3 = &gsc_3; + mmc0 = &mmc_0; + mmc1 = &mmc_1; + mmc2 = &mmc_2; + mmc3 = &mmc_3; mshc0 = &mmc_0; mshc1 = &mmc_1; mshc2 = &mmc_2; diff --git a/arch/arm/boot/dts/exynos5260.dtsi b/arch/arm/boot/dts/exynos5260.dtsi index 973448c4ad93..64bf1d8dc33b 100644 --- a/arch/arm/boot/dts/exynos5260.dtsi +++ b/arch/arm/boot/dts/exynos5260.dtsi @@ -21,6 +21,9 @@ i2c1 = &hsi2c_1; i2c2 = &hsi2c_2; i2c3 = &hsi2c_3; + mmc0 = &mmc_0; + mmc1 = &mmc_1; + mmc2 = &mmc_2; pinctrl0 = &pinctrl_0; pinctrl1 = &pinctrl_1; pinctrl2 = &pinctrl_2; diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi index 584ce62361b1..503859153769 100644 --- a/arch/arm/boot/dts/exynos5410.dtsi +++ b/arch/arm/boot/dts/exynos5410.dtsi @@ -24,6 +24,9 @@ pinctrl1 = &pinctrl_1; pinctrl2 = &pinctrl_2; pinctrl3 = &pinctrl_3; + mmc0 = &mmc_0; + mmc1 = &mmc_1; + mmc2 = &mmc_2; }; cpus { diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 23a8fd5c8a6e..3a3eadd890fb 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi @@ -19,6 +19,9 @@ compatible = "samsung,exynos5420", "samsung,exynos5"; aliases { + mmc0 = &mmc_0; + mmc1 = &mmc_1; + mmc2 = &mmc_2; mshc0 = &mmc_0; mshc1 = &mmc_1; mshc2 = &mmc_2;
Recently introduced asynchronous probe on the MMC devices can shuffle block IDs in the system. Pin them to values equal to the physical MMC bus number to ease booting in environments where UUIDs are not practical. Use newly introduced aliases for mmcblk devices from commit fa2d0aa96941 ("mmc: core: Allow setting slot index via device tree alias"). Suggested-by: Markus Reichl <m.reichl@fivetechno.de> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> --- arch/arm/boot/dts/exynos3250.dtsi | 3 +++ arch/arm/boot/dts/exynos4.dtsi | 2 ++ arch/arm/boot/dts/exynos4210.dtsi | 1 + arch/arm/boot/dts/exynos4412.dtsi | 1 + arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ arch/arm/boot/dts/exynos5260.dtsi | 3 +++ arch/arm/boot/dts/exynos5410.dtsi | 3 +++ arch/arm/boot/dts/exynos5420.dtsi | 3 +++ 8 files changed, 20 insertions(+)