Message ID | 20220626120342.38851-1-krzysztof.kozlowski@linaro.org |
---|---|
Headers | show |
Series | mmc: dt-bindings: samsung,s3c6410-sdhci: convert to dtschema | expand |
>-----Original Message----- >From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org] >Sent: Sunday, June 26, 2022 5:34 PM >To: Ulf Hansson <ulf.hansson@linaro.org>; Rob Herring ><robh+dt@kernel.org>; Krzysztof Kozlowski ><krzysztof.kozlowski+dt@linaro.org>; Alim Akhtar ><alim.akhtar@samsung.com>; Jaehoon Chung <jh80.chung@samsung.com>; >linux-mmc@vger.kernel.org; devicetree@vger.kernel.org; linux- >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- >samsung-soc@vger.kernel.org >Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >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 <krzysztof.kozlowski@linaro.org> >--- (for patch 1 ~ 4) Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > 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
On 27/06/2022 03:31, Alim Akhtar wrote: > > >> -----Original Message----- >> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org] >> Sent: Sunday, June 26, 2022 5:34 PM >> To: Ulf Hansson <ulf.hansson@linaro.org>; Rob Herring >> <robh+dt@kernel.org>; Krzysztof Kozlowski >> <krzysztof.kozlowski+dt@linaro.org>; Alim Akhtar >> <alim.akhtar@samsung.com>; Jaehoon Chung <jh80.chung@samsung.com>; >> linux-mmc@vger.kernel.org; devicetree@vger.kernel.org; linux- >> kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- >> samsung-soc@vger.kernel.org >> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> 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 <krzysztof.kozlowski@linaro.org> >> --- > > (for patch 1 ~ 4) > > Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Tooling does not handle such cases. Best regards, Krzysztof
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,
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 <krzysztof.kozlowski@linaro.org> > --- > .../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 <robh@kernel.org>
On Sun, 26 Jun 2022 at 14:03, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 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 <krzysztof.kozlowski@linaro.org> 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 <jh80.chung@samsung.com> > + - Krzysztof Kozlowski <krzk@kernel.org> > + > +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 >