[PATCHv7 2/2] ARM: dts: unuse the slot-node and deprecated supports-highspeed for dw-mmc.
Ulf Hansson
ulf.hansson at linaro.org
Fri Jun 13 04:14:45 PDT 2014
On 13 June 2014 06:31, Jaehoon Chung <jh80.chung at 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 at samsung.com>
> Reviewed-by: Tushar Behera <trblinux at 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
>
More information about the linux-arm-kernel
mailing list