diff mbox series

[v2,2/2] ARM: dts: exynos: add mmc aliases

Message ID 20230128133151.29471-3-henrik@grimler.se (mailing list archive)
State New, archived
Headers show
Series ARM: dts: add mmc aliases for Exynos devices | expand

Commit Message

Henrik Grimler Jan. 28, 2023, 1:31 p.m. UTC
Add aliases for eMMC, SD card and WiFi where applicable, so that
assigned mmcblk numbers are always the same.

Co-developed-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
[ Tested on exynos5800-peach-pi ]
Tested-by: Valentine Iourine <iourine@iourine.msk.su>
Signed-off-by: Henrik Grimler <henrik@grimler.se>
---
 arch/arm/boot/dts/exynos3250-artik5-eval.dts        | 5 +++++
 arch/arm/boot/dts/exynos3250-artik5.dtsi            | 5 +++++
 arch/arm/boot/dts/exynos3250-monk.dts               | 1 +
 arch/arm/boot/dts/exynos3250-rinato.dts             | 2 ++
 arch/arm/boot/dts/exynos4210-i9100.dts              | 6 ++++++
 arch/arm/boot/dts/exynos4210-origen.dts             | 5 +++++
 arch/arm/boot/dts/exynos4210-smdkv310.dts           | 4 ++++
 arch/arm/boot/dts/exynos4210-trats.dts              | 6 ++++++
 arch/arm/boot/dts/exynos4210-universal_c210.dts     | 6 ++++++
 arch/arm/boot/dts/exynos4412-itop-elite.dts         | 5 +++++
 arch/arm/boot/dts/exynos4412-midas.dtsi             | 3 +++
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi     | 5 +++++
 arch/arm/boot/dts/exynos4412-origen.dts             | 5 +++++
 arch/arm/boot/dts/exynos4412-p4note.dtsi            | 6 ++++++
 arch/arm/boot/dts/exynos4412-smdk4412.dts           | 4 ++++
 arch/arm/boot/dts/exynos4412-tiny4412.dts           | 4 ++++
 arch/arm/boot/dts/exynos5250-arndale.dts            | 5 +++++
 arch/arm/boot/dts/exynos5250-smdk5250.dts           | 2 ++
 arch/arm/boot/dts/exynos5250-snow-common.dtsi       | 3 +++
 arch/arm/boot/dts/exynos5250-spring.dts             | 5 +++++
 arch/arm/boot/dts/exynos5260-xyref5260.dts          | 5 +++++
 arch/arm/boot/dts/exynos5410-odroidxu.dts           | 2 ++
 arch/arm/boot/dts/exynos5410-smdk5410.dts           | 5 +++++
 arch/arm/boot/dts/exynos5420-arndale-octa.dts       | 5 +++++
 arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi | 5 +++++
 arch/arm/boot/dts/exynos5420-peach-pit.dts          | 3 +++
 arch/arm/boot/dts/exynos5420-smdk5420.dts           | 5 +++++
 arch/arm/boot/dts/exynos5422-odroid-core.dtsi       | 5 +++++
 arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi  | 4 ++++
 arch/arm/boot/dts/exynos5422-samsung-k3g.dts        | 4 ++++
 arch/arm/boot/dts/exynos5800-peach-pi.dts           | 3 +++
 31 files changed, 133 insertions(+)

Comments

Marek Szyprowski Jan. 30, 2023, 1:28 p.m. UTC | #1
On 28.01.2023 14:31, Henrik Grimler wrote:
> Add aliases for eMMC, SD card and WiFi where applicable, so that
> assigned mmcblk numbers are always the same.
>
> Co-developed-by: Anton Bambura <jenneron@protonmail.com>
> Signed-off-by: Anton Bambura <jenneron@protonmail.com>
> [ Tested on exynos5800-peach-pi ]
> Tested-by: Valentine Iourine <iourine@iourine.msk.su>
> Signed-off-by: Henrik Grimler <henrik@grimler.se>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   arch/arm/boot/dts/exynos3250-artik5-eval.dts        | 5 +++++
>   arch/arm/boot/dts/exynos3250-artik5.dtsi            | 5 +++++
>   arch/arm/boot/dts/exynos3250-monk.dts               | 1 +
>   arch/arm/boot/dts/exynos3250-rinato.dts             | 2 ++
>   arch/arm/boot/dts/exynos4210-i9100.dts              | 6 ++++++
>   arch/arm/boot/dts/exynos4210-origen.dts             | 5 +++++
>   arch/arm/boot/dts/exynos4210-smdkv310.dts           | 4 ++++
>   arch/arm/boot/dts/exynos4210-trats.dts              | 6 ++++++
>   arch/arm/boot/dts/exynos4210-universal_c210.dts     | 6 ++++++
>   arch/arm/boot/dts/exynos4412-itop-elite.dts         | 5 +++++
>   arch/arm/boot/dts/exynos4412-midas.dtsi             | 3 +++
>   arch/arm/boot/dts/exynos4412-odroid-common.dtsi     | 5 +++++
>   arch/arm/boot/dts/exynos4412-origen.dts             | 5 +++++
>   arch/arm/boot/dts/exynos4412-p4note.dtsi            | 6 ++++++
>   arch/arm/boot/dts/exynos4412-smdk4412.dts           | 4 ++++
>   arch/arm/boot/dts/exynos4412-tiny4412.dts           | 4 ++++
>   arch/arm/boot/dts/exynos5250-arndale.dts            | 5 +++++
>   arch/arm/boot/dts/exynos5250-smdk5250.dts           | 2 ++
>   arch/arm/boot/dts/exynos5250-snow-common.dtsi       | 3 +++
>   arch/arm/boot/dts/exynos5250-spring.dts             | 5 +++++
>   arch/arm/boot/dts/exynos5260-xyref5260.dts          | 5 +++++
>   arch/arm/boot/dts/exynos5410-odroidxu.dts           | 2 ++
>   arch/arm/boot/dts/exynos5410-smdk5410.dts           | 5 +++++
>   arch/arm/boot/dts/exynos5420-arndale-octa.dts       | 5 +++++
>   arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi | 5 +++++
>   arch/arm/boot/dts/exynos5420-peach-pit.dts          | 3 +++
>   arch/arm/boot/dts/exynos5420-smdk5420.dts           | 5 +++++
>   arch/arm/boot/dts/exynos5422-odroid-core.dtsi       | 5 +++++
>   arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi  | 4 ++++
>   arch/arm/boot/dts/exynos5422-samsung-k3g.dts        | 4 ++++
>   arch/arm/boot/dts/exynos5800-peach-pi.dts           | 3 +++
>   31 files changed, 133 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos3250-artik5-eval.dts b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> index a1e22f630638..83266a66124b 100644
> --- a/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> +++ b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> @@ -16,6 +16,11 @@ / {
>   	model = "Samsung ARTIK5 evaluation board";
>   	compatible = "samsung,artik5-eval", "samsung,artik5",
>   			"samsung,exynos3250", "samsung,exynos3";
> +
> +	aliases {
> +		mmc2 = &mshc_2;
> +	};
> +
>   };
>   
>   &mshc_2 {
> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> index 0ac3f284fbb8..a6e2f46917a8 100644
> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> @@ -17,6 +17,11 @@
>   / {
>   	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
>   
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc1 = &mshc_1;
> +	};
> +
>   	chosen {
>   		stdout-path = &serial_2;
>   	};
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> index 80d90fe7fad1..a68e5f81404c 100644
> --- a/arch/arm/boot/dts/exynos3250-monk.dts
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -22,6 +22,7 @@ / {
>   
>   	aliases {
>   		i2c7 = &i2c_max77836;
> +		mmc0 = &mshc_0;
>   	};
>   
>   	memory@40000000 {
> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
> index 1f9cba0607e1..f0fb6890e4a8 100644
> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
> @@ -23,6 +23,8 @@ / {
>   
>   	aliases {
>   		i2c7 = &i2c_max77836;
> +		mmc0 = &mshc_0;
> +		mmc1 = &mshc_1;
>   	};
>   
>   	chosen {
> diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
> index bba85011ecc9..7051e2c4b391 100644
> --- a/arch/arm/boot/dts/exynos4210-i9100.dts
> +++ b/arch/arm/boot/dts/exynos4210-i9100.dts
> @@ -25,6 +25,12 @@ memory@40000000 {
>   		reg = <0x40000000 0x40000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &sdhci_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts
> index 5f37b751f700..41c73ee0d556 100644
> --- a/arch/arm/boot/dts/exynos4210-origen.dts
> +++ b/arch/arm/boot/dts/exynos4210-origen.dts
> @@ -30,6 +30,11 @@ memory@40000000 {
>   		       0x70000000 0x10000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &sdhci_0;
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
>   		stdout-path = "serial2:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> index a5dfd7fd49b3..2b8141f2912e 100644
> --- a/arch/arm/boot/dts/exynos4210-smdkv310.dts
> +++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> @@ -25,6 +25,10 @@ memory@40000000 {
>   		reg = <0x40000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
>   		stdout-path = "serial1:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
> index b8e9dd23fc51..b6b0c116016c 100644
> --- a/arch/arm/boot/dts/exynos4210-trats.dts
> +++ b/arch/arm/boot/dts/exynos4210-trats.dts
> @@ -26,6 +26,12 @@ memory@40000000 {
>   			0x70000000 0x10000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &sdhci_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
>   		stdout-path = "serial2:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts
> index 62bf335d5bed..2135a6843511 100644
> --- a/arch/arm/boot/dts/exynos4210-universal_c210.dts
> +++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts
> @@ -24,6 +24,12 @@ memory@40000000 {
>   			0x50000000 0x10000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &sdhci_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
>   		stdout-path = "serial2:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> index b596e997e451..c0132e537663 100644
> --- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -20,6 +20,11 @@ / {
>   	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
>   	compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
>   
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootdelay=1 rootwait";
>   		stdout-path = "serial2:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
> index d5074fa57142..56382bb07939 100644
> --- a/arch/arm/boot/dts/exynos4412-midas.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
> @@ -25,6 +25,9 @@ / {
>   	aliases {
>   		i2c11 = &i2c_max77693;
>   		i2c12 = &i2c_max77693_fuel;
> +		mmc0 = &mshc_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;
>   	};
>   
>   	chosen {
> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> index 7c2780d3e37c..4bfbe960be43 100644
> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> @@ -13,6 +13,11 @@
>   #include "exynos-mfc-reserved-memory.dtsi"
>   
>   / {
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		stdout-path = &serial_1;
>   	};
> diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
> index ea9fd284386d..2e25415aa2d4 100644
> --- a/arch/arm/boot/dts/exynos4412-origen.dts
> +++ b/arch/arm/boot/dts/exynos4412-origen.dts
> @@ -25,6 +25,11 @@ memory@40000000 {
>   		reg = <0x40000000 0x40000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/exynos4412-p4note.dtsi
> index 3e05a49f29ff..a21440062b1e 100644
> --- a/arch/arm/boot/dts/exynos4412-p4note.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi
> @@ -26,6 +26,12 @@ memory@40000000 {
>   		reg = <0x40000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;
> +	};
> +
>   	chosen {
>   		stdout-path = &serial_2;
>   	};
> diff --git a/arch/arm/boot/dts/exynos4412-smdk4412.dts b/arch/arm/boot/dts/exynos4412-smdk4412.dts
> index a40ff394977c..6296a5a06630 100644
> --- a/arch/arm/boot/dts/exynos4412-smdk4412.dts
> +++ b/arch/arm/boot/dts/exynos4412-smdk4412.dts
> @@ -22,6 +22,10 @@ memory@40000000 {
>   		reg = <0x40000000 0x40000000>;
>   	};
>   
> +	aliases {
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
>   		stdout-path = "serial1:115200n8";
> diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> index e0b6162d2e2a..e010b75a9d49 100644
> --- a/arch/arm/boot/dts/exynos4412-tiny4412.dts
> +++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> @@ -17,6 +17,10 @@ / {
>   	model = "FriendlyARM TINY4412 board based on Exynos4412";
>   	compatible = "friendlyarm,tiny4412", "samsung,exynos4412", "samsung,exynos4";
>   
> +	aliases {
> +		mmc2 = &sdhci_2;
> +	};
> +
>   	chosen {
>   		stdout-path = &serial_0;
>   	};
> diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
> index 71c0e87d3a1d..3ef04e59939e 100644
> --- a/arch/arm/boot/dts/exynos5250-arndale.dts
> +++ b/arch/arm/boot/dts/exynos5250-arndale.dts
> @@ -23,6 +23,11 @@ memory@40000000 {
>   		reg = <0x40000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index 71293749ac48..e8087d7d6305 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> @@ -17,6 +17,8 @@ / {
>   	compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5";
>   
>   	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
>   	};
>   
>   	memory@40000000 {
> diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
> index 3d84b9c6dea3..cdf1ebff11db 100644
> --- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
> @@ -15,6 +15,9 @@
>   / {
>   	aliases {
>   		i2c104 = &i2c_104;
> +		mmc0 = &mmc_0; /* eMMC */
> +		mmc1 = &mmc_2; /* SD */
> +		mmc2 = &mmc_3; /* WiFi */
>   	};
>   
>   	memory@40000000 {
> diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
> index 5eca10ecd550..96050fea93f8 100644
> --- a/arch/arm/boot/dts/exynos5250-spring.dts
> +++ b/arch/arm/boot/dts/exynos5250-spring.dts
> @@ -23,6 +23,11 @@ memory@40000000 {
>   		reg = <0x40000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc1 = &mmc_1;
> +	};
> +
>   	chosen {
>   		bootargs = "console=tty1";
>   		stdout-path = "serial3:115200n8";
> diff --git a/arch/arm/boot/dts/exynos5260-xyref5260.dts b/arch/arm/boot/dts/exynos5260-xyref5260.dts
> index 387b8494f18f..1e2f6af6d311 100644
> --- a/arch/arm/boot/dts/exynos5260-xyref5260.dts
> +++ b/arch/arm/boot/dts/exynos5260-xyref5260.dts
> @@ -18,6 +18,11 @@ memory@20000000 {
>   		reg = <0x20000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> index 232561620da2..f495514d88b3 100644
> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> @@ -21,6 +21,8 @@ / {
>   
>   	aliases {
>   		ethernet = &ethernet;
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
>   	};
>   
>   	memory@40000000 {
> diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
> index b8f953c41c73..1d3d220f3fcc 100644
> --- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
> +++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
> @@ -18,6 +18,11 @@ memory@40000000 {
>   		reg = <0x40000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> index 55b7759682a9..54398db244ad 100644
> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> @@ -23,6 +23,11 @@ memory@20000000 {
>   		reg = <0x20000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial3:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi b/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
> index 63675fe189cd..18874125ac64 100644
> --- a/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
> @@ -28,6 +28,11 @@ / {
>   	 * for more details.
>   	 */
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> index 9e2123470cad..8b2bbeb7f64f 100644
> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> @@ -31,6 +31,9 @@ / {
>   	aliases {
>   		/* Assign 20 so we don't get confused w/ builtin ones */
>   		i2c20 = &i2c_tunnel;
> +		mmc0 = &mmc_0; /* eMMC */
> +		mmc1 = &mmc_2; /* uSD */
> +		mmc2 = &mmc_1; /* WiFi */
>   	};
>   
>   	backlight: backlight {
> diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> index 4d7b6d9008a7..134ed8931ba7 100644
> --- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
> +++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> @@ -21,6 +21,11 @@ memory@20000000 {
>   		reg = <0x20000000 0x80000000>;
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +		mmc2 = &mmc_2;
> +	};
> +
>   	chosen {
>   		bootargs = "init=/linuxrc";
>   		stdout-path = "serial2:115200n8";
> diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> index 30fc677d8bac..9f2ec636436e 100644
> --- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> +++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> @@ -19,6 +19,11 @@ memory@40000000 {
>   		reg = <0x40000000 0x7ea00000>;
>   	};
>   
> +	aliases {
> +		mmc2 = &mmc_2;
> +	};
> +
> +
>   	chosen {
>   		stdout-path = "serial2:115200n8";
>   	};
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> index a6961ff24030..55fd2b94be3f 100644
> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> @@ -13,6 +13,10 @@
>   #include "exynos5422-odroid-core.dtsi"
>   
>   / {
> +	aliases {
> +		mmc0 = &mmc_0;
> +	};
> +
>   	gpio-keys {
>   		compatible = "gpio-keys";
>   		pinctrl-names = "default";
> diff --git a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
> index df41723d56d4..4a0c8f29ccbc 100644
> --- a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
> +++ b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
> @@ -24,6 +24,10 @@ memory@20000000 {
>   		reg = <0x20000000 0x80000000>; /* 2 GiB */
>   	};
>   
> +	aliases {
> +		mmc0 = &mmc_0;
> +	};
> +
>   	fixed-rate-clocks {
>   		oscclk {
>   			compatible = "samsung,exynos5420-oscclk";
> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> index 0ebcb66c6319..50e9e884c51f 100644
> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> @@ -29,6 +29,9 @@ / {
>   	aliases {
>   		/* Assign 20 so we don't get confused w/ builtin ones */
>   		i2c20 = &i2c_tunnel;
> +		mmc0 = &mmc_0; /* eMMC */
> +		mmc1 = &mmc_2; /* SD */
> +		mmc2 = &mmc_1; /* WiFi */
>   	};
>   
>   	backlight: backlight {

Best regards
Krzysztof Kozlowski Feb. 9, 2023, 2:23 p.m. UTC | #2
On 28/01/2023 14:31, Henrik Grimler wrote:
> Add aliases for eMMC, SD card and WiFi where applicable, so that
> assigned mmcblk numbers are always the same.
> 
> Co-developed-by: Anton Bambura <jenneron@protonmail.com>
> Signed-off-by: Anton Bambura <jenneron@protonmail.com>
> [ Tested on exynos5800-peach-pi ]
> Tested-by: Valentine Iourine <iourine@iourine.msk.su>
> Signed-off-by: Henrik Grimler <henrik@grimler.se>
> ---
>  arch/arm/boot/dts/exynos3250-artik5-eval.dts        | 5 +++++
>  arch/arm/boot/dts/exynos3250-artik5.dtsi            | 5 +++++
>  arch/arm/boot/dts/exynos3250-monk.dts               | 1 +
>  arch/arm/boot/dts/exynos3250-rinato.dts             | 2 ++
>  arch/arm/boot/dts/exynos4210-i9100.dts              | 6 ++++++
>  arch/arm/boot/dts/exynos4210-origen.dts             | 5 +++++
>  arch/arm/boot/dts/exynos4210-smdkv310.dts           | 4 ++++
>  arch/arm/boot/dts/exynos4210-trats.dts              | 6 ++++++
>  arch/arm/boot/dts/exynos4210-universal_c210.dts     | 6 ++++++
>  arch/arm/boot/dts/exynos4412-itop-elite.dts         | 5 +++++
>  arch/arm/boot/dts/exynos4412-midas.dtsi             | 3 +++
>  arch/arm/boot/dts/exynos4412-odroid-common.dtsi     | 5 +++++
>  arch/arm/boot/dts/exynos4412-origen.dts             | 5 +++++
>  arch/arm/boot/dts/exynos4412-p4note.dtsi            | 6 ++++++
>  arch/arm/boot/dts/exynos4412-smdk4412.dts           | 4 ++++
>  arch/arm/boot/dts/exynos4412-tiny4412.dts           | 4 ++++
>  arch/arm/boot/dts/exynos5250-arndale.dts            | 5 +++++
>  arch/arm/boot/dts/exynos5250-smdk5250.dts           | 2 ++
>  arch/arm/boot/dts/exynos5250-snow-common.dtsi       | 3 +++
>  arch/arm/boot/dts/exynos5250-spring.dts             | 5 +++++
>  arch/arm/boot/dts/exynos5260-xyref5260.dts          | 5 +++++
>  arch/arm/boot/dts/exynos5410-odroidxu.dts           | 2 ++
>  arch/arm/boot/dts/exynos5410-smdk5410.dts           | 5 +++++
>  arch/arm/boot/dts/exynos5420-arndale-octa.dts       | 5 +++++
>  arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi | 5 +++++
>  arch/arm/boot/dts/exynos5420-peach-pit.dts          | 3 +++
>  arch/arm/boot/dts/exynos5420-smdk5420.dts           | 5 +++++
>  arch/arm/boot/dts/exynos5422-odroid-core.dtsi       | 5 +++++
>  arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi  | 4 ++++
>  arch/arm/boot/dts/exynos5422-samsung-k3g.dts        | 4 ++++
>  arch/arm/boot/dts/exynos5800-peach-pi.dts           | 3 +++
>  31 files changed, 133 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos3250-artik5-eval.dts b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> index a1e22f630638..83266a66124b 100644
> --- a/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> +++ b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
> @@ -16,6 +16,11 @@ / {
>  	model = "Samsung ARTIK5 evaluation board";
>  	compatible = "samsung,artik5-eval", "samsung,artik5",
>  			"samsung,exynos3250", "samsung,exynos3";
> +
> +	aliases {
> +		mmc2 = &mshc_2;
> +	};
> +
>  };
>  
>  &mshc_2 {
> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> index 0ac3f284fbb8..a6e2f46917a8 100644
> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> @@ -17,6 +17,11 @@
>  / {
>  	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
>  
> +	aliases {
> +		mmc0 = &mshc_0;
> +		mmc1 = &mshc_1;
> +	};
> +
>  	chosen {
>  		stdout-path = &serial_2;
>  	};
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> index 80d90fe7fad1..a68e5f81404c 100644
> --- a/arch/arm/boot/dts/exynos3250-monk.dts
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -22,6 +22,7 @@ / {
>  
>  	aliases {
>  		i2c7 = &i2c_max77836;
> +		mmc0 = &mshc_0;
>  	};
>  
>  	memory@40000000 {
> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
> index 1f9cba0607e1..f0fb6890e4a8 100644
> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
> @@ -23,6 +23,8 @@ / {
>  
>  	aliases {
>  		i2c7 = &i2c_max77836;
> +		mmc0 = &mshc_0;
> +		mmc1 = &mshc_1;
>  	};
>  
>  	chosen {
> diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
> index bba85011ecc9..7051e2c4b391 100644
> --- a/arch/arm/boot/dts/exynos4210-i9100.dts
> +++ b/arch/arm/boot/dts/exynos4210-i9100.dts
> @@ -25,6 +25,12 @@ memory@40000000 {
>  		reg = <0x40000000 0x40000000>;
>  	};
>  
> +	aliases {
> +		mmc0 = &sdhci_0;
> +		mmc2 = &sdhci_2;
> +		mmc3 = &sdhci_3;

1. Is this actually correct? Since mmc1 was disabled, sdhci_2 had mmc1
index but now will have mmc2.

2. I tested Odroid U3 and the ID changed. emmc went from 1 to 0. Any
idea why? Both patches should be transparent.

3. Patchset does not look bisectable, so both patches should be squashed.

4. Your patch has several whitespace issues:
patch:264: trailing whitespace.

patch:279: trailing whitespace.

patch:461: trailing whitespace.



Best regards,
Krzysztof
Marek Szyprowski Feb. 9, 2023, 2:50 p.m. UTC | #3
On 09.02.2023 15:23, Krzysztof Kozlowski wrote:
> On 28/01/2023 14:31, Henrik Grimler wrote:
>> Add aliases for eMMC, SD card and WiFi where applicable, so that
>> assigned mmcblk numbers are always the same.
>>
>> Co-developed-by: Anton Bambura <jenneron@protonmail.com>
>> Signed-off-by: Anton Bambura <jenneron@protonmail.com>
>> [ Tested on exynos5800-peach-pi ]
>> Tested-by: Valentine Iourine <iourine@iourine.msk.su>
>> Signed-off-by: Henrik Grimler <henrik@grimler.se>
>> ---
>>   arch/arm/boot/dts/exynos3250-artik5-eval.dts        | 5 +++++
>>   arch/arm/boot/dts/exynos3250-artik5.dtsi            | 5 +++++
>>   arch/arm/boot/dts/exynos3250-monk.dts               | 1 +
>>   arch/arm/boot/dts/exynos3250-rinato.dts             | 2 ++
>>   arch/arm/boot/dts/exynos4210-i9100.dts              | 6 ++++++
>>   arch/arm/boot/dts/exynos4210-origen.dts             | 5 +++++
>>   arch/arm/boot/dts/exynos4210-smdkv310.dts           | 4 ++++
>>   arch/arm/boot/dts/exynos4210-trats.dts              | 6 ++++++
>>   arch/arm/boot/dts/exynos4210-universal_c210.dts     | 6 ++++++
>>   arch/arm/boot/dts/exynos4412-itop-elite.dts         | 5 +++++
>>   arch/arm/boot/dts/exynos4412-midas.dtsi             | 3 +++
>>   arch/arm/boot/dts/exynos4412-odroid-common.dtsi     | 5 +++++
>>   arch/arm/boot/dts/exynos4412-origen.dts             | 5 +++++
>>   arch/arm/boot/dts/exynos4412-p4note.dtsi            | 6 ++++++
>>   arch/arm/boot/dts/exynos4412-smdk4412.dts           | 4 ++++
>>   arch/arm/boot/dts/exynos4412-tiny4412.dts           | 4 ++++
>>   arch/arm/boot/dts/exynos5250-arndale.dts            | 5 +++++
>>   arch/arm/boot/dts/exynos5250-smdk5250.dts           | 2 ++
>>   arch/arm/boot/dts/exynos5250-snow-common.dtsi       | 3 +++
>>   arch/arm/boot/dts/exynos5250-spring.dts             | 5 +++++
>>   arch/arm/boot/dts/exynos5260-xyref5260.dts          | 5 +++++
>>   arch/arm/boot/dts/exynos5410-odroidxu.dts           | 2 ++
>>   arch/arm/boot/dts/exynos5410-smdk5410.dts           | 5 +++++
>>   arch/arm/boot/dts/exynos5420-arndale-octa.dts       | 5 +++++
>>   arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi | 5 +++++
>>   arch/arm/boot/dts/exynos5420-peach-pit.dts          | 3 +++
>>   arch/arm/boot/dts/exynos5420-smdk5420.dts           | 5 +++++
>>   arch/arm/boot/dts/exynos5422-odroid-core.dtsi       | 5 +++++
>>   arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi  | 4 ++++
>>   arch/arm/boot/dts/exynos5422-samsung-k3g.dts        | 4 ++++
>>   arch/arm/boot/dts/exynos5800-peach-pi.dts           | 3 +++
>>   31 files changed, 133 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos3250-artik5-eval.dts b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>> index a1e22f630638..83266a66124b 100644
>> --- a/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>> +++ b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>> @@ -16,6 +16,11 @@ / {
>>   	model = "Samsung ARTIK5 evaluation board";
>>   	compatible = "samsung,artik5-eval", "samsung,artik5",
>>   			"samsung,exynos3250", "samsung,exynos3";
>> +
>> +	aliases {
>> +		mmc2 = &mshc_2;
>> +	};
>> +
>>   };
>>   
>>   &mshc_2 {
>> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> index 0ac3f284fbb8..a6e2f46917a8 100644
>> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> @@ -17,6 +17,11 @@
>>   / {
>>   	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
>>   
>> +	aliases {
>> +		mmc0 = &mshc_0;
>> +		mmc1 = &mshc_1;
>> +	};
>> +
>>   	chosen {
>>   		stdout-path = &serial_2;
>>   	};
>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>> index 80d90fe7fad1..a68e5f81404c 100644
>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>> @@ -22,6 +22,7 @@ / {
>>   
>>   	aliases {
>>   		i2c7 = &i2c_max77836;
>> +		mmc0 = &mshc_0;
>>   	};
>>   
>>   	memory@40000000 {
>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>> index 1f9cba0607e1..f0fb6890e4a8 100644
>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>> @@ -23,6 +23,8 @@ / {
>>   
>>   	aliases {
>>   		i2c7 = &i2c_max77836;
>> +		mmc0 = &mshc_0;
>> +		mmc1 = &mshc_1;
>>   	};
>>   
>>   	chosen {
>> diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
>> index bba85011ecc9..7051e2c4b391 100644
>> --- a/arch/arm/boot/dts/exynos4210-i9100.dts
>> +++ b/arch/arm/boot/dts/exynos4210-i9100.dts
>> @@ -25,6 +25,12 @@ memory@40000000 {
>>   		reg = <0x40000000 0x40000000>;
>>   	};
>>   
>> +	aliases {
>> +		mmc0 = &sdhci_0;
>> +		mmc2 = &sdhci_2;
>> +		mmc3 = &sdhci_3;
> 1. Is this actually correct? Since mmc1 was disabled, sdhci_2 had mmc1
> index but now will have mmc2.
>
> 2. I tested Odroid U3 and the ID changed. emmc went from 1 to 0. Any
> idea why? Both patches should be transparent.

Nope, eMMC and SD order changed a few times in the past and now they get 
indices based on the probe time, so any order is possible depending on 
the presence of the sd card / eMMC module.

> 3. Patchset does not look bisectable, so both patches should be squashed.

Why? First patch removes obsolete mshc aliases, which don't determine 
the logical MMC device number in the system. The second one adds fixed 
indices to the local MMC devices created by the respective MMC host 
controllers.

> 4. Your patch has several whitespace issues:
> patch:264: trailing whitespace.
>
> patch:279: trailing whitespace.
>
> patch:461: trailing whitespace.
>
>
>
> Best regards,
> Krzysztof
>
>
Best regards
Rob Herring Feb. 9, 2023, 3:06 p.m. UTC | #4
On Sat, Jan 28, 2023 at 7:32 AM Henrik Grimler <henrik@grimler.se> wrote:
>
> Add aliases for eMMC, SD card and WiFi where applicable, so that
> assigned mmcblk numbers are always the same.

What does WiFi have to do with mmcblk?
Krzysztof Kozlowski Feb. 9, 2023, 3:18 p.m. UTC | #5
On 09/02/2023 15:50, Marek Szyprowski wrote:
> On 09.02.2023 15:23, Krzysztof Kozlowski wrote:
>> On 28/01/2023 14:31, Henrik Grimler wrote:
>>> Add aliases for eMMC, SD card and WiFi where applicable, so that
>>> assigned mmcblk numbers are always the same.
>>>
>>> Co-developed-by: Anton Bambura <jenneron@protonmail.com>
>>> Signed-off-by: Anton Bambura <jenneron@protonmail.com>
>>> [ Tested on exynos5800-peach-pi ]
>>> Tested-by: Valentine Iourine <iourine@iourine.msk.su>
>>> Signed-off-by: Henrik Grimler <henrik@grimler.se>
>>> ---
>>>   arch/arm/boot/dts/exynos3250-artik5-eval.dts        | 5 +++++
>>>   arch/arm/boot/dts/exynos3250-artik5.dtsi            | 5 +++++
>>>   arch/arm/boot/dts/exynos3250-monk.dts               | 1 +
>>>   arch/arm/boot/dts/exynos3250-rinato.dts             | 2 ++
>>>   arch/arm/boot/dts/exynos4210-i9100.dts              | 6 ++++++
>>>   arch/arm/boot/dts/exynos4210-origen.dts             | 5 +++++
>>>   arch/arm/boot/dts/exynos4210-smdkv310.dts           | 4 ++++
>>>   arch/arm/boot/dts/exynos4210-trats.dts              | 6 ++++++
>>>   arch/arm/boot/dts/exynos4210-universal_c210.dts     | 6 ++++++
>>>   arch/arm/boot/dts/exynos4412-itop-elite.dts         | 5 +++++
>>>   arch/arm/boot/dts/exynos4412-midas.dtsi             | 3 +++
>>>   arch/arm/boot/dts/exynos4412-odroid-common.dtsi     | 5 +++++
>>>   arch/arm/boot/dts/exynos4412-origen.dts             | 5 +++++
>>>   arch/arm/boot/dts/exynos4412-p4note.dtsi            | 6 ++++++
>>>   arch/arm/boot/dts/exynos4412-smdk4412.dts           | 4 ++++
>>>   arch/arm/boot/dts/exynos4412-tiny4412.dts           | 4 ++++
>>>   arch/arm/boot/dts/exynos5250-arndale.dts            | 5 +++++
>>>   arch/arm/boot/dts/exynos5250-smdk5250.dts           | 2 ++
>>>   arch/arm/boot/dts/exynos5250-snow-common.dtsi       | 3 +++
>>>   arch/arm/boot/dts/exynos5250-spring.dts             | 5 +++++
>>>   arch/arm/boot/dts/exynos5260-xyref5260.dts          | 5 +++++
>>>   arch/arm/boot/dts/exynos5410-odroidxu.dts           | 2 ++
>>>   arch/arm/boot/dts/exynos5410-smdk5410.dts           | 5 +++++
>>>   arch/arm/boot/dts/exynos5420-arndale-octa.dts       | 5 +++++
>>>   arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi | 5 +++++
>>>   arch/arm/boot/dts/exynos5420-peach-pit.dts          | 3 +++
>>>   arch/arm/boot/dts/exynos5420-smdk5420.dts           | 5 +++++
>>>   arch/arm/boot/dts/exynos5422-odroid-core.dtsi       | 5 +++++
>>>   arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi  | 4 ++++
>>>   arch/arm/boot/dts/exynos5422-samsung-k3g.dts        | 4 ++++
>>>   arch/arm/boot/dts/exynos5800-peach-pi.dts           | 3 +++
>>>   31 files changed, 133 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos3250-artik5-eval.dts b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>>> index a1e22f630638..83266a66124b 100644
>>> --- a/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>>> +++ b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
>>> @@ -16,6 +16,11 @@ / {
>>>   	model = "Samsung ARTIK5 evaluation board";
>>>   	compatible = "samsung,artik5-eval", "samsung,artik5",
>>>   			"samsung,exynos3250", "samsung,exynos3";
>>> +
>>> +	aliases {
>>> +		mmc2 = &mshc_2;
>>> +	};
>>> +
>>>   };
>>>   
>>>   &mshc_2 {
>>> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> index 0ac3f284fbb8..a6e2f46917a8 100644
>>> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> @@ -17,6 +17,11 @@
>>>   / {
>>>   	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
>>>   
>>> +	aliases {
>>> +		mmc0 = &mshc_0;
>>> +		mmc1 = &mshc_1;
>>> +	};
>>> +
>>>   	chosen {
>>>   		stdout-path = &serial_2;
>>>   	};
>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>> index 80d90fe7fad1..a68e5f81404c 100644
>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>> @@ -22,6 +22,7 @@ / {
>>>   
>>>   	aliases {
>>>   		i2c7 = &i2c_max77836;
>>> +		mmc0 = &mshc_0;
>>>   	};
>>>   
>>>   	memory@40000000 {
>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>> index 1f9cba0607e1..f0fb6890e4a8 100644
>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>> @@ -23,6 +23,8 @@ / {
>>>   
>>>   	aliases {
>>>   		i2c7 = &i2c_max77836;
>>> +		mmc0 = &mshc_0;
>>> +		mmc1 = &mshc_1;
>>>   	};
>>>   
>>>   	chosen {
>>> diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
>>> index bba85011ecc9..7051e2c4b391 100644
>>> --- a/arch/arm/boot/dts/exynos4210-i9100.dts
>>> +++ b/arch/arm/boot/dts/exynos4210-i9100.dts
>>> @@ -25,6 +25,12 @@ memory@40000000 {
>>>   		reg = <0x40000000 0x40000000>;
>>>   	};
>>>   
>>> +	aliases {
>>> +		mmc0 = &sdhci_0;
>>> +		mmc2 = &sdhci_2;
>>> +		mmc3 = &sdhci_3;
>> 1. Is this actually correct? Since mmc1 was disabled, sdhci_2 had mmc1
>> index but now will have mmc2.
>>
>> 2. I tested Odroid U3 and the ID changed. emmc went from 1 to 0. Any
>> idea why? Both patches should be transparent.
> 
> Nope, eMMC and SD order changed a few times in the past and now they get 
> indices based on the probe time, so any order is possible depending on 
> the presence of the sd card / eMMC module.
> 
>> 3. Patchset does not look bisectable, so both patches should be squashed.
> 
> Why? First patch removes obsolete mshc aliases, which don't determine 
> the logical MMC device number in the system. The second one adds fixed 
> indices to the local MMC devices created by the respective MMC host 
> controllers.

Ah, I see now, so mshc only determined the caps. That makes sense and
answers my two questions.

But my question (1) a bit remains - these numbers of aliases should
reflect what is wired on the board, so:
A. before indices were mmc0, mmc1, mmc2 (and sdhcio_1 disabled). Now
indices will be mmc0, mmc2 and mmc3, right?

B. How the interface is called on the board? For some boards we actually
can check with schematics.

Best regards,
Krzysztof
David Virag Feb. 9, 2023, 3:22 p.m. UTC | #6
On Thu, 2023-02-09 at 09:06 -0600, Rob Herring wrote:
> On Sat, Jan 28, 2023 at 7:32 AM Henrik Grimler <henrik@grimler.se>
> wrote:
> > 
> > Add aliases for eMMC, SD card and WiFi where applicable, so that
> > assigned mmcblk numbers are always the same.
> 
> What does WiFi have to do with mmcblk?

Some devices use SDIO WiFi, which is usually on mmc_1.
An example of this that I could find is in exynos5250-spring.dts.
Henrik Grimler Feb. 9, 2023, 6:07 p.m. UTC | #7
Hi,

On Thu, Feb 09, 2023 at 04:22:48PM +0100, David Virag wrote:
> On Thu, 2023-02-09 at 09:06 -0600, Rob Herring wrote:
> > On Sat, Jan 28, 2023 at 7:32 AM Henrik Grimler <henrik@grimler.se>
> > wrote:
> > > 
> > > Add aliases for eMMC, SD card and WiFi where applicable, so that
> > > assigned mmcblk numbers are always the same.
> > 
> > What does WiFi have to do with mmcblk?
> 
> Some devices use SDIO WiFi, which is usually on mmc_1.
> An example of this that I could find is in exynos5250-spring.dts.

Maybe message can be written more clearly: WiFi will not have an
assigned _mmcblk_ number, but its number in for example
/sys/class/mmc_host/ will depend on the alias.

I will re-write for next version, thanks.

Best regards,
Henrik Grimler
Henrik Grimler Feb. 9, 2023, 6:20 p.m. UTC | #8
On Thu, Feb 09, 2023 at 04:18:33PM +0100, Krzysztof Kozlowski wrote:
> On 09/02/2023 15:50, Marek Szyprowski wrote:
> > On 09.02.2023 15:23, Krzysztof Kozlowski wrote:
> >> On 28/01/2023 14:31, Henrik Grimler wrote:
> >>> Add aliases for eMMC, SD card and WiFi where applicable, so that
> >>> assigned mmcblk numbers are always the same.

[ ... ]

> >>> +	aliases {
> >>> +		mmc0 = &sdhci_0;
> >>> +		mmc2 = &sdhci_2;
> >>> +		mmc3 = &sdhci_3;
> >> 1. Is this actually correct? Since mmc1 was disabled, sdhci_2 had mmc1
> >> index but now will have mmc2.
> >>
> >> 2. I tested Odroid U3 and the ID changed. emmc went from 1 to 0. Any
> >> idea why? Both patches should be transparent.
> > 
> > Nope, eMMC and SD order changed a few times in the past and now they get 
> > indices based on the probe time, so any order is possible depending on 
> > the presence of the sd card / eMMC module.
> > 
> >> 3. Patchset does not look bisectable, so both patches should be squashed.
> > 
> > Why? First patch removes obsolete mshc aliases, which don't determine 
> > the logical MMC device number in the system. The second one adds fixed 
> > indices to the local MMC devices created by the respective MMC host 
> > controllers.
> 
> Ah, I see now, so mshc only determined the caps. That makes sense and
> answers my two questions.
> 
> But my question (1) a bit remains - these numbers of aliases should
> reflect what is wired on the board, so:
> A. before indices were mmc0, mmc1, mmc2 (and sdhcio_1 disabled). Now
> indices will be mmc0, mmc2 and mmc3, right?

Yes (and before indices could change between reboots).

> B. How the interface is called on the board? For some boards we actually
> can check with schematics.

Based on the limited public information like user manuals ([1] and
[2]) I *think* the internal storage, sdhci_0 and mshc_0 on 4210 and
4412 (respectively), is connected to data lines belonging to both
SDMMC0 and SDMMC1 (4+4 data lines, SDMMC# is what the IP is called in
user manuals), since they have a bus-width of 8.  The sdcard reader
however has a bus-width of 4 and is connected to just SDMMC2 on both.

So, I think suggested aliases best describe the hardware.  Maybe Marek
or someone else at Samsung has a better understanding of these boards
though :)

> Best regards,
> Krzysztof

[1] https://web.archive.org/web/20170918162018/http://www.samsung.com/global/business/semiconductor/file/product/Pulbicmanual_Exynos_4_Dual_45nm_Ver00-2.pdf
[2] https://github.com/lian494362816/Tiny4412/blob/master/Pdf/Exynos%204412%20SCP_Users%20Manual_Ver.0.10.00_Preliminary0.pdf

Best regards,
Henrik Grimler
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/exynos3250-artik5-eval.dts b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
index a1e22f630638..83266a66124b 100644
--- a/arch/arm/boot/dts/exynos3250-artik5-eval.dts
+++ b/arch/arm/boot/dts/exynos3250-artik5-eval.dts
@@ -16,6 +16,11 @@  / {
 	model = "Samsung ARTIK5 evaluation board";
 	compatible = "samsung,artik5-eval", "samsung,artik5",
 			"samsung,exynos3250", "samsung,exynos3";
+
+	aliases {
+		mmc2 = &mshc_2;
+	};
+
 };
 
 &mshc_2 {
diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
index 0ac3f284fbb8..a6e2f46917a8 100644
--- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
+++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
@@ -17,6 +17,11 @@ 
 / {
 	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
 
+	aliases {
+		mmc0 = &mshc_0;
+		mmc1 = &mshc_1;
+	};
+
 	chosen {
 		stdout-path = &serial_2;
 	};
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
index 80d90fe7fad1..a68e5f81404c 100644
--- a/arch/arm/boot/dts/exynos3250-monk.dts
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -22,6 +22,7 @@  / {
 
 	aliases {
 		i2c7 = &i2c_max77836;
+		mmc0 = &mshc_0;
 	};
 
 	memory@40000000 {
diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
index 1f9cba0607e1..f0fb6890e4a8 100644
--- a/arch/arm/boot/dts/exynos3250-rinato.dts
+++ b/arch/arm/boot/dts/exynos3250-rinato.dts
@@ -23,6 +23,8 @@  / {
 
 	aliases {
 		i2c7 = &i2c_max77836;
+		mmc0 = &mshc_0;
+		mmc1 = &mshc_1;
 	};
 
 	chosen {
diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
index bba85011ecc9..7051e2c4b391 100644
--- a/arch/arm/boot/dts/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/exynos4210-i9100.dts
@@ -25,6 +25,12 @@  memory@40000000 {
 		reg = <0x40000000 0x40000000>;
 	};
 
+	aliases {
+		mmc0 = &sdhci_0;
+		mmc2 = &sdhci_2;
+		mmc3 = &sdhci_3;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts
index 5f37b751f700..41c73ee0d556 100644
--- a/arch/arm/boot/dts/exynos4210-origen.dts
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -30,6 +30,11 @@  memory@40000000 {
 		       0x70000000 0x10000000>;
 	};
 
+	aliases {
+		mmc0 = &sdhci_0;
+		mmc2 = &sdhci_2;
+	};
+
 	chosen {
 		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
 		stdout-path = "serial2:115200n8";
diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts
index a5dfd7fd49b3..2b8141f2912e 100644
--- a/arch/arm/boot/dts/exynos4210-smdkv310.dts
+++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
@@ -25,6 +25,10 @@  memory@40000000 {
 		reg = <0x40000000 0x80000000>;
 	};
 
+	aliases {
+		mmc2 = &sdhci_2;
+	};
+
 	chosen {
 		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
 		stdout-path = "serial1:115200n8";
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
index b8e9dd23fc51..b6b0c116016c 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -26,6 +26,12 @@  memory@40000000 {
 			0x70000000 0x10000000>;
 	};
 
+	aliases {
+		mmc0 = &sdhci_0;
+		mmc2 = &sdhci_2;
+		mmc3 = &sdhci_3;
+	};
+
 	chosen {
 		bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
 		stdout-path = "serial2:115200n8";
diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts
index 62bf335d5bed..2135a6843511 100644
--- a/arch/arm/boot/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts
@@ -24,6 +24,12 @@  memory@40000000 {
 			0x50000000 0x10000000>;
 	};
 
+	aliases {
+		mmc0 = &sdhci_0;
+		mmc2 = &sdhci_2;
+		mmc3 = &sdhci_3;
+	};
+
 	chosen {
 		bootargs = "root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
 		stdout-path = "serial2:115200n8";
diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
index b596e997e451..c0132e537663 100644
--- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -20,6 +20,11 @@  / {
 	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
 	compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
 
+	aliases {
+		mmc0 = &mshc_0;
+		mmc2 = &sdhci_2;
+	};
+
 	chosen {
 		bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootdelay=1 rootwait";
 		stdout-path = "serial2:115200n8";
diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
index d5074fa57142..56382bb07939 100644
--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -25,6 +25,9 @@  / {
 	aliases {
 		i2c11 = &i2c_max77693;
 		i2c12 = &i2c_max77693_fuel;
+		mmc0 = &mshc_0;
+		mmc2 = &sdhci_2;
+		mmc3 = &sdhci_3;
 	};
 
 	chosen {
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 7c2780d3e37c..4bfbe960be43 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -13,6 +13,11 @@ 
 #include "exynos-mfc-reserved-memory.dtsi"
 
 / {
+	aliases {
+		mmc0 = &mshc_0;
+		mmc2 = &sdhci_2;
+	};
+
 	chosen {
 		stdout-path = &serial_1;
 	};
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
index ea9fd284386d..2e25415aa2d4 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -25,6 +25,11 @@  memory@40000000 {
 		reg = <0x40000000 0x40000000>;
 	};
 
+	aliases {
+		mmc0 = &mshc_0;
+		mmc2 = &sdhci_2;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/exynos4412-p4note.dtsi
index 3e05a49f29ff..a21440062b1e 100644
--- a/arch/arm/boot/dts/exynos4412-p4note.dtsi
+++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi
@@ -26,6 +26,12 @@  memory@40000000 {
 		reg = <0x40000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mshc_0;
+		mmc2 = &sdhci_2;
+		mmc3 = &sdhci_3;
+	};
+
 	chosen {
 		stdout-path = &serial_2;
 	};
diff --git a/arch/arm/boot/dts/exynos4412-smdk4412.dts b/arch/arm/boot/dts/exynos4412-smdk4412.dts
index a40ff394977c..6296a5a06630 100644
--- a/arch/arm/boot/dts/exynos4412-smdk4412.dts
+++ b/arch/arm/boot/dts/exynos4412-smdk4412.dts
@@ -22,6 +22,10 @@  memory@40000000 {
 		reg = <0x40000000 0x40000000>;
 	};
 
+	aliases {
+		mmc2 = &sdhci_2;
+	};
+        
 	chosen {
 		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
 		stdout-path = "serial1:115200n8";
diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
index e0b6162d2e2a..e010b75a9d49 100644
--- a/arch/arm/boot/dts/exynos4412-tiny4412.dts
+++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
@@ -17,6 +17,10 @@  / {
 	model = "FriendlyARM TINY4412 board based on Exynos4412";
 	compatible = "friendlyarm,tiny4412", "samsung,exynos4412", "samsung,exynos4";
 
+	aliases {
+		mmc2 = &sdhci_2;
+	};
+        
 	chosen {
 		stdout-path = &serial_0;
 	};
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
index 71c0e87d3a1d..3ef04e59939e 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -23,6 +23,11 @@  memory@40000000 {
 		reg = <0x40000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 71293749ac48..e8087d7d6305 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -17,6 +17,8 @@  / {
 	compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5";
 
 	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
 	};
 
 	memory@40000000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
index 3d84b9c6dea3..cdf1ebff11db 100644
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -15,6 +15,9 @@ 
 / {
 	aliases {
 		i2c104 = &i2c_104;
+		mmc0 = &mmc_0; /* eMMC */
+		mmc1 = &mmc_2; /* SD */
+		mmc2 = &mmc_3; /* WiFi */
 	};
 
 	memory@40000000 {
diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
index 5eca10ecd550..96050fea93f8 100644
--- a/arch/arm/boot/dts/exynos5250-spring.dts
+++ b/arch/arm/boot/dts/exynos5250-spring.dts
@@ -23,6 +23,11 @@  memory@40000000 {
 		reg = <0x40000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc1 = &mmc_1;
+	};
+
 	chosen {
 		bootargs = "console=tty1";
 		stdout-path = "serial3:115200n8";
diff --git a/arch/arm/boot/dts/exynos5260-xyref5260.dts b/arch/arm/boot/dts/exynos5260-xyref5260.dts
index 387b8494f18f..1e2f6af6d311 100644
--- a/arch/arm/boot/dts/exynos5260-xyref5260.dts
+++ b/arch/arm/boot/dts/exynos5260-xyref5260.dts
@@ -18,6 +18,11 @@  memory@20000000 {
 		reg = <0x20000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
index 232561620da2..f495514d88b3 100644
--- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
@@ -21,6 +21,8 @@  / {
 
 	aliases {
 		ethernet = &ethernet;
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
 	};
 
 	memory@40000000 {
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
index b8f953c41c73..1d3d220f3fcc 100644
--- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -18,6 +18,11 @@  memory@40000000 {
 		reg = <0x40000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index 55b7759682a9..54398db244ad 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -23,6 +23,11 @@  memory@20000000 {
 		reg = <0x20000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		stdout-path = "serial3:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi b/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
index 63675fe189cd..18874125ac64 100644
--- a/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
+++ b/arch/arm/boot/dts/exynos5420-galaxy-tab-common.dtsi
@@ -28,6 +28,11 @@  / {
 	 * for more details.
 	 */
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 9e2123470cad..8b2bbeb7f64f 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -31,6 +31,9 @@  / {
 	aliases {
 		/* Assign 20 so we don't get confused w/ builtin ones */
 		i2c20 = &i2c_tunnel;
+		mmc0 = &mmc_0; /* eMMC */
+		mmc1 = &mmc_2; /* uSD */
+		mmc2 = &mmc_1; /* WiFi */
 	};
 
 	backlight: backlight {
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index 4d7b6d9008a7..134ed8931ba7 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -21,6 +21,11 @@  memory@20000000 {
 		reg = <0x20000000 0x80000000>;
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+		mmc2 = &mmc_2;
+	};
+
 	chosen {
 		bootargs = "init=/linuxrc";
 		stdout-path = "serial2:115200n8";
diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
index 30fc677d8bac..9f2ec636436e 100644
--- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
+++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
@@ -19,6 +19,11 @@  memory@40000000 {
 		reg = <0x40000000 0x7ea00000>;
 	};
 
+	aliases {
+		mmc2 = &mmc_2;
+	};
+
+        
 	chosen {
 		stdout-path = "serial2:115200n8";
 	};
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
index a6961ff24030..55fd2b94be3f 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
@@ -13,6 +13,10 @@ 
 #include "exynos5422-odroid-core.dtsi"
 
 / {
+	aliases {
+		mmc0 = &mmc_0;
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 		pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
index df41723d56d4..4a0c8f29ccbc 100644
--- a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
+++ b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
@@ -24,6 +24,10 @@  memory@20000000 {
 		reg = <0x20000000 0x80000000>; /* 2 GiB */
 	};
 
+	aliases {
+		mmc0 = &mmc_0;
+	};
+
 	fixed-rate-clocks {
 		oscclk {
 			compatible = "samsung,exynos5420-oscclk";
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 0ebcb66c6319..50e9e884c51f 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -29,6 +29,9 @@  / {
 	aliases {
 		/* Assign 20 so we don't get confused w/ builtin ones */
 		i2c20 = &i2c_tunnel;
+		mmc0 = &mmc_0; /* eMMC */
+		mmc1 = &mmc_2; /* SD */
+		mmc2 = &mmc_1; /* WiFi */
 	};
 
 	backlight: backlight {