diff mbox series

[v4,14/38] arm: dts: exynos: Add upstream DW MMC properties to all Exynos dts

Message ID 20240725204520.18134-15-semen.protsenko@linaro.org
State Superseded
Headers show
Series mmc: dw_mmc: Enable eMMC on E850-96 board | expand

Commit Message

Sam Protsenko July 25, 2024, 8:44 p.m. UTC
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>
---
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         | 6 ++++++
 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, 59 insertions(+)

Comments

Henrik Grimler Aug. 3, 2024, 11:33 p.m. UTC | #1
Hi Sam,

Thanks for working on this, makes switching to upstream dts'es easier
:)

I tested the series on exynos4412-odroid-u2 and exynos5422-odroid-xu4.
One issue for exynos4412-odroid to resolve below, with that fixed
booting from both eMMC and sdcard works on my devices.

On Thu, Jul 25, 2024 at 03:44:56PM -0500, Sam Protsenko wrote:
> 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>
> ---
> 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         | 6 ++++++
>  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, 59 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..24e96ed05868 100644
> --- a/arch/arm/dts/exynos4412-odroid.dts
> +++ b/arch/arm/dts/exynos4412-odroid.dts
> @@ -243,9 +243,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>;

bus-width needs to be added to sdhci2 (sdcard) node above as well.

Best regards,
Henrik Grimler

> 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@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@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 afe0cca48a93..882db2d1f608 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 e41f2d3041e2..bcf04d5c07c0 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 77e7a6b9e45a..7270a546a795 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 7a5da674fbed..1f27baafebaf 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 9d055d066fd3..767b3e415d58 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 221da8b4850b..fd74166c7e48 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>;
>  	};
>  
> -- 
> 2.39.2
>
Sam Protsenko Aug. 8, 2024, 2:23 a.m. UTC | #2
On Sat, Aug 3, 2024 at 6:33 PM Henrik Grimler <henrik@grimler.se> wrote:
>
> Hi Sam,
>
> Thanks for working on this, makes switching to upstream dts'es easier
> :)
>
> I tested the series on exynos4412-odroid-u2 and exynos5422-odroid-xu4.
> One issue for exynos4412-odroid to resolve below, with that fixed
> booting from both eMMC and sdcard works on my devices.
>

Thanks for testing it, and good catch! I've checked all other
occurrences and this node (sdhci2 in exynos4412-odroid.dts) is the
only place where I forgot to add 'bus-width'. Will fix it in v5 and
send it out soon.

[snip]
diff mbox series

Patch

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..24e96ed05868 100644
--- a/arch/arm/dts/exynos4412-odroid.dts
+++ b/arch/arm/dts/exynos4412-odroid.dts
@@ -243,9 +243,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@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@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 afe0cca48a93..882db2d1f608 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 e41f2d3041e2..bcf04d5c07c0 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 77e7a6b9e45a..7270a546a795 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 7a5da674fbed..1f27baafebaf 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 9d055d066fd3..767b3e415d58 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 221da8b4850b..fd74166c7e48 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>;
 	};