Message ID | 20240216-b4-mmc-hi3798mv200-v1-2-7d46db845ae6@outlook.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mmc: add hi3798mv200 specific extensions of DWMMC | expand |
On 15/02/2024 18:46, Yang Xiwen via B4 Relay wrote: > From: Yang Xiwen <forbidden405@outlook.com> > > convert the legacy txt binding to modern YAML. No semantic change. > > Signed-off-by: Yang Xiwen <forbidden405@outlook.com> > --- > +++ b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.yaml Filename like compatible. > @@ -0,0 +1,86 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mmc/hi3798cv200-dw-mshc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: > + Hisilicon Hi3798CV200 SoC specific extensions to the Synopsys DWMMC controller One line please. > + > +maintainers: > + - Yang Xiwen <forbidden405@outlook.com> > + > +description: > + The Synopsys designware mobile storage host controller is used to interface > + a SoC with storage medium such as eMMC or SD/MMC cards. This file documents > + differences between the core Synopsys dw mshc controller properties described > + by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200 > + specific extensions to the Synopsys Designware Mobile Storage Host Controller. > + > +allOf: > + - $ref: synopsys-dw-mshc-common.yaml# > + > +properties: > + compatible: > + enum: > + - hisilicon,hi3798cv200-dw-mshc > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 4 Drop minItems > + maxItems: 4 > + description: A list of phandles for the clocks listed in clock-names Drop description > + > + clock-names: > + items: > + - const: ciu > + - const: biu > + - const: ciu-sample > + - const: ciu-drive > + description: > + Apart from the clock-names "biu" and "ciu" two more clocks > + "ciu-drive" and "ciu-sample" are added. They are used to > + control the clock phases, "ciu-sample" is required for tuning > + high speed modes. Description should go to clocks: to individual items. > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/histb-clock.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + emmc: mmc@9830000 { Drop label > + compatible = "hisilicon,hi3798cv200-dw-mshc"; > + reg = <0x9830000 0x10000>; > + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&crg HISTB_MMC_CIU_CLK>, > + <&crg HISTB_MMC_BIU_CLK>, > + <&crg HISTB_MMC_SAMPLE_CLK>, > + <&crg HISTB_MMC_DRV_CLK>; > + clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; > + resets = <&crg 0xa0 4>; > + reset-names = "reset"; > + pinctrl-names = "default"; > + pinctrl-0 = <&emmc_pins_1 &emmc_pins_2 > + &emmc_pins_3 &emmc_pins_4>; > + fifo-depth = <256>; > + clock-frequency = <200000000>; > + cap-mmc-highspeed; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + non-removable; > + bus-width = <8>; > + status = "okay"; Drop > + }; > Best regards, Krzysztof
On 2/16/2024 4:19 PM, Krzysztof Kozlowski wrote: > On 15/02/2024 18:46, Yang Xiwen via B4 Relay wrote: >> From: Yang Xiwen <forbidden405@outlook.com> >> >> convert the legacy txt binding to modern YAML. No semantic change. >> >> Signed-off-by: Yang Xiwen <forbidden405@outlook.com> >> --- > >> +++ b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.yaml > Filename like compatible. > >> @@ -0,0 +1,86 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mmc/hi3798cv200-dw-mshc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: >> + Hisilicon Hi3798CV200 SoC specific extensions to the Synopsys DWMMC controller > One line please. > >> + >> +maintainers: >> + - Yang Xiwen <forbidden405@outlook.com> >> + >> +description: >> + The Synopsys designware mobile storage host controller is used to interface >> + a SoC with storage medium such as eMMC or SD/MMC cards. This file documents >> + differences between the core Synopsys dw mshc controller properties described >> + by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200 >> + specific extensions to the Synopsys Designware Mobile Storage Host Controller. >> + >> +allOf: >> + - $ref: synopsys-dw-mshc-common.yaml# >> + >> +properties: >> + compatible: >> + enum: >> + - hisilicon,hi3798cv200-dw-mshc >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + minItems: 4 > Drop minItems > >> + maxItems: 4 >> + description: A list of phandles for the clocks listed in clock-names > Drop description > >> + >> + clock-names: >> + items: >> + - const: ciu >> + - const: biu >> + - const: ciu-sample >> + - const: ciu-drive >> + description: >> + Apart from the clock-names "biu" and "ciu" two more clocks >> + "ciu-drive" and "ciu-sample" are added. They are used to >> + control the clock phases, "ciu-sample" is required for tuning >> + high speed modes. > Description should go to clocks: to individual items. Actually copied directly from rockchip-dw-mshc.yaml. Will fix in v2. > > >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + - clocks >> + - clock-names >> + >> +unevaluatedProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/clock/histb-clock.h> >> + #include <dt-bindings/interrupt-controller/arm-gic.h> >> + emmc: mmc@9830000 { > Drop label > >> + compatible = "hisilicon,hi3798cv200-dw-mshc"; >> + reg = <0x9830000 0x10000>; >> + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; >> + clocks = <&crg HISTB_MMC_CIU_CLK>, >> + <&crg HISTB_MMC_BIU_CLK>, >> + <&crg HISTB_MMC_SAMPLE_CLK>, >> + <&crg HISTB_MMC_DRV_CLK>; >> + clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; >> + resets = <&crg 0xa0 4>; >> + reset-names = "reset"; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&emmc_pins_1 &emmc_pins_2 >> + &emmc_pins_3 &emmc_pins_4>; >> + fifo-depth = <256>; >> + clock-frequency = <200000000>; >> + cap-mmc-highspeed; >> + mmc-ddr-1_8v; >> + mmc-hs200-1_8v; >> + non-removable; >> + bus-width = <8>; >> + status = "okay"; > Drop Drop `status` property? Will fix in v2. > >> + }; >> > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt deleted file mode 100644 index a0693b7145f2..000000000000 --- a/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt +++ /dev/null @@ -1,40 +0,0 @@ -* Hisilicon Hi3798CV200 specific extensions to the Synopsys Designware Mobile - Storage Host Controller - -Read synopsys-dw-mshc.txt for more details - -The Synopsys designware mobile storage host controller is used to interface -a SoC with storage medium such as eMMC or SD/MMC cards. This file documents -differences between the core Synopsys dw mshc controller properties described -by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200 -specific extensions to the Synopsys Designware Mobile Storage Host Controller. - -Required Properties: -- compatible: Should contain "hisilicon,hi3798cv200-dw-mshc". -- clocks: A list of phandle + clock-specifier pairs for the clocks listed - in clock-names. -- clock-names: Should contain the following: - "ciu" - The ciu clock described in synopsys-dw-mshc.txt. - "biu" - The biu clock described in synopsys-dw-mshc.txt. - "ciu-sample" - Hi3798CV200 extended phase clock for ciu sampling. - "ciu-drive" - Hi3798CV200 extended phase clock for ciu driving. - -Example: - - emmc: mmc@9830000 { - compatible = "hisilicon,hi3798cv200-dw-mshc"; - reg = <0x9830000 0x10000>; - interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&crg HISTB_MMC_CIU_CLK>, - <&crg HISTB_MMC_BIU_CLK>, - <&crg HISTB_MMC_SAMPLE_CLK>, - <&crg HISTB_MMC_DRV_CLK>; - clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; - fifo-depth = <256>; - clock-frequency = <200000000>; - cap-mmc-highspeed; - mmc-ddr-1_8v; - mmc-hs200-1_8v; - non-removable; - bus-width = <8>; - }; diff --git a/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.yaml new file mode 100644 index 000000000000..5db99cd94b90 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mmc/hi3798cv200-dw-mshc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: + Hisilicon Hi3798CV200 SoC specific extensions to the Synopsys DWMMC controller + +maintainers: + - Yang Xiwen <forbidden405@outlook.com> + +description: + The Synopsys designware mobile storage host controller is used to interface + a SoC with storage medium such as eMMC or SD/MMC cards. This file documents + differences between the core Synopsys dw mshc controller properties described + by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200 + specific extensions to the Synopsys Designware Mobile Storage Host Controller. + +allOf: + - $ref: synopsys-dw-mshc-common.yaml# + +properties: + compatible: + enum: + - hisilicon,hi3798cv200-dw-mshc + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 4 + maxItems: 4 + description: A list of phandles for the clocks listed in clock-names + + clock-names: + items: + - const: ciu + - const: biu + - const: ciu-sample + - const: ciu-drive + description: + Apart from the clock-names "biu" and "ciu" two more clocks + "ciu-drive" and "ciu-sample" are added. They are used to + control the clock phases, "ciu-sample" is required for tuning + high speed modes. + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/histb-clock.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + emmc: mmc@9830000 { + compatible = "hisilicon,hi3798cv200-dw-mshc"; + reg = <0x9830000 0x10000>; + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&crg HISTB_MMC_CIU_CLK>, + <&crg HISTB_MMC_BIU_CLK>, + <&crg HISTB_MMC_SAMPLE_CLK>, + <&crg HISTB_MMC_DRV_CLK>; + clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; + resets = <&crg 0xa0 4>; + reset-names = "reset"; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_pins_1 &emmc_pins_2 + &emmc_pins_3 &emmc_pins_4>; + fifo-depth = <256>; + clock-frequency = <200000000>; + cap-mmc-highspeed; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + non-removable; + bus-width = <8>; + status = "okay"; + };