linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices
       [not found] <CGME20201105114814eucas1p18d9f11c44eec68738d929ad1a0263482@eucas1p1.samsung.com>
@ 2020-11-05 11:48 ` Marek Szyprowski
  2020-11-05 13:50   ` Rob Herring
  2020-11-06  6:00   ` Jaehoon Chung
  0 siblings, 2 replies; 3+ messages in thread
From: Marek Szyprowski @ 2020-11-05 11:48 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: Marek Szyprowski, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Markus Reichl, Rob Herring, Chanwoo Choi, linux-kernel

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(+)

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;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices
  2020-11-05 11:48 ` [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices Marek Szyprowski
@ 2020-11-05 13:50   ` Rob Herring
  2020-11-06  6:00   ` Jaehoon Chung
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2020-11-05 13:50 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Krzysztof Kozlowski,
	Bartlomiej Zolnierkiewicz, Markus Reichl, Chanwoo Choi,
	linux-kernel

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
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices
  2020-11-05 11:48 ` [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices Marek Szyprowski
  2020-11-05 13:50   ` Rob Herring
@ 2020-11-06  6:00   ` Jaehoon Chung
  1 sibling, 0 replies; 3+ messages in thread
From: Jaehoon Chung @ 2020-11-06  6:00 UTC (permalink / raw)
  To: Marek Szyprowski, linux-samsung-soc
  Cc: Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz, Markus Reichl,
	Rob Herring, Chanwoo Choi, linux-kernel

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;
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-06  6:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20201105114814eucas1p18d9f11c44eec68738d929ad1a0263482@eucas1p1.samsung.com>
2020-11-05 11:48 ` [PATCH] ARM: dts: exynos: Use fixed index for the MMC devices Marek Szyprowski
2020-11-05 13:50   ` Rob Herring
2020-11-06  6:00   ` Jaehoon Chung

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).