On 09/12/24 10:02, Dharma Balasubiramani wrote: > Convert atmel,hsmci documentation to yaml format. The new file will inherit > from mmc-controller.yaml. > > Signed-off-by: Dharma Balasubiramani <dharma.b@xxxxxxxxxxxxx> Reviewed-by: Charan Pedumuru <charan.pedumuru@xxxxxxxxxxxxx> > --- > Changes in v2: > - Drop the duplicate properties in the slot node. > - Link to v1: https://lore.kernel.org/r/20241205-hsmci-v1-1-5a25e622dfed@xxxxxxxxxxxxx > --- > .../devicetree/bindings/mmc/atmel,hsmci.yaml | 110 +++++++++++++++++++++ > .../devicetree/bindings/mmc/atmel-hsmci.txt | 73 -------------- > 2 files changed, 110 insertions(+), 73 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mmc/atmel,hsmci.yaml b/Documentation/devicetree/bindings/mmc/atmel,hsmci.yaml > new file mode 100644 > index 000000000000..26686ada6288 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/atmel,hsmci.yaml > @@ -0,0 +1,110 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mmc/atmel,hsmci.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Atmel High-Speed MultiMedia Card Interface (HSMCI) > + > +description: > + The Atmel HSMCI controller provides an interface for MMC, SD, and SDIO memory > + cards. > + > +maintainers: > + - Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> > + - Aubin Constans <aubin.constans@xxxxxxxxxxxxx> > + > +allOf: > + - $ref: mmc-controller.yaml > + > +properties: > + compatible: > + const: atmel,hsmci > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + dmas: > + maxItems: 1 > + > + dma-names: > + const: rxtx > + > + clocks: > + maxItems: 1 > + > + clock-names: > + const: mci_clk > + > + "#address-cells": > + const: 1 > + description: Used for slot IDs. > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^slot@[0-9]+$": > + type: object > + description: A slot node representing an MMC, SD, or SDIO slot. > + > + allOf: > + - $ref: mmc-controller.yaml > + > + properties: > + reg: > + description: Slot ID. > + minimum: 0 > + > + required: > + - reg > + - bus-width > + > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - "#address-cells" > + - "#size-cells" > + > +anyOf: > + - required: > + - slot@0 > + - required: > + - slot@1 > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/clock/at91.h> > + mmc@f0008000 { > + compatible = "atmel,hsmci"; > + reg = <0xf0008000 0x600>; > + interrupts = <12 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&mci0_clk>; > + clock-names = "mci_clk"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + slot@0 { > + reg = <0>; > + bus-width = <4>; > + cd-gpios = <&pioD 15 0>; > + cd-inverted; > + }; > + > + slot@1 { > + reg = <1>; > + bus-width = <4>; > + }; > + }; > +... > diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt > deleted file mode 100644 > index 07ad02075a93..000000000000 > --- a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt > +++ /dev/null > @@ -1,73 +0,0 @@ > -* Atmel High Speed MultiMedia Card Interface > - > -This controller on atmel products provides an interface for MMC, SD and SDIO > -types of memory cards. > - > -This file documents differences between the core properties described > -by mmc.txt and the properties used by the atmel-mci driver. > - > -1) MCI node > - > -Required properties: > -- compatible: should be "atmel,hsmci" > -- #address-cells: should be one. The cell is the slot id. > -- #size-cells: should be zero. > -- at least one slot node > -- clock-names: tuple listing input clock names. > - Required elements: "mci_clk" > -- clocks: phandles to input clocks. > - > -The node contains child nodes for each slot that the platform uses > - > -Example MCI node: > - > -mmc0: mmc@f0008000 { > - compatible = "atmel,hsmci"; > - reg = <0xf0008000 0x600>; > - interrupts = <12 4>; > - #address-cells = <1>; > - #size-cells = <0>; > - clock-names = "mci_clk"; > - clocks = <&mci0_clk>; > - > - [ child node definitions...] > -}; > - > -2) slot nodes > - > -Required properties: > -- reg: should contain the slot id. > -- bus-width: number of data lines connected to the controller > - > -Optional properties: > -- cd-gpios: specify GPIOs for card detection > -- cd-inverted: invert the value of external card detect gpio line > -- wp-gpios: specify GPIOs for write protection > - > -Example slot node: > - > -slot@0 { > - reg = <0>; > - bus-width = <4>; > - cd-gpios = <&pioD 15 0> > - cd-inverted; > -}; > - > -Example full MCI node: > -mmc0: mmc@f0008000 { > - compatible = "atmel,hsmci"; > - reg = <0xf0008000 0x600>; > - interrupts = <12 4>; > - #address-cells = <1>; > - #size-cells = <0>; > - slot@0 { > - reg = <0>; > - bus-width = <4>; > - cd-gpios = <&pioD 15 0> > - cd-inverted; > - }; > - slot@1 { > - reg = <1>; > - bus-width = <4>; > - }; > -}; > > --- > base-commit: feffde684ac29a3b7aec82d2df850fbdbdee55e4 > change-id: 20241205-hsmci-7ac3ea915777 > > Best regards, -- Best Regards, Charan.