[PATCH v5 14/38] arm: dts: exynos: Add upstream DW MMC properties to all Exynos dts
Sam Protsenko
semen.protsenko at linaro.org
Thu Aug 8 05:14:20 CEST 2024
Some device tree properties for DW MMC block were updated in Linux
kernel. Let's follow its example and rework corresponding properties in
all Exynos device trees. Don't remove outdated properties yet, it'll be
done later once DW MMC driver is updated accordingly to read the updated
properties instead of outdated ones.
Next properties are added:
* samsung,dw-mshc-ciu-div and samsung,dw-mshc-sdr-timing:
They were derived from outdated samsung,timing property.
* fifo-depth (generic replacement for fifoth_val):
FIFO depth was calculated from fifoth_val (using expressions from
FIFOTH register description in TRM):
fifo-depth = ((fifoth_val >> 16) + 1) * 2
* bus-width: generic replacement for samsung,bus-width
* clock-frequency: generic replacement for bus_hz
* non-removable: generic replacement for samsung,removable = <0>
No functional change.
Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
---
Changes in v5:
- Added missing bus-width property to sdhci2 node (SD card) in
exynos4412-odroid.dts
Changes in v4:
- (none)
Changes in v3:
- (none)
Changes in v2:
- (none)
arch/arm/dts/exynos4210-origen.dts | 1 +
arch/arm/dts/exynos4210-trats.dts | 2 ++
arch/arm/dts/exynos4210-universal_c210.dts | 2 ++
arch/arm/dts/exynos4412-odroid.dts | 7 +++++++
arch/arm/dts/exynos4412-trats2.dts | 8 ++++++++
arch/arm/dts/exynos5250-arndale.dts | 6 ++++++
arch/arm/dts/exynos5250-smdk5250.dts | 7 +++++++
arch/arm/dts/exynos5250-snow.dts | 7 +++++++
arch/arm/dts/exynos5250-spring.dts | 4 ++++
arch/arm/dts/exynos5420-smdk5420.dts | 7 +++++++
arch/arm/dts/exynos5422-odroidxu3.dts | 2 ++
arch/arm/dts/exynos54xx.dtsi | 7 +++++++
12 files changed, 60 insertions(+)
diff --git a/arch/arm/dts/exynos4210-origen.dts b/arch/arm/dts/exynos4210-origen.dts
index 65a5fcd67eff..a4915de2c49c 100644
--- a/arch/arm/dts/exynos4210-origen.dts
+++ b/arch/arm/dts/exynos4210-origen.dts
@@ -26,6 +26,7 @@
&sdhci2 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
cd-gpios = <&gpk2 2 0>;
status = "okay";
diff --git a/arch/arm/dts/exynos4210-trats.dts b/arch/arm/dts/exynos4210-trats.dts
index 05989ee97e5b..4fbdf4730994 100644
--- a/arch/arm/dts/exynos4210-trats.dts
+++ b/arch/arm/dts/exynos4210-trats.dts
@@ -241,6 +241,7 @@
&sdhci0 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
pwr-gpios = <&gpk0 2 0>;
status = "okay";
@@ -248,6 +249,7 @@
&sdhci2 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
cd-gpios = <&gpx3 4 0>;
status = "okay";
diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts
index 610a8ad2e71e..1b3ac1fee15f 100644
--- a/arch/arm/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/dts/exynos4210-universal_c210.dts
@@ -236,6 +236,7 @@
&sdhci0 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
pwr-gpios = <&gpk0 2 0>;
status = "okay";
@@ -243,6 +244,7 @@
&sdhci2 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
cd-gpios = <&gpx3 4 0>;
status = "okay";
diff --git a/arch/arm/dts/exynos4412-odroid.dts b/arch/arm/dts/exynos4412-odroid.dts
index ce08e8dc1ebb..a405b9708719 100644
--- a/arch/arm/dts/exynos4412-odroid.dts
+++ b/arch/arm/dts/exynos4412-odroid.dts
@@ -235,6 +235,7 @@
&sdhci2 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
cd-inverted;
cd-gpios = <&gpk2 2 0>;
@@ -243,9 +244,15 @@
&mshc_0 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <2 1 0>;
+ samsung,dw-mshc-ciu-div = <0>;
+ samsung,dw-mshc-sdr-timing = <2 1>;
samsung,removable = <0>;
+ non-removable;
fifoth_val = <0x203f0040>;
+ fifo-depth = <0x80>;
+ clock-frequency = <400000000>;
bus_hz = <400000000>;
div = <0x3>;
index = <4>;
diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts
index c4db137e01f6..30758ffa1ef9 100644
--- a/arch/arm/dts/exynos4412-trats2.dts
+++ b/arch/arm/dts/exynos4412-trats2.dts
@@ -109,6 +109,7 @@
sdhci at 12510000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
pwr-gpios = <&gpk0 4 0>;
status = "disabled";
@@ -432,6 +433,7 @@
&sdhci0 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
pwr-gpios = <&gpk0 4 0>;
status = "disabled";
@@ -439,6 +441,7 @@
&sdhci2 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
cd-gpios = <&gpk2 2 0>;
status = "okay";
@@ -446,9 +449,14 @@
&mshc_0 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <2 1 0>;
+ samsung,dw-mshc-ciu-div = <0>;
+ samsung,dw-mshc-sdr-timing = <2 1>;
samsung,removable = <0>;
+ non-removable;
fifoth_val = <0x203f0040>;
+ clock-frequency = <400000000>;
bus_hz = <400000000>;
div = <0x3>;
index = <4>;
diff --git a/arch/arm/dts/exynos5250-arndale.dts b/arch/arm/dts/exynos5250-arndale.dts
index 60309c61f302..7f84589c97a2 100644
--- a/arch/arm/dts/exynos5250-arndale.dts
+++ b/arch/arm/dts/exynos5250-arndale.dts
@@ -28,7 +28,10 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
};
mmc at 12210000 {
@@ -37,7 +40,10 @@
mmc at 12220000 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 2>;
};
mmc at 12230000 {
diff --git a/arch/arm/dts/exynos5250-smdk5250.dts b/arch/arm/dts/exynos5250-smdk5250.dts
index afe0cca48a93..882db2d1f608 100644
--- a/arch/arm/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/dts/exynos5250-smdk5250.dts
@@ -146,8 +146,12 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
samsung,removable = <0>;
+ non-removable;
};
mmc at 12210000 {
@@ -156,7 +160,10 @@
mmc at 12220000 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 2>;
samsung,removable = <1>;
};
diff --git a/arch/arm/dts/exynos5250-snow.dts b/arch/arm/dts/exynos5250-snow.dts
index e41f2d3041e2..bcf04d5c07c0 100644
--- a/arch/arm/dts/exynos5250-snow.dts
+++ b/arch/arm/dts/exynos5250-snow.dts
@@ -302,8 +302,12 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
samsung,removable = <0>;
+ non-removable;
};
mmc at 12210000 {
@@ -312,7 +316,10 @@
mmc at 12220000 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 2>;
samsung,removable = <1>;
};
diff --git a/arch/arm/dts/exynos5250-spring.dts b/arch/arm/dts/exynos5250-spring.dts
index 77e7a6b9e45a..7270a546a795 100644
--- a/arch/arm/dts/exynos5250-spring.dts
+++ b/arch/arm/dts/exynos5250-spring.dts
@@ -104,8 +104,12 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
samsung,removable = <0>;
+ non-removable;
};
mmc at 12210000 {
diff --git a/arch/arm/dts/exynos5420-smdk5420.dts b/arch/arm/dts/exynos5420-smdk5420.dts
index 7a5da674fbed..1f27baafebaf 100644
--- a/arch/arm/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/dts/exynos5420-smdk5420.dts
@@ -107,8 +107,12 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
samsung,removable = <0>;
+ non-removable;
samsung,pre-init;
};
@@ -118,7 +122,10 @@
mmc at 12220000 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 2>;
samsung,removable = <1>;
};
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts
index 9d055d066fd3..767b3e415d58 100644
--- a/arch/arm/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/dts/exynos5422-odroidxu3.dts
@@ -281,10 +281,12 @@
mmc at 12200000 {
fifoth_val = <0x201f0020>;
+ fifo-depth = <0x40>;
};
mmc at 12220000 {
fifoth_val = <0x201f0020>;
+ fifo-depth = <0x40>;
};
emmc-reset {
diff --git a/arch/arm/dts/exynos54xx.dtsi b/arch/arm/dts/exynos54xx.dtsi
index 221da8b4850b..fd74166c7e48 100644
--- a/arch/arm/dts/exynos54xx.dtsi
+++ b/arch/arm/dts/exynos54xx.dtsi
@@ -120,8 +120,12 @@
mmc at 12200000 {
samsung,bus-width = <8>;
+ bus-width = <8>;
samsung,timing = <1 3 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 3>;
samsung,removable = <0>;
+ non-removable;
samsung,pre-init;
};
@@ -131,7 +135,10 @@
mmc at 12220000 {
samsung,bus-width = <4>;
+ bus-width = <4>;
samsung,timing = <1 2 3>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <1 2>;
samsung,removable = <1>;
};
--
2.39.2
More information about the U-Boot
mailing list