diff mbox series

ARM: dts: exynos: Use fixed index for the MMC devices

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

Commit Message

Marek Szyprowski Nov. 5, 2020, 11:48 a.m. UTC
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(+)

Comments

Rob Herring Nov. 5, 2020, 1:50 p.m. UTC | #1
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

>
Jaehoon Chung Nov. 6, 2020, 6 a.m. UTC | #2
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 mbox series

Patch

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;