All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv7 0/2] mmc: fixed the mmc_of_parse for dwmmc
@ 2014-06-13  4:31 Jaehoon Chung
  2014-06-13  4:31 ` [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk Jaehoon Chung
  2014-06-13  4:31 ` [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc Jaehoon Chung
  0 siblings, 2 replies; 10+ messages in thread
From: Jaehoon Chung @ 2014-06-13  4:31 UTC (permalink / raw)
  To: linux-mmc
  Cc: Chris Ball, Ulf Hansson, tgih.jun, devicetree, Heiko St.bner,
	dinguyen, Mark Rutland, Tushar Behera, Jaehoon Chung

This patch-set is fixed the dw-mmc controller problem.
dw-mmc controller have the slot, but mmc_of_parse didn't parse the slot sub-node.
So dw-mmc controller didn't work correctly.

Changelog V7:
	- Remove the missing subnode.

Changelog V6:
	- Add the missing property.

Changelog V4/V5:
	- Drop "mmc: host: add slot argument to mmc_of_parse"
	- Drop "mmc: dw_mmc: remove the "supports-highspeed" property.
	- Rename patch's subject.
	- Remove the slot-node for dw-mmc controller.
Jaehoon Chung (2):
  mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
  ARM: dts: unuse the slot-node and deprecated supports-highspeed for
    dw-mmc.

 .../devicetree/bindings/mmc/exynos-dw-mshc.txt     |   17 ++++--------
 .../devicetree/bindings/mmc/k3-dw-mshc.txt         |   12 ++++-----
 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |   12 ++++-----
 arch/arm/boot/dts/exynos4412-odroidx.dts           |    8 ++----
 arch/arm/boot/dts/exynos4412-origen.dts            |    8 ++----
 arch/arm/boot/dts/exynos4412-trats2.dts            |    8 ++----
 arch/arm/boot/dts/exynos5250-arndale.dts           |   18 ++++---------
 arch/arm/boot/dts/exynos5250-cros-common.dtsi      |   28 ++++++--------------
 arch/arm/boot/dts/exynos5250-smdk5250.dts          |   18 ++++---------
 arch/arm/boot/dts/exynos5250-snow.dts              |    6 ++---
 arch/arm/boot/dts/exynos5420-arndale-octa.dts      |   16 +++--------
 arch/arm/boot/dts/exynos5420-smdk5420.dts          |   16 +++--------
 arch/arm/boot/dts/rk3066a-bqcurie2.dts             |   16 +++--------
 arch/arm/boot/dts/socfpga_arria5.dtsi              |   10 +++----
 arch/arm/boot/dts/socfpga_cyclone5.dtsi            |    9 +++----
 arch/arm/boot/dts/socfpga_vt.dts                   |    9 +++----
 drivers/mmc/host/dw_mmc.c                          |   10 +++----
 17 files changed, 67 insertions(+), 154 deletions(-)

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
  2014-06-13  4:31 [PATCHv7 0/2] mmc: fixed the mmc_of_parse for dwmmc Jaehoon Chung
@ 2014-06-13  4:31 ` Jaehoon Chung
  2014-06-16  8:30   ` Ulf Hansson
  2014-06-13  4:31 ` [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc Jaehoon Chung
  1 sibling, 1 reply; 10+ messages in thread
From: Jaehoon Chung @ 2014-06-13  4:31 UTC (permalink / raw)
  To: linux-mmc
  Cc: Chris Ball, Ulf Hansson, tgih.jun, devicetree, Heiko St.bner,
	dinguyen, Mark Rutland, Tushar Behera, Jaehoon Chung

Replaced the "disable-wp" into host's quirks.
(Because the slot-node is removed at dt-file.)

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
Changelog V6/V7:
	-None
Changelog V5:
	- Modify comment.
Changelog V4:
	- Rename Subject
		"[PATCHv3 2/4] mmc: dw_mmc: use the __mmc_of_parse to parse the slot node"
	- Replace the "disable-wp" into host's quirks, according to remove the slot-node at dt-file.
Changelog V3:
	- Fix typo.
	- Maintained the dw_mci_of_quirks().
Changelog V2:
	- None

 drivers/mmc/host/dw_mmc.c |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 1ac227c..99fc939 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -2006,12 +2006,7 @@ static struct device_node *dw_mci_of_find_slot_node(struct device *dev, u8 slot)
 static struct dw_mci_of_slot_quirks {
 	char *quirk;
 	int id;
-} of_slot_quirks[] = {
-	{
-		.quirk	= "disable-wp",
-		.id	= DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT,
-	},
-};
+} of_slot_quirks[] = {};
 
 static int dw_mci_of_get_slot_quirks(struct device *dev, u8 slot)
 {
@@ -2238,6 +2233,9 @@ static struct dw_mci_of_quirks {
 	{
 		.quirk	= "broken-cd",
 		.id	= DW_MCI_QUIRK_BROKEN_CARD_DETECTION,
+	}, {
+		.quirk	= "disable-wp",
+		.id	= DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT,
 	},
 };
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
  2014-06-13  4:31 [PATCHv7 0/2] mmc: fixed the mmc_of_parse for dwmmc Jaehoon Chung
  2014-06-13  4:31 ` [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk Jaehoon Chung
@ 2014-06-13  4:31 ` Jaehoon Chung
  2014-06-13 11:14     ` Ulf Hansson
  1 sibling, 1 reply; 10+ messages in thread
From: Jaehoon Chung @ 2014-06-13  4:31 UTC (permalink / raw)
  To: linux-mmc
  Cc: Chris Ball, Ulf Hansson, tgih.jun, devicetree, Heiko St.bner,
	dinguyen, Mark Rutland, Tushar Behera, Jaehoon Chung

dw-mmc controller can support multiple slots.
But, there are no use-cases anywhere. So we don't need to support the
slot-node for dw-mmc controller.
And "supports-highspeed" property in dw-mmc is deprecated.
"supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Tushar Behera <trblinux@gmail.com>
---
Changelog V7:
	- Remove the missing subnode.
Changelog V6:
	- Add the missing property.
Changelog V5:
	- Fix typo.
Changelog V4:
	- Remove the slot-node.
	- Rename Subject.
		"[PATCHv3 4/4]ARM: dts: replace the slot property into slot sub-node for dwmmc"
Changelog V3:
	- Merge "[PATCH 2/5] mmc: dw_mmc: rmove the "supports-highspeed" property"
Changelog V2:
	- None

 .../devicetree/bindings/mmc/exynos-dw-mshc.txt     |   17 ++++--------
 .../devicetree/bindings/mmc/k3-dw-mshc.txt         |   12 ++++-----
 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |   12 ++++-----
 arch/arm/boot/dts/exynos4412-odroidx.dts           |    8 ++----
 arch/arm/boot/dts/exynos4412-origen.dts            |    8 ++----
 arch/arm/boot/dts/exynos4412-trats2.dts            |    8 ++----
 arch/arm/boot/dts/exynos5250-arndale.dts           |   18 ++++---------
 arch/arm/boot/dts/exynos5250-cros-common.dtsi      |   28 ++++++--------------
 arch/arm/boot/dts/exynos5250-smdk5250.dts          |   18 ++++---------
 arch/arm/boot/dts/exynos5250-snow.dts              |    6 ++---
 arch/arm/boot/dts/exynos5420-arndale-octa.dts      |   16 +++--------
 arch/arm/boot/dts/exynos5420-smdk5420.dts          |   16 +++--------
 arch/arm/boot/dts/rk3066a-bqcurie2.dts             |   16 +++--------
 arch/arm/boot/dts/socfpga_arria5.dtsi              |   10 +++----
 arch/arm/boot/dts/socfpga_cyclone5.dtsi            |    9 +++----
 arch/arm/boot/dts/socfpga_vt.dts                   |    9 +++----
 16 files changed, 63 insertions(+), 148 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
index 532b1d4..4cdd283 100644
--- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
@@ -46,13 +46,14 @@ Required Properties:
       - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
         phase shift clocks should be 0.
 
-Required properties for a slot:
+Required properties for a slot (Deprecated - Recommend to use one slot per a host):
 
 * gpios: specifies a list of gpios used for command, clock and data bus. The
   first gpio is the command line and the second gpio is the clock line. The
   rest of the gpios (depending on the bus-width property) are the data lines in
   no particular order. The format of the gpio specifier depends on the gpio
   controller.
+ (Deprecated - Refer to Documentaion/devicetree/binding/pinctrl/samsung-pinctrl.txt)
 
 Example:
 
@@ -69,21 +70,13 @@ Example:
 
 	dwmmc0@12200000 {
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
+		cap-mmc-highspeed;
+		cap-sd-highspeed;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-			gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
-				<&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
-				<&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
-				<&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
-				<&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
-		};
+		bus-width = <8>;
 	};
diff --git a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
index b8653ea..514c0fc 100644
--- a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
@@ -34,13 +34,11 @@ Example:
 		num-slots = <1>;
 		vmmc-supply = <&ldo12>;
 		fifo-depth = <0x100>;
-		supports-highspeed;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-			disable-wp;
-			cd-gpios = <&gpio10 3 0>;
-		};
+		bus-width = <4>;
+		disable-wp;
+		cd-gpios = <&gpio10 3 0>;
+		cap-mmc-highspeed;
+		cap-sd-highspeed;
 	};
diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
index 2d4a725..346c609 100644
--- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
@@ -67,7 +67,8 @@ Optional properties:
 * card-detect-delay: Delay in milli-seconds before detecting card after card
   insert event. The default value is 0.
 
-* supports-highspeed: Enables support for high speed cards (up to 50MHz)
+* supports-highspeed (DEPRECATED): Enables support for high speed cards (up to 50MHz)
+			   (use "cap-mmc-highspeed" or "cap-sd-highspeed" instead)
 
 * broken-cd: as documented in mmc core bindings.
 
@@ -98,14 +99,11 @@ board specific portions as listed below.
 		clock-frequency = <400000000>;
 		clock-freq-min-max = <400000 200000000>;
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		vmmc-supply = <&buck8>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
+		cap-sd-highspeed;
 	};
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 31db28a..778aec6 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -45,17 +45,13 @@
 		status = "okay";
 
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	regulator_p3v3 {
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
index e2c0dca..8832424 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -128,17 +128,13 @@
 		status = "okay";
 
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	codec@13400000 {
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
index 73be464..47b6f3a 100644
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -459,7 +459,6 @@
 
 	mmc@12550000 {
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		non-removable;
 		card-detect-delay = <200>;
@@ -468,14 +467,11 @@
 		samsung,dw-mshc-ciu-div = <0>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
+		bus-width = <8>;
+		cap-mmc-highspeed;
 		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
 		pinctrl-names = "default";
 		status = "okay";
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
 	};
 
 	sd_reg: voltage-regulator@1 {
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
index 090f983..2f61e4d 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -399,7 +399,6 @@
 	mmc_0: mmc@12200000 {
 		status = "okay";
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
@@ -408,17 +407,13 @@
 		vmmc-supply = <&mmc_reg>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	mmc_2: mmc@12220000 {
 		status = "okay";
 		num-slots = <1>;
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
@@ -426,12 +421,9 @@
 		vmmc-supply = <&mmc_reg>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-			disable-wp;
-		};
+		bus-width = <4>;
+		disable-wp;
+		cap-sd-highspeed;
 	};
 
 	i2s0: i2s@03830000 {
diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
index 2c1560d..70bbd03 100644
--- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
@@ -248,7 +248,6 @@
 
 	mmc@12200000 {
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
@@ -256,44 +255,33 @@
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	mmc@12220000 {
 		num-slots = <1>;
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-			wp-gpios = <&gpc2 1 0>;
-		};
+		bus-width = <4>;
+		wp-gpios = <&gpc2 1 0>;
+		cap-sd-highspeed;
 	};
 
 	mmc@12230000 {
 		num-slots = <1>;
-		supports-highspeed;
-		broken-cd;
 		card-detect-delay = <200>;
+		broken-cd;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		/* See board-specific dts files for pin setup */
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-		};
+		bus-width = <4>;
+		cap-sd-highspeed;
 	};
 
 	spi_1: spi@12d30000 {
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index a794a70..e00ffc6 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -282,7 +282,6 @@
 	mmc@12200000 {
 		status = "okay";
 		num-slots = <1>;
-		supports-highspeed;
 		broken-cd;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
@@ -290,29 +289,22 @@
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	mmc@12220000 {
 		status = "okay";
 		num-slots = <1>;
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-			disable-wp;
-		};
+		bus-width = <4>;
+		disable-wp;
+		cap-sd-highspeed;
 	};
 
 	spi_1: spi@12d30000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index 1ce1088..2245278 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -190,10 +190,8 @@
 	 */
 	mmc@12230000 {
 		status = "okay";
-		slot@0 {
-			pinctrl-names = "default";
-			pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
-		};
+		pinctrl-names = "default";
+		pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
 	};
 
 	usb@12110000 {
diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index 80a3bf4..752715a 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -40,7 +40,6 @@
 	mmc@12200000 {
 		status = "okay";
 		broken-cd;
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <0 4>;
@@ -48,16 +47,12 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
 		vmmc-supply = <&ldo10_reg>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	mmc@12220000 {
 		status = "okay";
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
@@ -65,11 +60,8 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
 		vmmc-supply = <&ldo10_reg>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-		};
+		bus-width = <4>;
+		cap-sd-highspeed;
 	};
 
 	hsi2c_4: i2c@12CA0000 {
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index 6910485..7f5e35b 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -71,34 +71,26 @@
 	mmc@12200000 {
 		status = "okay";
 		broken-cd;
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <0 4>;
 		samsung,dw-mshc-ddr-timing = <0 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <8>;
-		};
+		bus-width = <8>;
+		cap-mmc-highspeed;
 	};
 
 	mmc@12220000 {
 		status = "okay";
-		supports-highspeed;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-sdr-timing = <2 3>;
 		samsung,dw-mshc-ddr-timing = <1 2>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-		slot@0 {
-			reg = <0>;
-			bus-width = <4>;
-		};
+		bus-width = <4>;
+		cap-sd-highspeed;
 	};
 
 	dp-controller@145B0000 {
diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
index 035df40..0e618d5 100644
--- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts
+++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
@@ -58,12 +58,8 @@
 			pinctrl-names = "default";
 			pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
 			vmmc-supply = <&vcc_sd0>;
-
-			slot@0 {
-				reg = <0>;
-				bus-width = <4>;
-				disable-wp;
-			};
+			bus-width = <4>;
+			disable-wp;
 		};
 
 		dwmmc@10218000 { /* wifi */
@@ -73,12 +69,8 @@
 
 			pinctrl-names = "default";
 			pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
-
-			slot@0 {
-				reg = <0>;
-				bus-width = <4>;
-				disable-wp;
-			};
+			bus-width = <4>;
+			disable-wp;
 		};
 
 		gpio-keys {
diff --git a/arch/arm/boot/dts/socfpga_arria5.dtsi b/arch/arm/boot/dts/socfpga_arria5.dtsi
index 6c87b70..45ec0e4 100644
--- a/arch/arm/boot/dts/socfpga_arria5.dtsi
+++ b/arch/arm/boot/dts/socfpga_arria5.dtsi
@@ -29,13 +29,11 @@
 
 		dwmmc0@ff704000 {
 			num-slots = <1>;
-			supports-highspeed;
-			broken-cd;
 
-			slot@0 {
-				reg = <0>;
-				bus-width = <4>;
-			};
+			bus-width = <4>;
+			broken-cd;
+			cap-mmc-highspeed;
+			cap-sd-highspeed;
 		};
 
 		serial0@ffc02000 {
diff --git a/arch/arm/boot/dts/socfpga_cyclone5.dtsi b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
index ca41b0e..c4ebf65 100644
--- a/arch/arm/boot/dts/socfpga_cyclone5.dtsi
+++ b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
@@ -30,13 +30,10 @@
 
 		dwmmc0@ff704000 {
 			num-slots = <1>;
-			supports-highspeed;
 			broken-cd;
-
-			slot@0 {
-				reg = <0>;
-				bus-width = <4>;
-			};
+			bus-width = <4>;
+			cap-mmc-highspeed;
+			cap-sd-highspeed;
 		};
 
 		ethernet@ff702000 {
diff --git a/arch/arm/boot/dts/socfpga_vt.dts b/arch/arm/boot/dts/socfpga_vt.dts
index 87d6f75..07e7206 100644
--- a/arch/arm/boot/dts/socfpga_vt.dts
+++ b/arch/arm/boot/dts/socfpga_vt.dts
@@ -43,13 +43,10 @@
 
 		dwmmc0@ff704000 {
 			num-slots = <1>;
-			supports-highspeed;
 			broken-cd;
-
-			slot@0 {
-				reg = <0>;
-				bus-width = <4>;
-			};
+			bus-width = <4>;
+			cap-mmc-highspeed;
+			cap-sd-highspeed;
 		};
 
 		ethernet@ff700000 {
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
  2014-06-13  4:31 ` [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc Jaehoon Chung
@ 2014-06-13 11:14     ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2014-06-13 11:14 UTC (permalink / raw)
  To: Jaehoon Chung
  Cc: linux-mmc, Chris Ball, tgih.jun, devicetree, Heiko St.bner,
	dinguyen, Mark Rutland, Tushar Behera, linux-arm-kernel

On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> dw-mmc controller can support multiple slots.
> But, there are no use-cases anywhere. So we don't need to support the
> slot-node for dw-mmc controller.
> And "supports-highspeed" property in dw-mmc is deprecated.
> "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".

This looks good to me.

Though, you need to help me understand how to handle this patch.

1) Is it to consider as a fix for 3.16?
2 ) I am not sure if there are a dependency to patch 1 - if not this
patch is better suited for ARM SoC.

Kind regards
Uffe

>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Reviewed-by: Tushar Behera <trblinux@gmail.com>
> ---
> Changelog V7:
>         - Remove the missing subnode.
> Changelog V6:
>         - Add the missing property.
> Changelog V5:
>         - Fix typo.
> Changelog V4:
>         - Remove the slot-node.
>         - Rename Subject.
>                 "[PATCHv3 4/4]ARM: dts: replace the slot property into slot sub-node for dwmmc"
> Changelog V3:
>         - Merge "[PATCH 2/5] mmc: dw_mmc: rmove the "supports-highspeed" property"
> Changelog V2:
>         - None
>
>  .../devicetree/bindings/mmc/exynos-dw-mshc.txt     |   17 ++++--------
>  .../devicetree/bindings/mmc/k3-dw-mshc.txt         |   12 ++++-----
>  .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |   12 ++++-----
>  arch/arm/boot/dts/exynos4412-odroidx.dts           |    8 ++----
>  arch/arm/boot/dts/exynos4412-origen.dts            |    8 ++----
>  arch/arm/boot/dts/exynos4412-trats2.dts            |    8 ++----
>  arch/arm/boot/dts/exynos5250-arndale.dts           |   18 ++++---------
>  arch/arm/boot/dts/exynos5250-cros-common.dtsi      |   28 ++++++--------------
>  arch/arm/boot/dts/exynos5250-smdk5250.dts          |   18 ++++---------
>  arch/arm/boot/dts/exynos5250-snow.dts              |    6 ++---
>  arch/arm/boot/dts/exynos5420-arndale-octa.dts      |   16 +++--------
>  arch/arm/boot/dts/exynos5420-smdk5420.dts          |   16 +++--------
>  arch/arm/boot/dts/rk3066a-bqcurie2.dts             |   16 +++--------
>  arch/arm/boot/dts/socfpga_arria5.dtsi              |   10 +++----
>  arch/arm/boot/dts/socfpga_cyclone5.dtsi            |    9 +++----
>  arch/arm/boot/dts/socfpga_vt.dts                   |    9 +++----
>  16 files changed, 63 insertions(+), 148 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> index 532b1d4..4cdd283 100644
> --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> @@ -46,13 +46,14 @@ Required Properties:
>        - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
>          phase shift clocks should be 0.
>
> -Required properties for a slot:
> +Required properties for a slot (Deprecated - Recommend to use one slot per a host):
>
>  * gpios: specifies a list of gpios used for command, clock and data bus. The
>    first gpio is the command line and the second gpio is the clock line. The
>    rest of the gpios (depending on the bus-width property) are the data lines in
>    no particular order. The format of the gpio specifier depends on the gpio
>    controller.
> + (Deprecated - Refer to Documentaion/devicetree/binding/pinctrl/samsung-pinctrl.txt)
>
>  Example:
>
> @@ -69,21 +70,13 @@ Example:
>
>         dwmmc0@12200000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>                 fifo-depth = <0x80>;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -                       gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
> -                               <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
> -                               <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
> -                               <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
> -                               <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
> -               };
> +               bus-width = <8>;
>         };
> diff --git a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> index b8653ea..514c0fc 100644
> --- a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> @@ -34,13 +34,11 @@ Example:
>                 num-slots = <1>;
>                 vmmc-supply = <&ldo12>;
>                 fifo-depth = <0x100>;
> -               supports-highspeed;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -                       cd-gpios = <&gpio10 3 0>;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cd-gpios = <&gpio10 3 0>;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>         };
> diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> index 2d4a725..346c609 100644
> --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> @@ -67,7 +67,8 @@ Optional properties:
>  * card-detect-delay: Delay in milli-seconds before detecting card after card
>    insert event. The default value is 0.
>
> -* supports-highspeed: Enables support for high speed cards (up to 50MHz)
> +* supports-highspeed (DEPRECATED): Enables support for high speed cards (up to 50MHz)
> +                          (use "cap-mmc-highspeed" or "cap-sd-highspeed" instead)
>
>  * broken-cd: as documented in mmc core bindings.
>
> @@ -98,14 +99,11 @@ board specific portions as listed below.
>                 clock-frequency = <400000000>;
>                 clock-freq-min-max = <400000 200000000>;
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 fifo-depth = <0x80>;
>                 card-detect-delay = <200>;
>                 vmmc-supply = <&buck8>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>         };
> diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
> index 31db28a..778aec6 100644
> --- a/arch/arm/boot/dts/exynos4412-odroidx.dts
> +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
> @@ -45,17 +45,13 @@
>                 status = "okay";
>
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         regulator_p3v3 {
> diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
> index e2c0dca..8832424 100644
> --- a/arch/arm/boot/dts/exynos4412-origen.dts
> +++ b/arch/arm/boot/dts/exynos4412-origen.dts
> @@ -128,17 +128,13 @@
>                 status = "okay";
>
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         codec@13400000 {
> diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
> index 73be464..47b6f3a 100644
> --- a/arch/arm/boot/dts/exynos4412-trats2.dts
> +++ b/arch/arm/boot/dts/exynos4412-trats2.dts
> @@ -459,7 +459,6 @@
>
>         mmc@12550000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 non-removable;
>                 card-detect-delay = <200>;
> @@ -468,14 +467,11 @@
>                 samsung,dw-mshc-ciu-div = <0>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
>                 pinctrl-names = "default";
>                 status = "okay";
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
>         };
>
>         sd_reg: voltage-regulator@1 {
> diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
> index 090f983..2f61e4d 100644
> --- a/arch/arm/boot/dts/exynos5250-arndale.dts
> +++ b/arch/arm/boot/dts/exynos5250-arndale.dts
> @@ -399,7 +399,6 @@
>         mmc_0: mmc@12200000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -408,17 +407,13 @@
>                 vmmc-supply = <&mmc_reg>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc_2: mmc@12220000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
> @@ -426,12 +421,9 @@
>                 vmmc-supply = <&mmc_reg>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cap-sd-highspeed;
>         };
>
>         i2s0: i2s@03830000 {
> diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> index 2c1560d..70bbd03 100644
> --- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> @@ -248,7 +248,6 @@
>
>         mmc@12200000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -256,44 +255,33 @@
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc@12220000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       wp-gpios = <&gpc2 1 0>;
> -               };
> +               bus-width = <4>;
> +               wp-gpios = <&gpc2 1 0>;
> +               cap-sd-highspeed;
>         };
>
>         mmc@12230000 {
>                 num-slots = <1>;
> -               supports-highspeed;
> -               broken-cd;
>                 card-detect-delay = <200>;
> +               broken-cd;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 /* See board-specific dts files for pin setup */
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         spi_1: spi@12d30000 {
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index a794a70..e00ffc6 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> @@ -282,7 +282,6 @@
>         mmc@12200000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -290,29 +289,22 @@
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc@12220000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cap-sd-highspeed;
>         };
>
>         spi_1: spi@12d30000 {
> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
> index 1ce1088..2245278 100644
> --- a/arch/arm/boot/dts/exynos5250-snow.dts
> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
> @@ -190,10 +190,8 @@
>          */
>         mmc@12230000 {
>                 status = "okay";
> -               slot@0 {
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
> -               };
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
>         };
>
>         usb@12110000 {
> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> index 80a3bf4..752715a 100644
> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> @@ -40,7 +40,6 @@
>         mmc@12200000 {
>                 status = "okay";
>                 broken-cd;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <0 4>;
> @@ -48,16 +47,12 @@
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
>                 vmmc-supply = <&ldo10_reg>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc@12220000 {
>                 status = "okay";
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
> @@ -65,11 +60,8 @@
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>                 vmmc-supply = <&ldo10_reg>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         hsi2c_4: i2c@12CA0000 {
> diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> index 6910485..7f5e35b 100644
> --- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
> +++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> @@ -71,34 +71,26 @@
>         mmc@12200000 {
>                 status = "okay";
>                 broken-cd;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <0 4>;
>                 samsung,dw-mshc-ddr-timing = <0 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc@12220000 {
>                 status = "okay";
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot@0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         dp-controller@145B0000 {
> diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> index 035df40..0e618d5 100644
> --- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> +++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> @@ -58,12 +58,8 @@
>                         pinctrl-names = "default";
>                         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
>                         vmmc-supply = <&vcc_sd0>;
> -
> -                       slot@0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                               disable-wp;
> -                       };
> +                       bus-width = <4>;
> +                       disable-wp;
>                 };
>
>                 dwmmc@10218000 { /* wifi */
> @@ -73,12 +69,8 @@
>
>                         pinctrl-names = "default";
>                         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
> -
> -                       slot@0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                               disable-wp;
> -                       };
> +                       bus-width = <4>;
> +                       disable-wp;
>                 };
>
>                 gpio-keys {
> diff --git a/arch/arm/boot/dts/socfpga_arria5.dtsi b/arch/arm/boot/dts/socfpga_arria5.dtsi
> index 6c87b70..45ec0e4 100644
> --- a/arch/arm/boot/dts/socfpga_arria5.dtsi
> +++ b/arch/arm/boot/dts/socfpga_arria5.dtsi
> @@ -29,13 +29,11 @@
>
>                 dwmmc0@ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
> -                       broken-cd;
>
> -                       slot@0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       broken-cd;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 serial0@ffc02000 {
> diff --git a/arch/arm/boot/dts/socfpga_cyclone5.dtsi b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> index ca41b0e..c4ebf65 100644
> --- a/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> +++ b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> @@ -30,13 +30,10 @@
>
>                 dwmmc0@ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
>                         broken-cd;
> -
> -                       slot@0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 ethernet@ff702000 {
> diff --git a/arch/arm/boot/dts/socfpga_vt.dts b/arch/arm/boot/dts/socfpga_vt.dts
> index 87d6f75..07e7206 100644
> --- a/arch/arm/boot/dts/socfpga_vt.dts
> +++ b/arch/arm/boot/dts/socfpga_vt.dts
> @@ -43,13 +43,10 @@
>
>                 dwmmc0@ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
>                         broken-cd;
> -
> -                       slot@0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 ethernet@ff700000 {
> --
> 1.7.9.5
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
@ 2014-06-13 11:14     ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2014-06-13 11:14 UTC (permalink / raw)
  To: linux-arm-kernel

On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> dw-mmc controller can support multiple slots.
> But, there are no use-cases anywhere. So we don't need to support the
> slot-node for dw-mmc controller.
> And "supports-highspeed" property in dw-mmc is deprecated.
> "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".

This looks good to me.

Though, you need to help me understand how to handle this patch.

1) Is it to consider as a fix for 3.16?
2 ) I am not sure if there are a dependency to patch 1 - if not this
patch is better suited for ARM SoC.

Kind regards
Uffe

>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Reviewed-by: Tushar Behera <trblinux@gmail.com>
> ---
> Changelog V7:
>         - Remove the missing subnode.
> Changelog V6:
>         - Add the missing property.
> Changelog V5:
>         - Fix typo.
> Changelog V4:
>         - Remove the slot-node.
>         - Rename Subject.
>                 "[PATCHv3 4/4]ARM: dts: replace the slot property into slot sub-node for dwmmc"
> Changelog V3:
>         - Merge "[PATCH 2/5] mmc: dw_mmc: rmove the "supports-highspeed" property"
> Changelog V2:
>         - None
>
>  .../devicetree/bindings/mmc/exynos-dw-mshc.txt     |   17 ++++--------
>  .../devicetree/bindings/mmc/k3-dw-mshc.txt         |   12 ++++-----
>  .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |   12 ++++-----
>  arch/arm/boot/dts/exynos4412-odroidx.dts           |    8 ++----
>  arch/arm/boot/dts/exynos4412-origen.dts            |    8 ++----
>  arch/arm/boot/dts/exynos4412-trats2.dts            |    8 ++----
>  arch/arm/boot/dts/exynos5250-arndale.dts           |   18 ++++---------
>  arch/arm/boot/dts/exynos5250-cros-common.dtsi      |   28 ++++++--------------
>  arch/arm/boot/dts/exynos5250-smdk5250.dts          |   18 ++++---------
>  arch/arm/boot/dts/exynos5250-snow.dts              |    6 ++---
>  arch/arm/boot/dts/exynos5420-arndale-octa.dts      |   16 +++--------
>  arch/arm/boot/dts/exynos5420-smdk5420.dts          |   16 +++--------
>  arch/arm/boot/dts/rk3066a-bqcurie2.dts             |   16 +++--------
>  arch/arm/boot/dts/socfpga_arria5.dtsi              |   10 +++----
>  arch/arm/boot/dts/socfpga_cyclone5.dtsi            |    9 +++----
>  arch/arm/boot/dts/socfpga_vt.dts                   |    9 +++----
>  16 files changed, 63 insertions(+), 148 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> index 532b1d4..4cdd283 100644
> --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> @@ -46,13 +46,14 @@ Required Properties:
>        - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
>          phase shift clocks should be 0.
>
> -Required properties for a slot:
> +Required properties for a slot (Deprecated - Recommend to use one slot per a host):
>
>  * gpios: specifies a list of gpios used for command, clock and data bus. The
>    first gpio is the command line and the second gpio is the clock line. The
>    rest of the gpios (depending on the bus-width property) are the data lines in
>    no particular order. The format of the gpio specifier depends on the gpio
>    controller.
> + (Deprecated - Refer to Documentaion/devicetree/binding/pinctrl/samsung-pinctrl.txt)
>
>  Example:
>
> @@ -69,21 +70,13 @@ Example:
>
>         dwmmc0 at 12200000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>                 fifo-depth = <0x80>;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -                       gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
> -                               <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
> -                               <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
> -                               <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
> -                               <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
> -               };
> +               bus-width = <8>;
>         };
> diff --git a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> index b8653ea..514c0fc 100644
> --- a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> @@ -34,13 +34,11 @@ Example:
>                 num-slots = <1>;
>                 vmmc-supply = <&ldo12>;
>                 fifo-depth = <0x100>;
> -               supports-highspeed;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -                       cd-gpios = <&gpio10 3 0>;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cd-gpios = <&gpio10 3 0>;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>         };
> diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> index 2d4a725..346c609 100644
> --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> @@ -67,7 +67,8 @@ Optional properties:
>  * card-detect-delay: Delay in milli-seconds before detecting card after card
>    insert event. The default value is 0.
>
> -* supports-highspeed: Enables support for high speed cards (up to 50MHz)
> +* supports-highspeed (DEPRECATED): Enables support for high speed cards (up to 50MHz)
> +                          (use "cap-mmc-highspeed" or "cap-sd-highspeed" instead)
>
>  * broken-cd: as documented in mmc core bindings.
>
> @@ -98,14 +99,11 @@ board specific portions as listed below.
>                 clock-frequency = <400000000>;
>                 clock-freq-min-max = <400000 200000000>;
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 fifo-depth = <0x80>;
>                 card-detect-delay = <200>;
>                 vmmc-supply = <&buck8>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
> +               cap-sd-highspeed;
>         };
> diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
> index 31db28a..778aec6 100644
> --- a/arch/arm/boot/dts/exynos4412-odroidx.dts
> +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
> @@ -45,17 +45,13 @@
>                 status = "okay";
>
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         regulator_p3v3 {
> diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
> index e2c0dca..8832424 100644
> --- a/arch/arm/boot/dts/exynos4412-origen.dts
> +++ b/arch/arm/boot/dts/exynos4412-origen.dts
> @@ -128,17 +128,13 @@
>                 status = "okay";
>
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         codec at 13400000 {
> diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
> index 73be464..47b6f3a 100644
> --- a/arch/arm/boot/dts/exynos4412-trats2.dts
> +++ b/arch/arm/boot/dts/exynos4412-trats2.dts
> @@ -459,7 +459,6 @@
>
>         mmc at 12550000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 non-removable;
>                 card-detect-delay = <200>;
> @@ -468,14 +467,11 @@
>                 samsung,dw-mshc-ciu-div = <0>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
>                 pinctrl-names = "default";
>                 status = "okay";
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
>         };
>
>         sd_reg: voltage-regulator at 1 {
> diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
> index 090f983..2f61e4d 100644
> --- a/arch/arm/boot/dts/exynos5250-arndale.dts
> +++ b/arch/arm/boot/dts/exynos5250-arndale.dts
> @@ -399,7 +399,6 @@
>         mmc_0: mmc at 12200000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -408,17 +407,13 @@
>                 vmmc-supply = <&mmc_reg>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc_2: mmc at 12220000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
> @@ -426,12 +421,9 @@
>                 vmmc-supply = <&mmc_reg>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cap-sd-highspeed;
>         };
>
>         i2s0: i2s at 03830000 {
> diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> index 2c1560d..70bbd03 100644
> --- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> @@ -248,7 +248,6 @@
>
>         mmc at 12200000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -256,44 +255,33 @@
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc at 12220000 {
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       wp-gpios = <&gpc2 1 0>;
> -               };
> +               bus-width = <4>;
> +               wp-gpios = <&gpc2 1 0>;
> +               cap-sd-highspeed;
>         };
>
>         mmc at 12230000 {
>                 num-slots = <1>;
> -               supports-highspeed;
> -               broken-cd;
>                 card-detect-delay = <200>;
> +               broken-cd;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 /* See board-specific dts files for pin setup */
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         spi_1: spi at 12d30000 {
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index a794a70..e00ffc6 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> @@ -282,7 +282,6 @@
>         mmc at 12200000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 broken-cd;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
> @@ -290,29 +289,22 @@
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc at 12220000 {
>                 status = "okay";
>                 num-slots = <1>;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -                       disable-wp;
> -               };
> +               bus-width = <4>;
> +               disable-wp;
> +               cap-sd-highspeed;
>         };
>
>         spi_1: spi at 12d30000 {
> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
> index 1ce1088..2245278 100644
> --- a/arch/arm/boot/dts/exynos5250-snow.dts
> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
> @@ -190,10 +190,8 @@
>          */
>         mmc at 12230000 {
>                 status = "okay";
> -               slot at 0 {
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
> -               };
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
>         };
>
>         usb at 12110000 {
> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> index 80a3bf4..752715a 100644
> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> @@ -40,7 +40,6 @@
>         mmc at 12200000 {
>                 status = "okay";
>                 broken-cd;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <0 4>;
> @@ -48,16 +47,12 @@
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
>                 vmmc-supply = <&ldo10_reg>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc at 12220000 {
>                 status = "okay";
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
> @@ -65,11 +60,8 @@
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>                 vmmc-supply = <&ldo10_reg>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         hsi2c_4: i2c at 12CA0000 {
> diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> index 6910485..7f5e35b 100644
> --- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
> +++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
> @@ -71,34 +71,26 @@
>         mmc at 12200000 {
>                 status = "okay";
>                 broken-cd;
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <0 4>;
>                 samsung,dw-mshc-ddr-timing = <0 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <8>;
> -               };
> +               bus-width = <8>;
> +               cap-mmc-highspeed;
>         };
>
>         mmc at 12220000 {
>                 status = "okay";
> -               supports-highspeed;
>                 card-detect-delay = <200>;
>                 samsung,dw-mshc-ciu-div = <3>;
>                 samsung,dw-mshc-sdr-timing = <2 3>;
>                 samsung,dw-mshc-ddr-timing = <1 2>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> -
> -               slot at 0 {
> -                       reg = <0>;
> -                       bus-width = <4>;
> -               };
> +               bus-width = <4>;
> +               cap-sd-highspeed;
>         };
>
>         dp-controller at 145B0000 {
> diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> index 035df40..0e618d5 100644
> --- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> +++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts
> @@ -58,12 +58,8 @@
>                         pinctrl-names = "default";
>                         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
>                         vmmc-supply = <&vcc_sd0>;
> -
> -                       slot at 0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                               disable-wp;
> -                       };
> +                       bus-width = <4>;
> +                       disable-wp;
>                 };
>
>                 dwmmc at 10218000 { /* wifi */
> @@ -73,12 +69,8 @@
>
>                         pinctrl-names = "default";
>                         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
> -
> -                       slot at 0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                               disable-wp;
> -                       };
> +                       bus-width = <4>;
> +                       disable-wp;
>                 };
>
>                 gpio-keys {
> diff --git a/arch/arm/boot/dts/socfpga_arria5.dtsi b/arch/arm/boot/dts/socfpga_arria5.dtsi
> index 6c87b70..45ec0e4 100644
> --- a/arch/arm/boot/dts/socfpga_arria5.dtsi
> +++ b/arch/arm/boot/dts/socfpga_arria5.dtsi
> @@ -29,13 +29,11 @@
>
>                 dwmmc0 at ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
> -                       broken-cd;
>
> -                       slot at 0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       broken-cd;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 serial0 at ffc02000 {
> diff --git a/arch/arm/boot/dts/socfpga_cyclone5.dtsi b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> index ca41b0e..c4ebf65 100644
> --- a/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> +++ b/arch/arm/boot/dts/socfpga_cyclone5.dtsi
> @@ -30,13 +30,10 @@
>
>                 dwmmc0 at ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
>                         broken-cd;
> -
> -                       slot at 0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 ethernet at ff702000 {
> diff --git a/arch/arm/boot/dts/socfpga_vt.dts b/arch/arm/boot/dts/socfpga_vt.dts
> index 87d6f75..07e7206 100644
> --- a/arch/arm/boot/dts/socfpga_vt.dts
> +++ b/arch/arm/boot/dts/socfpga_vt.dts
> @@ -43,13 +43,10 @@
>
>                 dwmmc0 at ff704000 {
>                         num-slots = <1>;
> -                       supports-highspeed;
>                         broken-cd;
> -
> -                       slot at 0 {
> -                               reg = <0>;
> -                               bus-width = <4>;
> -                       };
> +                       bus-width = <4>;
> +                       cap-mmc-highspeed;
> +                       cap-sd-highspeed;
>                 };
>
>                 ethernet at ff700000 {
> --
> 1.7.9.5
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
       [not found]     ` <CAELcNGSOV2GD_uLO5HHuJgN2_pNoXtFrCmbPJh4RGc2pEaaYUA@mail.gmail.com>
@ 2014-06-16  6:56         ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2014-06-16  6:56 UTC (permalink / raw)
  To: Jae hoon Chung
  Cc: Jaehoon Chung, linux-mmc, Chris Ball, tgih.jun, devicetree,
	Heiko St.bner, dinguyen, Mark Rutland, Tushar Behera,
	linux-arm-kernel

On 13 June 2014 15:31, Jae hoon Chung <jh80.chung@gmail.com> wrote:
> Hi, Ulf.
>
>
> 2014-06-13 20:14 GMT+09:00 Ulf Hansson <ulf.hansson@linaro.org>:
>
>> On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> > dw-mmc controller can support multiple slots.
>> > But, there are no use-cases anywhere. So we don't need to support the
>> > slot-node for dw-mmc controller.
>> > And "supports-highspeed" property in dw-mmc is deprecated.
>> > "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".
>>
>> This looks good to me.
>>
>> Though, you need to help me understand how to handle this patch.
>>
>> 1) Is it to consider as a fix for 3.16?
>
> Right..It's related with "mmc: dw_mmc: use the mmc_of_parse() instead of
> local parser"
> DW-MMC didn't parse the subnode, so it didn't set to correct bus-width.
>
>> 2 ) I am not sure if there are a dependency to patch 1 - if not this
>> patch is better suited for ARM SoC.
>
> It's not a dependency on patch 1.
> Let me know how i do, plz.

I would suggest you to re-send it to the ARM lits and the ARM SoC guys
and keeping the respective SoC maintainer on the to list of course.

Add a note that it's intended as fix for 3.16 and you may also add my
reviewed by tag.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
@ 2014-06-16  6:56         ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2014-06-16  6:56 UTC (permalink / raw)
  To: linux-arm-kernel

On 13 June 2014 15:31, Jae hoon Chung <jh80.chung@gmail.com> wrote:
> Hi, Ulf.
>
>
> 2014-06-13 20:14 GMT+09:00 Ulf Hansson <ulf.hansson@linaro.org>:
>
>> On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> > dw-mmc controller can support multiple slots.
>> > But, there are no use-cases anywhere. So we don't need to support the
>> > slot-node for dw-mmc controller.
>> > And "supports-highspeed" property in dw-mmc is deprecated.
>> > "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".
>>
>> This looks good to me.
>>
>> Though, you need to help me understand how to handle this patch.
>>
>> 1) Is it to consider as a fix for 3.16?
>
> Right..It's related with "mmc: dw_mmc: use the mmc_of_parse() instead of
> local parser"
> DW-MMC didn't parse the subnode, so it didn't set to correct bus-width.
>
>> 2 ) I am not sure if there are a dependency to patch 1 - if not this
>> patch is better suited for ARM SoC.
>
> It's not a dependency on patch 1.
> Let me know how i do, plz.

I would suggest you to re-send it to the ARM lits and the ARM SoC guys
and keeping the respective SoC maintainer on the to list of course.

Add a note that it's intended as fix for 3.16 and you may also add my
reviewed by tag.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
  2014-06-16  6:56         ` Ulf Hansson
@ 2014-06-16  7:47           ` Jaehoon Chung
  -1 siblings, 0 replies; 10+ messages in thread
From: Jaehoon Chung @ 2014-06-16  7:47 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Jaehoon Chung, linux-mmc, Chris Ball, tgih.jun, devicetree,
	Heiko St.bner, dinguyen, Mark Rutland, Tushar Behera,
	linux-arm-kernel

On 06/16/2014 03:56 PM, Ulf Hansson wrote:
> On 13 June 2014 15:31, Jae hoon Chung <jh80.chung@gmail.com> wrote:
>> Hi, Ulf.
>>
>>
>> 2014-06-13 20:14 GMT+09:00 Ulf Hansson <ulf.hansson@linaro.org>:
>>
>>> On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>>> dw-mmc controller can support multiple slots.
>>>> But, there are no use-cases anywhere. So we don't need to support the
>>>> slot-node for dw-mmc controller.
>>>> And "supports-highspeed" property in dw-mmc is deprecated.
>>>> "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".
>>>
>>> This looks good to me.
>>>
>>> Though, you need to help me understand how to handle this patch.
>>>
>>> 1) Is it to consider as a fix for 3.16?
>>
>> Right..It's related with "mmc: dw_mmc: use the mmc_of_parse() instead of
>> local parser"
>> DW-MMC didn't parse the subnode, so it didn't set to correct bus-width.
>>
>>> 2 ) I am not sure if there are a dependency to patch 1 - if not this
>>> patch is better suited for ARM SoC.
>>
>> It's not a dependency on patch 1.
>> Let me know how i do, plz.
> 
> I would suggest you to re-send it to the ARM lits and the ARM SoC guys
> and keeping the respective SoC maintainer on the to list of course.
> 
> Add a note that it's intended as fix for 3.16 and you may also add my
> reviewed by tag.
Ok. I will resend the patch..Thanks

Best Regards,
Jaehoon Chung
> 
> Kind regards
> Uffe
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
@ 2014-06-16  7:47           ` Jaehoon Chung
  0 siblings, 0 replies; 10+ messages in thread
From: Jaehoon Chung @ 2014-06-16  7:47 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/16/2014 03:56 PM, Ulf Hansson wrote:
> On 13 June 2014 15:31, Jae hoon Chung <jh80.chung@gmail.com> wrote:
>> Hi, Ulf.
>>
>>
>> 2014-06-13 20:14 GMT+09:00 Ulf Hansson <ulf.hansson@linaro.org>:
>>
>>> On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>>> dw-mmc controller can support multiple slots.
>>>> But, there are no use-cases anywhere. So we don't need to support the
>>>> slot-node for dw-mmc controller.
>>>> And "supports-highspeed" property in dw-mmc is deprecated.
>>>> "supports-highspeed" property can be replaced to "cap-sd/mmc-highspeed".
>>>
>>> This looks good to me.
>>>
>>> Though, you need to help me understand how to handle this patch.
>>>
>>> 1) Is it to consider as a fix for 3.16?
>>
>> Right..It's related with "mmc: dw_mmc: use the mmc_of_parse() instead of
>> local parser"
>> DW-MMC didn't parse the subnode, so it didn't set to correct bus-width.
>>
>>> 2 ) I am not sure if there are a dependency to patch 1 - if not this
>>> patch is better suited for ARM SoC.
>>
>> It's not a dependency on patch 1.
>> Let me know how i do, plz.
> 
> I would suggest you to re-send it to the ARM lits and the ARM SoC guys
> and keeping the respective SoC maintainer on the to list of course.
> 
> Add a note that it's intended as fix for 3.16 and you may also add my
> reviewed by tag.
Ok. I will resend the patch..Thanks

Best Regards,
Jaehoon Chung
> 
> Kind regards
> Uffe
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
  2014-06-13  4:31 ` [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk Jaehoon Chung
@ 2014-06-16  8:30   ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2014-06-16  8:30 UTC (permalink / raw)
  To: Jaehoon Chung
  Cc: linux-mmc, Chris Ball, tgih.jun, devicetree, Heiko St.bner,
	dinguyen, Mark Rutland, Tushar Behera

On 13 June 2014 06:31, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> Replaced the "disable-wp" into host's quirks.
> (Because the slot-node is removed at dt-file.)
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>

Thanks!

Applied for next.

Kind regards
Uffe

> ---
> Changelog V6/V7:
>         -None
> Changelog V5:
>         - Modify comment.
> Changelog V4:
>         - Rename Subject
>                 "[PATCHv3 2/4] mmc: dw_mmc: use the __mmc_of_parse to parse the slot node"
>         - Replace the "disable-wp" into host's quirks, according to remove the slot-node at dt-file.
> Changelog V3:
>         - Fix typo.
>         - Maintained the dw_mci_of_quirks().
> Changelog V2:
>         - None
>
>  drivers/mmc/host/dw_mmc.c |   10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 1ac227c..99fc939 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -2006,12 +2006,7 @@ static struct device_node *dw_mci_of_find_slot_node(struct device *dev, u8 slot)
>  static struct dw_mci_of_slot_quirks {
>         char *quirk;
>         int id;
> -} of_slot_quirks[] = {
> -       {
> -               .quirk  = "disable-wp",
> -               .id     = DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT,
> -       },
> -};
> +} of_slot_quirks[] = {};
>
>  static int dw_mci_of_get_slot_quirks(struct device *dev, u8 slot)
>  {
> @@ -2238,6 +2233,9 @@ static struct dw_mci_of_quirks {
>         {
>                 .quirk  = "broken-cd",
>                 .id     = DW_MCI_QUIRK_BROKEN_CARD_DETECTION,
> +       }, {
> +               .quirk  = "disable-wp",
> +               .id     = DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT,
>         },
>  };
>
> --
> 1.7.9.5
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-06-16  8:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-13  4:31 [PATCHv7 0/2] mmc: fixed the mmc_of_parse for dwmmc Jaehoon Chung
2014-06-13  4:31 ` [PATCHv7 1/2] mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk Jaehoon Chung
2014-06-16  8:30   ` Ulf Hansson
2014-06-13  4:31 ` [PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc Jaehoon Chung
2014-06-13 11:14   ` Ulf Hansson
2014-06-13 11:14     ` Ulf Hansson
     [not found]     ` <CAELcNGSOV2GD_uLO5HHuJgN2_pNoXtFrCmbPJh4RGc2pEaaYUA@mail.gmail.com>
2014-06-16  6:56       ` Ulf Hansson
2014-06-16  6:56         ` Ulf Hansson
2014-06-16  7:47         ` Jaehoon Chung
2014-06-16  7:47           ` Jaehoon Chung

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.