ARM: remove the sub-node and deprecate supports-highspeed property for dwmmc.
Subsystems (4)
Jaehoon Chung
maintainerv7 cover ARM: remove the sub-node and deprecate supports-highspeed property for dwmmc.
Since used the mmc_of_parse(), didn't parse the sub-node.
So we can remove the sub-node, because almost SoC used the only one card per a host. And supports-highspeed can be replaced to "cap-mmc/sd-highspeed" property.
Chnagelog V7:
- Fixed typo and modified the commit message.
Changelog V6:
- Fixed Wrong bit control for host's quirks and rename.
- Add "Acked-by" for each SoC maintainers.
Changelog V5:
- Rebased on v3.16-rc4.
- Add Acked-by.
Changelog V4:
- Fix the checkpatch error.
Changelog V3:
- Fix the wrong bus-width value.
- Use the slot->host->quirks instead of brq->quirks.
- Add tested-by and reviewd-by.
Changelog V2:
- Add the "mmc: dw_mmc: replace "disable-wp" from slot's quirks to host's quirk"
Jaehoon Chung (5):
mmc: dw_mmc: modify the dt-binding for removing slot-node and
supports-highspeed
ARM: dts: exynos: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
ARM: dts: socfpga: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
ARM: dts: rockchip: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
.../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 | 26 ++++++-------------- arch/arm/boot/dts/exynos5250-smdk5250.dts | 18 ++++---------- arch/arm/boot/dts/exynos5250-snow.dts | 6 ++--- arch/arm/boot/dts/exynos5260-xyref5260.dts | 18 ++++---------- arch/arm/boot/dts/exynos5410-smdk5410.dts | 18 ++++---------- arch/arm/boot/dts/exynos5420-arndale-octa.dts | 16 +++--------- arch/arm/boot/dts/exynos5420-peach-pit.dts | 16 +++--------- arch/arm/boot/dts/exynos5420-smdk5420.dts | 16 +++--------- arch/arm/boot/dts/exynos5800-peach-pi.dts | 16 +++--------- arch/arm/boot/dts/rk3066a-bqcurie2.dts | 16 +++--------- arch/arm/boot/dts/socfpga_arria5.dtsi | 9 +++---- arch/arm/boot/dts/socfpga_cyclone5.dtsi | 9 +++---- arch/arm/boot/dts/socfpga_vt.dts | 9 +++---- drivers/mmc/host/dw_mmc.c | 12 ++++----- include/linux/mmc/dw_mmc.h | 6 ++--- 22 files changed, 86 insertions(+), 208 deletions(-)
Signature · 1 line
1.7.9.5
Jaehoon Chung
maintainerPATCH v7 1/5 mmc: dw_mmc: modify the dt-binding for removing slot-node and supports-highspeed
Almost SoCs use one slot per host controller.
(Even if controller can support the multiple slot, Recommend to use one slot per host controller.) Don't use the slot-node and deprecate the "supports-highspeed" property.
Instead, use the cap-mmc/sd-highspeed.
--- .../devicetree/bindings/mmc/exynos-dw-mshc.txt | 17 +++++------------ .../devicetree/bindings/mmc/k3-dw-mshc.txt | 12 +++++------- .../devicetree/bindings/mmc/synopsys-dw-mshc.txt | 12 +++++------- 3 files changed, 15 insertions(+), 26 deletions(-)
Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +5 -12
@@ -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 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 Documentation/devicetree/binding/pinctrl/samsung-pinctrl.txt) Example:
@@ -69,21 +70,13 @@ Example: dwmmc0 at 12200000 { num-slots = <1>; - supports-highspeed; + cap-mmc-highspeed; + cap-sd-highspeed; broken-cd; 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>; };
Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt +5 -7
@@ -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; };
Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt +5 -7
@@ -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; };
Signature · 1 line
1.7.9.5
PATCH v7 1/5 mmc: dw_mmc: modify the dt-binding for removing slot-node and supports-highspeed
Am 28.07.2014 04:29, schrieb Jaehoon Chung:
Quoted 1 line
Almost SoCs use one slot per host controller.
Still has "Almost SoCs" - I had suggested to insert "all", but I think you mean "Most SoCs".
Quoted 9 lines
(Even if controller can support the multiple slot, Recommend to use one slot per host controller.) Don't use the slot-node and deprecate the "supports-highspeed" property.
Instead, use the cap-mmc/sd-highspeed.Signed-off-by Jaehoon Chung <[email protected]>Reviewed-by Tushar Behera <[email protected]>Reviewed-by Ulf Hansson <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>
Regards,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg
Jaehoon Chung
maintainerPATCH v7 2/5 ARM: dts: exynos: unuse the slot-node and deprecated the supports-highspeed for dw-mmc
In reply to Jaehoon Chungdw-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".
--- 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 | 26 +++++++------------------ arch/arm/boot/dts/exynos5250-smdk5250.dts | 18 +++++------------ arch/arm/boot/dts/exynos5250-snow.dts | 6 ++---- arch/arm/boot/dts/exynos5260-xyref5260.dts | 18 +++++------------ arch/arm/boot/dts/exynos5410-smdk5410.dts | 18 +++++------------ arch/arm/boot/dts/exynos5420-arndale-octa.dts | 16 ++++----------- arch/arm/boot/dts/exynos5420-peach-pit.dts | 16 ++++----------- arch/arm/boot/dts/exynos5420-smdk5420.dts | 16 ++++----------- arch/arm/boot/dts/exynos5800-peach-pi.dts | 16 ++++----------- 13 files changed, 51 insertions(+), 141 deletions(-)
arch/arm/boot/dts/exynos4412-odroidx.dts +2 -6
@@ -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 {
arch/arm/boot/dts/exynos4412-origen.dts +2 -6
@@ -137,17 +137,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 {
arch/arm/boot/dts/exynos4412-trats2.dts +2 -6
@@ -520,7 +520,6 @@ mmc at 12550000 { num-slots = <1>; - supports-highspeed; broken-cd; non-removable; card-detect-delay = <200>;
@@ -532,11 +531,8 @@ pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; pinctrl-names = "default"; status = "okay"; - - slot at 0 { - reg = <0>; - bus-width = <8>; - }; + bus-width = <8>; + cap-mmc-highspeed; }; serial at 13800000 {
arch/arm/boot/dts/exynos5250-arndale.dts +5 -13
@@ -401,7 +401,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>;
@@ -410,17 +409,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>;
@@ -428,12 +423,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 {
arch/arm/boot/dts/exynos5250-cros-common.dtsi +7 -19
@@ -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>; 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 {
arch/arm/boot/dts/exynos5250-smdk5250.dts +5 -13
@@ -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 {
arch/arm/boot/dts/exynos5250-snow.dts +2 -4
@@ -329,10 +329,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>; }; i2c at 12CD0000 {
arch/arm/boot/dts/exynos5260-xyref5260.dts +5 -13
@@ -69,7 +69,7 @@ num-slots = <1>; broken-cd; bypass-smu; - supports-highspeed; + cap-mmc-highspeed; supports-hs200-mode; /* 200 Mhz */ card-detect-delay = <200>; samsung,dw-mshc-ciu-div = <3>;
@@ -77,27 +77,19 @@ samsung,dw-mshc-ddr-timing = <0 2>; pinctrl-names = "default"; pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; - - slot at 0 { - reg = <0>; - bus-width = <8>; - }; + bus-width = <8>; }; &mmc_2 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-sd-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_bus1 &sd2_bus4>; - - slot at 0 { - reg = <0>; - bus-width = <4>; - disable-wp; - }; + bus-width = <4>; + disable-wp; };
arch/arm/boot/dts/exynos5410-smdk5410.dts +5 -13
@@ -40,33 +40,25 @@ &mmc_0 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-mmc-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>; }; &mmc_2 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-sd-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>; - - slot at 0 { - reg = <0>; - bus-width = <4>; - disable-wp; - }; + bus-width = <4>; + disable-wp; }; &uart0 {
arch/arm/boot/dts/exynos5420-arndale-octa.dts +4 -12
@@ -50,7 +50,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>;
@@ -58,16 +57,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>;
@@ -75,11 +70,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-mmc-highspeed; }; hsi2c_4: i2c at 12CA0000 {
arch/arm/boot/dts/exynos5420-peach-pit.dts +4 -12
@@ -155,7 +155,7 @@ num-slots = <1>; broken-cd; caps2-mmc-hs200-1_8v; - supports-highspeed; + cap-mmc-highspeed; non-removable; card-detect-delay = <200>; clock-frequency = <400000000>;
@@ -164,17 +164,13 @@ 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>; }; &mmc_2 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-sd-highspeed; card-detect-delay = <200>; clock-frequency = <400000000>; samsung,dw-mshc-ciu-div = <3>;
@@ -182,11 +178,7 @@ 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>; }; &hsi2c_7 {
arch/arm/boot/dts/exynos5420-smdk5420.dts +4 -12
@@ -76,34 +76,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 {
arch/arm/boot/dts/exynos5800-peach-pi.dts +4 -12
@@ -139,7 +139,7 @@ num-slots = <1>; broken-cd; caps2-mmc-hs200-1_8v; - supports-highspeed; + cap-mmc-highspeed; non-removable; card-detect-delay = <200>; clock-frequency = <400000000>;
@@ -148,17 +148,13 @@ 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>; }; &mmc_2 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-sd-highspeed; card-detect-delay = <200>; clock-frequency = <400000000>; samsung,dw-mshc-ciu-div = <3>;
@@ -166,11 +162,7 @@ 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>; }; &dp {
Signature · 1 line
1.7.9.5
PATCH v7 2/5 ARM: dts: exynos: unuse the slot-node and deprecated the supports-highspeed for dw-mmc
Am 28.07.2014 04:29, schrieb Jaehoon Chung:
Quoted 5 lines
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".
s/replaced to/replaced with/
Quoted 21 lines
Signed-off-by Jaehoon Chung <[email protected]>Reviewed-by Tushar Behera <[email protected]>Reviewed-by Ulf Hansson <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>Acked-by Kukjin Kim <[email protected]>--- 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 | 26 +++++++------------------ arch/arm/boot/dts/exynos5250-smdk5250.dts | 18 +++++------------ arch/arm/boot/dts/exynos5250-snow.dts | 6 ++---- arch/arm/boot/dts/exynos5260-xyref5260.dts | 18 +++++------------ arch/arm/boot/dts/exynos5410-smdk5410.dts | 18 +++++------------ arch/arm/boot/dts/exynos5420-arndale-octa.dts | 16 ++++----------- arch/arm/boot/dts/exynos5420-peach-pit.dts | 16 ++++----------- arch/arm/boot/dts/exynos5420-smdk5420.dts | 16 ++++----------- arch/arm/boot/dts/exynos5800-peach-pi.dts | 16 ++++----------- 13 files changed, 51 insertions(+), 141 deletions(-)
[...]
Quoted 64 lines
arch/arm/boot/dts/exynos5250-cros-common.dtsi +7
-19@@ -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>; 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 {
[...]
Quoted 7 lines
arch/arm/boot/dts/exynos5250-snow.dts +0
-0@@ -329,10 +329,8 @@ */ mmc at 12230000 {
arch/arm/boot/dts/exynos5250-snow.dts line 336
Quoted 10 lines
arch/arm/boot/dts/exynos5250-snow.dts +2
-4status = "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>; }; i2c at 12CD0000 {
Since you said you are targeting 3.16 still, FYI Doug asked me to do the same change for 3.17 in my Spring series for correctness reasons. So we shouldn't have merge conflict there.
However, we are also dropping exynos5250-cros-common.dtsi, so at some point the above changes will need to be merged into -snow.dts as conflict resolution.
[...]
Quoted 33 lines
arch/arm/boot/dts/exynos5410-smdk5410.dts +3
-8@@ -40,33 +40,25 @@ &mmc_0 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-mmc-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>; }; &mmc_2 { status = "okay"; num-slots = <1>; - supports-highspeed; + cap-sd-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>; -
arch/arm/boot/dts/exynos5410-smdk5410.dts line 64
Quoted 10 lines
arch/arm/boot/dts/exynos5410-smdk5410.dts +2
-5- slot at 0 { - reg = <0>; - bus-width = <4>; - disable-wp; - }; + bus-width = <4>; + disable-wp; }; &uart0 {
Similarly here, I am adding an exynos5410-odroidxu.dts file that will need to get the same changes as -smdk5410.dts then.
Regards,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg
Jaehoon Chung
maintainerPATCH v7 3/5 ARM: dts: socfpga: unuse the slot-node and deprecated the supports-highspeed for dw-mmc
In reply to Jaehoon Chungdw-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".
--- arch/arm/boot/dts/socfpga_arria5.dtsi | 9 +++------ arch/arm/boot/dts/socfpga_cyclone5.dtsi | 9 +++------ arch/arm/boot/dts/socfpga_vt.dts | 9 +++------ 3 files changed, 9 insertions(+), 18 deletions(-)
arch/arm/boot/dts/socfpga_arria5.dtsi +3 -6
@@ -29,13 +29,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; }; sysmgr at ffd08000 {
arch/arm/boot/dts/socfpga_cyclone5.dtsi +3 -6
@@ -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 {
arch/arm/boot/dts/socfpga_vt.dts +3 -6
@@ -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 {
Signature · 1 line
1.7.9.5
Jaehoon Chung
maintainerPATCH v7 4/5 ARM: dts: rockchip: unuse the slot-node and deprecated the supports-highspeed for dw-mmc
In reply to Jaehoon Chungdw-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".
--- arch/arm/boot/dts/rk3066a-bqcurie2.dts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
arch/arm/boot/dts/rk3066a-bqcurie2.dts +4 -12
@@ -59,12 +59,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 */
@@ -74,12 +70,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 {
Signature · 1 line
1.7.9.5
Jaehoon Chung
maintainerPATCH v7 5/5 mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
In reply to Jaehoon ChungReplaced the "disable-wp" into host's quirks. (Because the slot-node is removed at dt-file.)
--- drivers/mmc/host/dw_mmc.c | 12 +++++------- include/linux/mmc/dw_mmc.h | 6 ++---- 2 files changed, 7 insertions(+), 11 deletions(-)
drivers/mmc/host/dw_mmc.c +5 -7
@@ -997,7 +997,7 @@ static int dw_mci_get_ro(struct mmc_host *mmc)int gpio_ro =mmc_gpio_get_ro (mmc);/* Use platform get_ro function, else try on board write protect */ -if (slot->quirks &DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT ) +if (slot->host->quirks &DW_MCI_QUIRK_NO_WRITE_PROTECT ) read_only =0 ;else if (!IS_ERR_VALUE (gpio_ro)) read_only = gpio_ro;
@@ -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_QUIRK_NO_WRITE_PROTECT, }, };
include/linux/mmc/dw_mmc.h +2 -4
@@ -213,10 +213,8 @@ struct dw_mci_dma_ops {#define DW_MCI_QUIRK_HIGHSPEED BIT(2)/* Unreliable card detection */ #define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(3) - -/* Slot level quirks */ -/* This slot has no write protect */ -#define DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT BIT(0) +/* No write protect */ +#define DW_MCI_QUIRK_NO_WRITE_PROTECT BIT(4)struct dma_pdata ;
Signature · 1 line
1.7.9.5
PATCH v7 5/5 mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
Jaehoon,
Quoted 16 lines · Jaehoon Chung
Replaced the "disable-wp" into host's quirks. (Because the slot-node is removed at dt-file.)
Signed-off-by Jaehoon Chung <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>--- drivers/mmc/host/dw_mmc.c | 12 +++++------- include/linux/mmc/dw_mmc.h | 6 ++---- 2 files changed, 7 insertions(+), 11 deletions(-)drivers/mmc/host/dw_mmc.c +0
-0
drivers/mmc/host/dw_mmc.c static int dw_mci_get_ro(struct mmc_host *mmc) · line 1000
Quoted 5 lines
drivers/mmc/host/dw_mmc.c +1
-1@@ -997,7 +997,7 @@ static int dw_mci_get_ro(struct mmc_host *mmc)int gpio_ro =mmc_gpio_get_ro (mmc);/* Use platform get_ro function, else try on board write protect */ -if (slot->quirks &DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT ) +if (slot->host->quirks &DW_MCI_QUIRK_NO_WRITE_PROTECT )
It doesn't seem like it would be hard to include support for the old binding (and just print a warning). Then this could land ahead of the device tree changes.
Generally I think we're supposed to keep support for old device trees if possible (except in extreme cases).
-Doug
Jaehoon Chung
maintainerPATCH v7 5/5 mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
Hi, Doug.
Thanks for review.
Quoted 29 lines · Doug Anderson
Jaehoon,
Quoted 16 lines · Jaehoon Chung
Replaced the "disable-wp" into host's quirks. (Because the slot-node is removed at dt-file.)
Signed-off-by Jaehoon Chung <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>--- drivers/mmc/host/dw_mmc.c | 12 +++++------- include/linux/mmc/dw_mmc.h | 6 ++---- 2 files changed, 7 insertions(+), 11 deletions(-)drivers/mmc/host/dw_mmc.c +0
-0drivers/mmc/host/dw_mmc.c static int dw_mci_get_ro(struct mmc_host *mmc) · line 1000
Quoted 5 lines
drivers/mmc/host/dw_mmc.c +1
-1@@ -997,7 +997,7 @@ static int dw_mci_get_ro(struct mmc_host *mmc)int gpio_ro =mmc_gpio_get_ro (mmc);/* Use platform get_ro function, else try on board write protect */ -if (slot->quirks &DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT ) +if (slot->host->quirks &DW_MCI_QUIRK_NO_WRITE_PROTECT )It doesn't seem like it would be hard to include support for the old binding (and just print a warning). Then this could land ahead of the device tree changes.
Quoted 2 lines
Generally I think we're supposed to keep support for old device trees if possible (except in extreme cases).
Ok, I see. I will add the Warning message like this. ("Recommend not to use the slot-node...") Then Developers can change the device-tree, right.
Today, i will send the patch. If you have any other comment, let me know, plz. I want to merge this patch-set into 3.16.
Best Regards,
Jaehoon Chung
Quoted 3 lines
-Doug
PATCH v7 5/5 mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
Jaehoon,
Quoted 34 lines · Jaehoon Chung
Hi, Doug.
Thanks for review.
Quoted 29 lines · Doug Anderson
Jaehoon,
Quoted 16 lines · Jaehoon Chung
Replaced the "disable-wp" into host's quirks. (Because the slot-node is removed at dt-file.)
Signed-off-by Jaehoon Chung <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>--- drivers/mmc/host/dw_mmc.c | 12 +++++------- include/linux/mmc/dw_mmc.h | 6 ++---- 2 files changed, 7 insertions(+), 11 deletions(-)drivers/mmc/host/dw_mmc.c +0
-0drivers/mmc/host/dw_mmc.c static int dw_mci_get_ro(struct mmc_host *mmc) · line 1000
Quoted 5 lines
drivers/mmc/host/dw_mmc.c +1
-1@@ -997,7 +997,7 @@ static int dw_mci_get_ro(struct mmc_host *mmc)int gpio_ro =mmc_gpio_get_ro (mmc);/* Use platform get_ro function, else try on board write protect */ -if (slot->quirks &DW_MCI_SLOT_QUIRK_NO_WRITE_PROTECT ) +if (slot->host->quirks &DW_MCI_QUIRK_NO_WRITE_PROTECT )It doesn't seem like it would be hard to include support for the old binding (and just print a warning). Then this could land ahead of the device tree changes.
Quoted 3 lines
Quoted 2 lines
Generally I think we're supposed to keep support for old device trees if possible (except in extreme cases).
Ok, I see. I will add the Warning message like this. ("Recommend not to use the slot-node...")
That seems reasonable.
Quoted 1 line
Then Developers can change the device-tree, right.
Right. Then this can land even ahead of the dts changes and you could change them one at a time (if you wanted) once you have the proper acks.
Quoted 2 lines
Today, i will send the patch. If you have any other comment, let me know, plz. I want to merge this patch-set into 3.16.
I haven't done a full review, but generally this looked pretty sane to me. It seems like it might be too late for 3.16 but I'm no expert on the subject.
-Doug
PATCH v7 5/5 mmc: dw_mmc: replace "disable-wp" from slot's quirk to host's quirk
In reply to Jaehoon ChungAm 28.07.2014 04:29, schrieb Jaehoon Chung:
Quoted 1 line
Replaced the "disable-wp" into host's quirks.
"Replace" is wrong here and in $subject. "Relocate"? "Move"?
Quoted 1 line
(Because the slot-node is removed at dt-file.)
"in dt-file"?
Quoted 8 lines
Signed-off-by Jaehoon Chung <[email protected]>Tested-by Sachin Kamat <[email protected]>Acked-by Seungwon Jeon <[email protected]>--- drivers/mmc/host/dw_mmc.c | 12 +++++------- include/linux/mmc/dw_mmc.h | 6 ++---- 2 files changed, 7 insertions(+), 11 deletions(-)
Regards,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg
v7 cover ARM: remove the sub-node and deprecate supports-highspeed property for dwmmc.
In reply to Jaehoon ChungAm 28.07.2014 04:29, schrieb Jaehoon Chung:
Quoted 22 lines
Since used the
mmc_of_parse(), didn't parse the sub-node.
So we can remove the sub-node, because almost SoC used the only one card per a host. And supports-highspeed can be replaced to "cap-mmc/sd-highspeed" property.Chnagelog V7:
- Fixed typo and modified the commit message.
Changelog V6:
- Fixed Wrong bit control for host's quirks and rename.
- Add "Acked-by" for each SoC maintainers.
Changelog V5:
- Rebased on v3.16-rc4.
- Add Acked-by.
Changelog V4:
- Fix the checkpatch error.
Changelog V3:
- Fix the wrong bus-width value.
- Use theslot->host->quirksinstead ofbrq->quirks.
- Add tested-by and reviewd-by.
Changelog V2:
- Add the "mmc:dw_mmc: replace "disable-wp" from slot's quirks to host's quirk"
Quoted 9 lines
Jaehoon Chung (5):
mmc:dw_mmc: modify the dt-binding for removing slot-node and
supports-highspeed
ARM: dts: exynos: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
ARM: dts: socfpga: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
ARM: dts: rockchip: unuse the slot-node and deprecated the
supports-highspeed for dw-mmc
Nit: 3x s/deprecated/deprecate/g to align tenses? (Sorry, I got interrupted during previous review pass.)
Regards,
Andreas
Quoted 26 lines
mmc:
dw_mmc: replace "disable-wp" from slot's quirk to host's quirk.../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 | 26 ++++++-------------- arch/arm/boot/dts/exynos5250-smdk5250.dts | 18 ++++---------- arch/arm/boot/dts/exynos5250-snow.dts | 6 ++--- arch/arm/boot/dts/exynos5260-xyref5260.dts | 18 ++++---------- arch/arm/boot/dts/exynos5410-smdk5410.dts | 18 ++++---------- arch/arm/boot/dts/exynos5420-arndale-octa.dts | 16 +++--------- arch/arm/boot/dts/exynos5420-peach-pit.dts | 16 +++--------- arch/arm/boot/dts/exynos5420-smdk5420.dts | 16 +++--------- arch/arm/boot/dts/exynos5800-peach-pi.dts | 16 +++--------- arch/arm/boot/dts/rk3066a-bqcurie2.dts | 16 +++--------- arch/arm/boot/dts/socfpga_arria5.dtsi | 9 +++---- arch/arm/boot/dts/socfpga_cyclone5.dtsi | 9 +++---- arch/arm/boot/dts/socfpga_vt.dts | 9 +++---- drivers/mmc/host/dw_mmc.c | 12 ++++----- include/linux/mmc/dw_mmc.h | 6 ++--- 22 files changed, 86 insertions(+), 208 deletions(-)
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg