2022-06-26 12:05:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 0/5] mmc: dt-bindings: samsung,s3c6410-sdhci: convert to dtschema

Hi,

I'll take DTS patches via Samsung SoC. The MMC bindings could go via MMC tree.

Best regards,
Krzysztof

Krzysztof Kozlowski (5):
ARM: dts: exynos: align SDHCI node name with dtschema
ARM: dts: s3c24xx: align SDHCI node name with dtschema
ARM: dts: s3c64xx: align SDHCI node name with dtschema
ARM: dts: s5pv210: align SDHCI node name with dtschema
dt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema

.../bindings/mmc/samsung,s3c6410-sdhci.yaml | 81 +++++++++++++++++++
.../devicetree/bindings/mmc/samsung-sdhci.txt | 32 --------
arch/arm/boot/dts/exynos4.dtsi | 8 +-
arch/arm/boot/dts/s3c2416.dtsi | 4 +-
arch/arm/boot/dts/s3c64xx.dtsi | 6 +-
arch/arm/boot/dts/s5pv210.dtsi | 8 +-
6 files changed, 94 insertions(+), 45 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
delete mode 100644 Documentation/devicetree/bindings/mmc/samsung-sdhci.txt

--
2.34.1


2022-06-26 12:05:44

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with dtschema

The node names should be generic and DT schema expects "mmc".

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/exynos4.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 6f0ca3354e39..5c4ecda27a47 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -316,7 +316,7 @@ keypad: keypad@100a0000 {
status = "disabled";
};

- sdhci_0: sdhci@12510000 {
+ sdhci_0: mmc@12510000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>;
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
@@ -325,7 +325,7 @@ sdhci_0: sdhci@12510000 {
status = "disabled";
};

- sdhci_1: sdhci@12520000 {
+ sdhci_1: mmc@12520000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12520000 0x100>;
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
@@ -334,7 +334,7 @@ sdhci_1: sdhci@12520000 {
status = "disabled";
};

- sdhci_2: sdhci@12530000 {
+ sdhci_2: mmc@12530000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12530000 0x100>;
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
@@ -343,7 +343,7 @@ sdhci_2: sdhci@12530000 {
status = "disabled";
};

- sdhci_3: sdhci@12540000 {
+ sdhci_3: mmc@12540000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12540000 0x100>;
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
--
2.34.1

2022-06-26 12:05:50

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 5/5] dt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema

Convert the Samsung SoC SDHCI Controller bindings to DT schema.

The original bindings were quite old and incomplete, so add during
conversion typical (already used) properties like reg, clocks,
interrupts.

The bindings were not precising the clocks, although the upstream DTS
and Linux driver were expecting bus clocks in certain patterns in any
order. Document the status quo even though it is not a proper approach
for bindings.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/mmc/samsung,s3c6410-sdhci.yaml | 81 +++++++++++++++++++
.../devicetree/bindings/mmc/samsung-sdhci.txt | 32 --------
2 files changed, 81 insertions(+), 32 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
delete mode 100644 Documentation/devicetree/bindings/mmc/samsung-sdhci.txt

diff --git a/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml b/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
new file mode 100644
index 000000000000..5d873a60f650
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/samsung,s3c6410-sdhci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC SDHCI Controller
+
+maintainers:
+ - Jaehoon Chung <[email protected]>
+ - Krzysztof Kozlowski <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - samsung,s3c6410-sdhci
+ - samsung,exynos4210-sdhci
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ minItems: 2
+ maxItems: 5
+
+ clock-names:
+ minItems: 2
+ items:
+ - const: hsmmc
+ - pattern: "^mmc_busclk.[0-3]$"
+ - pattern: "^mmc_busclk.[0-3]$"
+ - pattern: "^mmc_busclk.[0-3]$"
+ - pattern: "^mmc_busclk.[0-3]$"
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+allOf:
+ - $ref: mmc-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - samsung,exynos4210-sdhci
+ then:
+ properties:
+ clocks:
+ maxItems: 2
+ clock-names:
+ items:
+ - const: hsmmc
+ - const: mmc_busclk.2
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/exynos4.h>
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ mmc@12510000 {
+ compatible = "samsung,exynos4210-sdhci";
+ reg = <0x12510000 0x100>;
+ interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
+ clock-names = "hsmmc", "mmc_busclk.2";
+ bus-width = <4>;
+ cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
+ pinctrl-names = "default";
+ vmmc-supply = <&ldo21_reg>;
+ };
diff --git a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
deleted file mode 100644
index 42e0a9afa100..000000000000
--- a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-* Samsung's SDHCI Controller device tree bindings
-
-Samsung's SDHCI controller is used as a connectivity interface with external
-MMC, SD and eMMC storage mediums. This file documents differences between the
-core mmc properties described by mmc.txt and the properties used by the
-Samsung implementation of the SDHCI controller.
-
-Required SoC Specific Properties:
-- compatible: should be one of the following
- - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
- controller.
- - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci
- controller.
-
-Required Board Specific Properties:
-- pinctrl-0: Should specify pin control groups used for this controller.
-- pinctrl-names: Should contain only one value - "default".
-
-Example:
- sdhci@12530000 {
- compatible = "samsung,exynos4210-sdhci";
- reg = <0x12530000 0x100>;
- interrupts = <0 75 0>;
- bus-width = <4>;
- cd-gpios = <&gpk2 2 0>;
- pinctrl-names = "default";
- pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
- };
-
- Note: This example shows both SoC specific and board specific properties
- in a single device node. The properties can be actually be separated
- into SoC specific node and board specific node.
--
2.34.1

2022-06-26 12:06:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/5] ARM: dts: s3c24xx: align SDHCI node name with dtschema

The node names should be generic and DT schema expects "mmc".

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/s3c2416.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/s3c2416.dtsi b/arch/arm/boot/dts/s3c2416.dtsi
index 4f084f4fe44f..4660751cb207 100644
--- a/arch/arm/boot/dts/s3c2416.dtsi
+++ b/arch/arm/boot/dts/s3c2416.dtsi
@@ -45,7 +45,7 @@ uart_3: serial@5000c000 {
status = "disabled";
};

- sdhci_1: sdhci@4ac00000 {
+ sdhci_1: mmc@4ac00000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x4AC00000 0x100>;
interrupts = <0 0 21 3>;
@@ -56,7 +56,7 @@ sdhci_1: sdhci@4ac00000 {
status = "disabled";
};

- sdhci_0: sdhci@4a800000 {
+ sdhci_0: mmc@4a800000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x4A800000 0x100>;
interrupts = <0 0 20 3>;
--
2.34.1

2022-06-26 12:34:00

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 3/5] ARM: dts: s3c64xx: align SDHCI node name with dtschema

The node names should be generic and DT schema expects "mmc".

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/s3c64xx.dtsi | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi
index 67a7a66e11d5..c03df6355500 100644
--- a/arch/arm/boot/dts/s3c64xx.dtsi
+++ b/arch/arm/boot/dts/s3c64xx.dtsi
@@ -59,7 +59,7 @@ vic1: interrupt-controller@71300000 {
#interrupt-cells = <1>;
};

- sdhci0: sdhci@7c200000 {
+ sdhci0: mmc@7c200000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x7c200000 0x100>;
interrupt-parent = <&vic1>;
@@ -70,7 +70,7 @@ sdhci0: sdhci@7c200000 {
status = "disabled";
};

- sdhci1: sdhci@7c300000 {
+ sdhci1: mmc@7c300000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x7c300000 0x100>;
interrupt-parent = <&vic1>;
@@ -81,7 +81,7 @@ sdhci1: sdhci@7c300000 {
status = "disabled";
};

- sdhci2: sdhci@7c400000 {
+ sdhci2: mmc@7c400000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x7c400000 0x100>;
interrupt-parent = <&vic1>;
--
2.34.1

2022-06-26 12:36:31

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 4/5] ARM: dts: s5pv210: align SDHCI node name with dtschema

The node names should be generic and DT schema expects "mmc".

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/s5pv210.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
index f1b85aae8842..12e90a1cc6a1 100644
--- a/arch/arm/boot/dts/s5pv210.dtsi
+++ b/arch/arm/boot/dts/s5pv210.dtsi
@@ -357,7 +357,7 @@ uart3: serial@e2900c00 {
status = "disabled";
};

- sdhci0: sdhci@eb000000 {
+ sdhci0: mmc@eb000000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0xeb000000 0x100000>;
interrupt-parent = <&vic1>;
@@ -368,7 +368,7 @@ sdhci0: sdhci@eb000000 {
status = "disabled";
};

- sdhci1: sdhci@eb100000 {
+ sdhci1: mmc@eb100000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0xeb100000 0x100000>;
interrupt-parent = <&vic1>;
@@ -379,7 +379,7 @@ sdhci1: sdhci@eb100000 {
status = "disabled";
};

- sdhci2: sdhci@eb200000 {
+ sdhci2: mmc@eb200000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0xeb200000 0x100000>;
interrupt-parent = <&vic1>;
@@ -390,7 +390,7 @@ sdhci2: sdhci@eb200000 {
status = "disabled";
};

- sdhci3: sdhci@eb300000 {
+ sdhci3: mmc@eb300000 {
compatible = "samsung,s3c6410-sdhci";
reg = <0xeb300000 0x100000>;
interrupt-parent = <&vic3>;
--
2.34.1

2022-06-27 01:42:24

by Alim Akhtar

[permalink] [raw]
Subject: RE: [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with dtschema



>-----Original Message-----
>From: Krzysztof Kozlowski [mailto:[email protected]]
>Sent: Sunday, June 26, 2022 5:34 PM
>To: Ulf Hansson <[email protected]>; Rob Herring
><[email protected]>; Krzysztof Kozlowski
><[email protected]>; Alim Akhtar
><[email protected]>; Jaehoon Chung <[email protected]>;
>[email protected]; [email protected]; linux-
>[email protected]; [email protected]; linux-
>[email protected]
>Cc: Krzysztof Kozlowski <[email protected]>
>Subject: [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with
>dtschema
>
>The node names should be generic and DT schema expects "mmc".
>
>Signed-off-by: Krzysztof Kozlowski <[email protected]>
>---

(for patch 1 ~ 4)

Reviewed-by: Alim Akhtar <[email protected]>


> arch/arm/boot/dts/exynos4.dtsi | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/arch/arm/boot/dts/exynos4.dtsi
>b/arch/arm/boot/dts/exynos4.dtsi index 6f0ca3354e39..5c4ecda27a47 100644
>--- a/arch/arm/boot/dts/exynos4.dtsi
>+++ b/arch/arm/boot/dts/exynos4.dtsi
>@@ -316,7 +316,7 @@ keypad: keypad@100a0000 {
> status = "disabled";
> };
>
>- sdhci_0: sdhci@12510000 {
>+ sdhci_0: mmc@12510000 {
> compatible = "samsung,exynos4210-sdhci";
> reg = <0x12510000 0x100>;
> interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
>@@ -325,7 +325,7 @@ sdhci_0: sdhci@12510000 {
> status = "disabled";
> };
>
>- sdhci_1: sdhci@12520000 {
>+ sdhci_1: mmc@12520000 {
> compatible = "samsung,exynos4210-sdhci";
> reg = <0x12520000 0x100>;
> interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
>@@ -334,7 +334,7 @@ sdhci_1: sdhci@12520000 {
> status = "disabled";
> };
>
>- sdhci_2: sdhci@12530000 {
>+ sdhci_2: mmc@12530000 {
> compatible = "samsung,exynos4210-sdhci";
> reg = <0x12530000 0x100>;
> interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
>@@ -343,7 +343,7 @@ sdhci_2: sdhci@12530000 {
> status = "disabled";
> };
>
>- sdhci_3: sdhci@12540000 {
>+ sdhci_3: mmc@12540000 {
> compatible = "samsung,exynos4210-sdhci";
> reg = <0x12540000 0x100>;
> interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
>--
>2.34.1


2022-06-27 08:58:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with dtschema

On 27/06/2022 03:31, Alim Akhtar wrote:
>
>
>> -----Original Message-----
>> From: Krzysztof Kozlowski [mailto:[email protected]]
>> Sent: Sunday, June 26, 2022 5:34 PM
>> To: Ulf Hansson <[email protected]>; Rob Herring
>> <[email protected]>; Krzysztof Kozlowski
>> <[email protected]>; Alim Akhtar
>> <[email protected]>; Jaehoon Chung <[email protected]>;
>> [email protected]; [email protected]; linux-
>> [email protected]; [email protected]; linux-
>> [email protected]
>> Cc: Krzysztof Kozlowski <[email protected]>
>> Subject: [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with
>> dtschema
>>
>> The node names should be generic and DT schema expects "mmc".
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>
> (for patch 1 ~ 4)
>
> Reviewed-by: Alim Akhtar <[email protected]>

Tooling does not handle such cases.

Best regards,
Krzysztof

2022-06-27 09:17:46

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/5] ARM: dts: exynos: align SDHCI node name with dtschema

On Sun, 26 Jun 2022 14:03:38 +0200, Krzysztof Kozlowski wrote:
> The node names should be generic and DT schema expects "mmc".
>
>

Applied, thanks!

[1/5] ARM: dts: exynos: align SDHCI node name with dtschema
https://git.kernel.org/krzk/linux/c/c805b77caba9e49d43321112f272508d2b1acd25

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-27 09:18:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 4/5] ARM: dts: s5pv210: align SDHCI node name with dtschema

On Sun, 26 Jun 2022 14:03:41 +0200, Krzysztof Kozlowski wrote:
> The node names should be generic and DT schema expects "mmc".
>
>

Applied, thanks!

[4/5] ARM: dts: s5pv210: align SDHCI node name with dtschema
https://git.kernel.org/krzk/linux/c/6a82ef85c4a4de42214e0c5a79242d54436541c3

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-27 09:36:18

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 2/5] ARM: dts: s3c24xx: align SDHCI node name with dtschema

On Sun, 26 Jun 2022 14:03:39 +0200, Krzysztof Kozlowski wrote:
> The node names should be generic and DT schema expects "mmc".
>
>

Applied, thanks!

[2/5] ARM: dts: s3c24xx: align SDHCI node name with dtschema
https://git.kernel.org/krzk/linux/c/1923e58045471c7226eeab34762e2f821c2c31b7

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-27 09:39:28

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 3/5] ARM: dts: s3c64xx: align SDHCI node name with dtschema

On Sun, 26 Jun 2022 14:03:40 +0200, Krzysztof Kozlowski wrote:
> The node names should be generic and DT schema expects "mmc".
>
>

Applied, thanks!

[3/5] ARM: dts: s3c64xx: align SDHCI node name with dtschema
https://git.kernel.org/krzk/linux/c/1b90ddb9d942bc75d468758fd2ad632137e733cf

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-06-30 23:31:23

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 5/5] dt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema

On Sun, 26 Jun 2022 14:03:42 +0200, Krzysztof Kozlowski wrote:
> Convert the Samsung SoC SDHCI Controller bindings to DT schema.
>
> The original bindings were quite old and incomplete, so add during
> conversion typical (already used) properties like reg, clocks,
> interrupts.
>
> The bindings were not precising the clocks, although the upstream DTS
> and Linux driver were expecting bus clocks in certain patterns in any
> order. Document the status quo even though it is not a proper approach
> for bindings.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/mmc/samsung,s3c6410-sdhci.yaml | 81 +++++++++++++++++++
> .../devicetree/bindings/mmc/samsung-sdhci.txt | 32 --------
> 2 files changed, 81 insertions(+), 32 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
> delete mode 100644 Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
>

Reviewed-by: Rob Herring <[email protected]>

2022-07-12 11:14:39

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH 5/5] dt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema

On Sun, 26 Jun 2022 at 14:03, Krzysztof Kozlowski
<[email protected]> wrote:
>
> Convert the Samsung SoC SDHCI Controller bindings to DT schema.
>
> The original bindings were quite old and incomplete, so add during
> conversion typical (already used) properties like reg, clocks,
> interrupts.
>
> The bindings were not precising the clocks, although the upstream DTS
> and Linux driver were expecting bus clocks in certain patterns in any
> order. Document the status quo even though it is not a proper approach
> for bindings.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> .../bindings/mmc/samsung,s3c6410-sdhci.yaml | 81 +++++++++++++++++++
> .../devicetree/bindings/mmc/samsung-sdhci.txt | 32 --------
> 2 files changed, 81 insertions(+), 32 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
> delete mode 100644 Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
>
> diff --git a/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml b/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
> new file mode 100644
> index 000000000000..5d873a60f650
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/samsung,s3c6410-sdhci.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/samsung,s3c6410-sdhci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Samsung SoC SDHCI Controller
> +
> +maintainers:
> + - Jaehoon Chung <[email protected]>
> + - Krzysztof Kozlowski <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - samsung,s3c6410-sdhci
> + - samsung,exynos4210-sdhci
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + minItems: 2
> + maxItems: 5
> +
> + clock-names:
> + minItems: 2
> + items:
> + - const: hsmmc
> + - pattern: "^mmc_busclk.[0-3]$"
> + - pattern: "^mmc_busclk.[0-3]$"
> + - pattern: "^mmc_busclk.[0-3]$"
> + - pattern: "^mmc_busclk.[0-3]$"
> +
> + interrupts:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> +
> +allOf:
> + - $ref: mmc-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - samsung,exynos4210-sdhci
> + then:
> + properties:
> + clocks:
> + maxItems: 2
> + clock-names:
> + items:
> + - const: hsmmc
> + - const: mmc_busclk.2
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/exynos4.h>
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + mmc@12510000 {
> + compatible = "samsung,exynos4210-sdhci";
> + reg = <0x12510000 0x100>;
> + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
> + clock-names = "hsmmc", "mmc_busclk.2";
> + bus-width = <4>;
> + cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
> + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
> + pinctrl-names = "default";
> + vmmc-supply = <&ldo21_reg>;
> + };
> diff --git a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
> deleted file mode 100644
> index 42e0a9afa100..000000000000
> --- a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -* Samsung's SDHCI Controller device tree bindings
> -
> -Samsung's SDHCI controller is used as a connectivity interface with external
> -MMC, SD and eMMC storage mediums. This file documents differences between the
> -core mmc properties described by mmc.txt and the properties used by the
> -Samsung implementation of the SDHCI controller.
> -
> -Required SoC Specific Properties:
> -- compatible: should be one of the following
> - - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
> - controller.
> - - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci
> - controller.
> -
> -Required Board Specific Properties:
> -- pinctrl-0: Should specify pin control groups used for this controller.
> -- pinctrl-names: Should contain only one value - "default".
> -
> -Example:
> - sdhci@12530000 {
> - compatible = "samsung,exynos4210-sdhci";
> - reg = <0x12530000 0x100>;
> - interrupts = <0 75 0>;
> - bus-width = <4>;
> - cd-gpios = <&gpk2 2 0>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
> - };
> -
> - Note: This example shows both SoC specific and board specific properties
> - in a single device node. The properties can be actually be separated
> - into SoC specific node and board specific node.
> --
> 2.34.1
>