arm: dts: exynos: Add upstream DW MMC properties to all Exynos dts
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@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
diff --git a/arch/arm/dts/exynos4210-origen.dts b/arch/arm/dts/exynos4210-origen.dts
index 65a5fcd..a4915de 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 05989ee..4fbdf47 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 610a8ad..1b3ac1f 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 ce08e8d..a405b97 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 c4db137..30758ff 100644
--- a/arch/arm/dts/exynos4412-trats2.dts
+++ b/arch/arm/dts/exynos4412-trats2.dts
@@ -109,6 +109,7 @@
sdhci@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 60309c6..7f84589 100644
--- a/arch/arm/dts/exynos5250-arndale.dts
+++ b/arch/arm/dts/exynos5250-arndale.dts
@@ -28,7 +28,10 @@
mmc@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@12210000 {
@@ -37,7 +40,10 @@
mmc@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@12230000 {
diff --git a/arch/arm/dts/exynos5250-smdk5250.dts b/arch/arm/dts/exynos5250-smdk5250.dts
index afe0cca..882db2d 100644
--- a/arch/arm/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/dts/exynos5250-smdk5250.dts
@@ -146,8 +146,12 @@
mmc@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@12210000 {
@@ -156,7 +160,10 @@
mmc@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 e41f2d3..bcf04d5 100644
--- a/arch/arm/dts/exynos5250-snow.dts
+++ b/arch/arm/dts/exynos5250-snow.dts
@@ -302,8 +302,12 @@
mmc@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@12210000 {
@@ -312,7 +316,10 @@
mmc@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 77e7a6b..7270a54 100644
--- a/arch/arm/dts/exynos5250-spring.dts
+++ b/arch/arm/dts/exynos5250-spring.dts
@@ -104,8 +104,12 @@
mmc@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@12210000 {
diff --git a/arch/arm/dts/exynos5420-smdk5420.dts b/arch/arm/dts/exynos5420-smdk5420.dts
index 7a5da67..1f27baa 100644
--- a/arch/arm/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/dts/exynos5420-smdk5420.dts
@@ -107,8 +107,12 @@
mmc@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@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 9d055d0..767b3e4 100644
--- a/arch/arm/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/dts/exynos5422-odroidxu3.dts
@@ -281,10 +281,12 @@
mmc@12200000 {
fifoth_val = <0x201f0020>;
+ fifo-depth = <0x40>;
};
mmc@12220000 {
fifoth_val = <0x201f0020>;
+ fifo-depth = <0x40>;
};
emmc-reset {
diff --git a/arch/arm/dts/exynos54xx.dtsi b/arch/arm/dts/exynos54xx.dtsi
index 221da8b..fd74166 100644
--- a/arch/arm/dts/exynos54xx.dtsi
+++ b/arch/arm/dts/exynos54xx.dtsi
@@ -120,8 +120,12 @@
mmc@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@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>;
};