2023-01-28 13:32:12

by Henrik Grimler

[permalink] [raw]
Subject: [PATCH v2 0/2] ARM: dts: add mmc aliases for Exynos devices

It is convenient to have fixed mmcblk numbering of the eMMC and sdcard
so that assigned numbers will not change from boot-to-boot or
depending on if storage devices are actually attached or not.

Anton Bambura has done the work for the chromebooks while I have
looked at the other devices. On the chromebooks, mmc0 is used for
eMMC and mmc1 for sdcard, while mmc0 is used for eMMC and mmc2 for
sdcard on the other boards, simply because Anton and I had different
preferences.

Also remove mshc aliases, as they should not be needed after [1] as
I understand it.

[1] https://lkml.kernel.org/lkml/[email protected]

---

Changes since v1:
* Move mshc alias cleanup to a separate commit
* Use mmc0 and mmc1 (instead of mmc0 and mmc2) for eMMC and sdcard on
chromebooks
* Address Krzysztof's review comments:
- Make changes per device rather than in soc dtsi


Henrik Grimler (2):
ARM: dts: exynos: drop mshc aliases
ARM: dts: exynos: add mmc aliases

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/exynos3250.dtsi | 3 ---
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/exynos4412.dtsi | 1 -
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/exynos5250.dtsi | 4 ----
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/exynos5420.dtsi | 3 ---
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 +++
35 files changed, 133 insertions(+), 11 deletions(-)


base-commit: 9ca5a7ce492d182c25ea2e785eeb72cee1d5056b
--
2.39.1



2023-01-28 13:32:15

by Henrik Grimler

[permalink] [raw]
Subject: [PATCH v2 1/2] ARM: dts: exynos: drop mshc aliases

They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
exynos: use common_caps").

Signed-off-by: Henrik Grimler <[email protected]>
---
arch/arm/boot/dts/exynos3250.dtsi | 3 ---
arch/arm/boot/dts/exynos4412.dtsi | 1 -
arch/arm/boot/dts/exynos5250.dtsi | 4 ----
arch/arm/boot/dts/exynos5420.dtsi | 3 ---
4 files changed, 11 deletions(-)

diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index 54bb323186e4..2d7771c1043b 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -28,9 +28,6 @@ / {
aliases {
pinctrl0 = &pinctrl_0;
pinctrl1 = &pinctrl_1;
- mshc0 = &mshc_0;
- mshc1 = &mshc_1;
- mshc2 = &mshc_2;
spi0 = &spi_0;
spi1 = &spi_1;
i2c0 = &i2c_0;
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index 7b4e2c442888..9e97b42638e9 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -28,7 +28,6 @@ aliases {
pinctrl3 = &pinctrl_3;
fimc-lite0 = &fimc_lite_0;
fimc-lite1 = &fimc_lite_1;
- mshc0 = &mshc_0;
};

cpus {
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 97e89859ba3d..6ea8a090f602 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -30,10 +30,6 @@ aliases {
gsc1 = &gsc_1;
gsc2 = &gsc_2;
gsc3 = &gsc_3;
- mshc0 = &mmc_0;
- mshc1 = &mmc_1;
- mshc2 = &mmc_2;
- mshc3 = &mmc_3;
i2c4 = &i2c_4;
i2c5 = &i2c_5;
i2c6 = &i2c_6;
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index b1051a7d07af..6862cbabc172 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -19,9 +19,6 @@ / {
compatible = "samsung,exynos5420", "samsung,exynos5";

aliases {
- mshc0 = &mmc_0;
- mshc1 = &mmc_1;
- mshc2 = &mmc_2;
pinctrl0 = &pinctrl_0;
pinctrl1 = &pinctrl_1;
pinctrl2 = &pinctrl_2;
--
2.39.1


2023-01-28 13:32:18

by Henrik Grimler

[permalink] [raw]
Subject: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

Add aliases for eMMC, SD card and WiFi where applicable, so that
assigned mmcblk numbers are always the same.

Co-developed-by: Anton Bambura <[email protected]>
Signed-off-by: Anton Bambura <[email protected]>
[ Tested on exynos5800-peach-pi ]
Tested-by: Valentine Iourine <[email protected]>
Signed-off-by: Henrik Grimler <[email protected]>
---
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 {
--
2.39.1


2023-01-30 13:28:01

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: exynos: drop mshc aliases

On 28.01.2023 14:31, Henrik Grimler wrote:
> They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> exynos: use common_caps").
>
> Signed-off-by: Henrik Grimler <[email protected]>
Tested-by: Marek Szyprowski <[email protected]>
> ---
> arch/arm/boot/dts/exynos3250.dtsi | 3 ---
> arch/arm/boot/dts/exynos4412.dtsi | 1 -
> arch/arm/boot/dts/exynos5250.dtsi | 4 ----
> arch/arm/boot/dts/exynos5420.dtsi | 3 ---
> 4 files changed, 11 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
> index 54bb323186e4..2d7771c1043b 100644
> --- a/arch/arm/boot/dts/exynos3250.dtsi
> +++ b/arch/arm/boot/dts/exynos3250.dtsi
> @@ -28,9 +28,6 @@ / {
> aliases {
> pinctrl0 = &pinctrl_0;
> pinctrl1 = &pinctrl_1;
> - mshc0 = &mshc_0;
> - mshc1 = &mshc_1;
> - mshc2 = &mshc_2;
> spi0 = &spi_0;
> spi1 = &spi_1;
> i2c0 = &i2c_0;
> diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
> index 7b4e2c442888..9e97b42638e9 100644
> --- a/arch/arm/boot/dts/exynos4412.dtsi
> +++ b/arch/arm/boot/dts/exynos4412.dtsi
> @@ -28,7 +28,6 @@ aliases {
> pinctrl3 = &pinctrl_3;
> fimc-lite0 = &fimc_lite_0;
> fimc-lite1 = &fimc_lite_1;
> - mshc0 = &mshc_0;
> };
>
> cpus {
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
> index 97e89859ba3d..6ea8a090f602 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -30,10 +30,6 @@ aliases {
> gsc1 = &gsc_1;
> gsc2 = &gsc_2;
> gsc3 = &gsc_3;
> - mshc0 = &mmc_0;
> - mshc1 = &mmc_1;
> - mshc2 = &mmc_2;
> - mshc3 = &mmc_3;
> i2c4 = &i2c_4;
> i2c5 = &i2c_5;
> i2c6 = &i2c_6;
> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> index b1051a7d07af..6862cbabc172 100644
> --- a/arch/arm/boot/dts/exynos5420.dtsi
> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> @@ -19,9 +19,6 @@ / {
> compatible = "samsung,exynos5420", "samsung,exynos5";
>
> aliases {
> - mshc0 = &mmc_0;
> - mshc1 = &mmc_1;
> - mshc2 = &mmc_2;
> pinctrl0 = &pinctrl_0;
> pinctrl1 = &pinctrl_1;
> pinctrl2 = &pinctrl_2;

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland


2023-01-30 13:28:14

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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 <[email protected]>
> Signed-off-by: Anton Bambura <[email protected]>
> [ Tested on exynos5800-peach-pi ]
> Tested-by: Valentine Iourine <[email protected]>
> Signed-off-by: Henrik Grimler <[email protected]>
Tested-by: Marek Szyprowski <[email protected]>
> ---
> 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
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland


2023-01-30 13:28:46

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] ARM: dts: add mmc aliases for Exynos devices

On 28.01.2023 14:31, Henrik Grimler wrote:
> It is convenient to have fixed mmcblk numbering of the eMMC and sdcard
> so that assigned numbers will not change from boot-to-boot or
> depending on if storage devices are actually attached or not.
>
> Anton Bambura has done the work for the chromebooks while I have
> looked at the other devices. On the chromebooks, mmc0 is used for
> eMMC and mmc1 for sdcard, while mmc0 is used for eMMC and mmc2 for
> sdcard on the other boards, simply because Anton and I had different
> preferences.
>
> Also remove mshc aliases, as they should not be needed after [1] as
> I understand it.

Thanks for this patchset. Long time ago I've tried to submit something
similar, but that time it has been rejected:

https://lore.kernel.org/all/[email protected]/

I hope that the mshc alias removal will help here.

BTW, similar patchset is needed for arch/arm64/boot/dts/exynos


> [1] https://lkml.kernel.org/lkml/[email protected]
>
> ---
>
> Changes since v1:
> * Move mshc alias cleanup to a separate commit
> * Use mmc0 and mmc1 (instead of mmc0 and mmc2) for eMMC and sdcard on
> chromebooks
> * Address Krzysztof's review comments:
> - Make changes per device rather than in soc dtsi
>
>
> Henrik Grimler (2):
> ARM: dts: exynos: drop mshc aliases
> ARM: dts: exynos: add mmc aliases
>
> 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/exynos3250.dtsi | 3 ---
> 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/exynos4412.dtsi | 1 -
> 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/exynos5250.dtsi | 4 ----
> 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/exynos5420.dtsi | 3 ---
> 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 +++
> 35 files changed, 133 insertions(+), 11 deletions(-)
>
>
> base-commit: 9ca5a7ce492d182c25ea2e785eeb72cee1d5056b

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland


2023-01-30 20:00:02

by Henrik Grimler

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] ARM: dts: add mmc aliases for Exynos devices

Hi Marek,

On Mon, Jan 30, 2023 at 02:28:27PM +0100, Marek Szyprowski wrote:
> On 28.01.2023 14:31, Henrik Grimler wrote:
> > It is convenient to have fixed mmcblk numbering of the eMMC and sdcard
> > so that assigned numbers will not change from boot-to-boot or
> > depending on if storage devices are actually attached or not.
> >
> > Anton Bambura has done the work for the chromebooks while I have
> > looked at the other devices. On the chromebooks, mmc0 is used for
> > eMMC and mmc1 for sdcard, while mmc0 is used for eMMC and mmc2 for
> > sdcard on the other boards, simply because Anton and I had different
> > preferences.
> >
> > Also remove mshc aliases, as they should not be needed after [1] as
> > I understand it.
>
> Thanks for this patchset. Long time ago I've tried to submit something
> similar, but that time it has been rejected:
>
> https://lore.kernel.org/all/[email protected]/

Thanks for testing! I missed that you had sent it before, Krzysztof
pointed it out in v1 as well.

> I hope that the mshc alias removal will help here.
>
> BTW, similar patchset is needed for arch/arm64/boot/dts/exynos

Sure, I do not have any of the currently supported arm64 boards to
test with, but can send the same type of patch for arm64 as well.

[1]

Best regards,
Henrik Grimler

> > [1] https://lkml.kernel.org/lkml/[email protected]
> >
> > ---
> >
> > Changes since v1:
> > * Move mshc alias cleanup to a separate commit
> > * Use mmc0 and mmc1 (instead of mmc0 and mmc2) for eMMC and sdcard on
> > chromebooks
> > * Address Krzysztof's review comments:
> > - Make changes per device rather than in soc dtsi
> >
> >
> > Henrik Grimler (2):
> > ARM: dts: exynos: drop mshc aliases
> > ARM: dts: exynos: add mmc aliases
> >
> > 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/exynos3250.dtsi | 3 ---
> > 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/exynos4412.dtsi | 1 -
> > 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/exynos5250.dtsi | 4 ----
> > 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/exynos5420.dtsi | 3 ---
> > 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 +++
> > 35 files changed, 133 insertions(+), 11 deletions(-)
> >
> >
> > base-commit: 9ca5a7ce492d182c25ea2e785eeb72cee1d5056b
>
> Best regards
> --
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
>

2023-02-09 14:23:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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 <[email protected]>
> Signed-off-by: Anton Bambura <[email protected]>
> [ Tested on exynos5800-peach-pi ]
> Tested-by: Valentine Iourine <[email protected]>
> Signed-off-by: Henrik Grimler <[email protected]>
> ---
> 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


2023-02-09 14:40:00

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: exynos: drop mshc aliases

On 28/01/2023 14:31, Henrik Grimler wrote:
> They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> exynos: use common_caps").
>

Are you sure? That commit explicitly says that the caps should be set
from DT and Exynos DT does not set it everywhere...

plus if alias is missing, then the ctrl_id in dw_mmc.c is 0 and such
caps are applied everywhere - to every DWMMC device.

Best regards,
Krzysztof


2023-02-09 14:51:00

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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 <[email protected]>
>> Signed-off-by: Anton Bambura <[email protected]>
>> [ Tested on exynos5800-peach-pi ]
>> Tested-by: Valentine Iourine <[email protected]>
>> Signed-off-by: Henrik Grimler <[email protected]>
>> ---
>> 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
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland


2023-02-09 14:57:05

by Henrik Grimler

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] ARM: dts: exynos: drop mshc aliases

Hi Krzysztof,

Thanks for reviewing!

On Thu, Feb 09, 2023 at 03:39:37PM +0100, Krzysztof Kozlowski wrote:
> On 28/01/2023 14:31, Henrik Grimler wrote:
> > They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> > exynos: use common_caps").
> >
>
> Are you sure? That commit explicitly says that the caps should be set
> from DT and Exynos DT does not set it everywhere...
>
> plus if alias is missing, then the ctrl_id in dw_mmc.c is 0 and such
> caps are applied everywhere - to every DWMMC device.

Yeah, you are right, David pointed this out in the ARM64 patchset [1]
as well, so I will look it over again and send new versions (when
discussion on this version is finalised).

> Best regards,
> Krzysztof

[1] https://patchwork.kernel.org/project/linux-samsung-soc/patch/[email protected]/#25197132

Best regards,
Henrik Grimler

2023-02-09 15:06:47

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

On Sat, Jan 28, 2023 at 7:32 AM Henrik Grimler <[email protected]> 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?

2023-02-09 15:18:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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 <[email protected]>
>>> Signed-off-by: Anton Bambura <[email protected]>
>>> [ Tested on exynos5800-peach-pi ]
>>> Tested-by: Valentine Iourine <[email protected]>
>>> Signed-off-by: Henrik Grimler <[email protected]>
>>> ---
>>> 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


2023-02-09 15:22:55

by David Virag

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

On Thu, 2023-02-09 at 09:06 -0600, Rob Herring wrote:
> On Sat, Jan 28, 2023 at 7:32 AM Henrik Grimler <[email protected]>
> 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.

2023-02-09 18:07:12

by Henrik Grimler

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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 <[email protected]>
> > 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

2023-02-09 18:20:49

by Henrik Grimler

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: exynos: add mmc aliases

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