xref: /linux/Documentation/devicetree/bindings/mmc/atmel,sama5d2-sdhci.yaml (revision 2bf717b07969b6d9e9ba5bccd3ac778e9aeaab18)
11c97ea11SDharma Balasubiramani# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21c97ea11SDharma Balasubiramani%YAML 1.2
31c97ea11SDharma Balasubiramani---
41c97ea11SDharma Balasubiramani$id: http://devicetree.org/schemas/mmc/atmel,sama5d2-sdhci.yaml#
51c97ea11SDharma Balasubiramani$schema: http://devicetree.org/meta-schemas/core.yaml#
61c97ea11SDharma Balasubiramani
71c97ea11SDharma Balasubiramanititle: Atmel SDHCI controller
81c97ea11SDharma Balasubiramani
91c97ea11SDharma Balasubiramanimaintainers:
101c97ea11SDharma Balasubiramani  - Aubin Constans <aubin.constans@microchip.com>
111c97ea11SDharma Balasubiramani  - Nicolas Ferre <nicolas.ferre@microchip.com>
121c97ea11SDharma Balasubiramani
131c97ea11SDharma Balasubiramanidescription:
141c97ea11SDharma Balasubiramani  Bindings for the SDHCI controller found in Atmel/Microchip SoCs.
151c97ea11SDharma Balasubiramani
161c97ea11SDharma Balasubiramaniproperties:
171c97ea11SDharma Balasubiramani  compatible:
181c97ea11SDharma Balasubiramani    oneOf:
191c97ea11SDharma Balasubiramani      - enum:
201c97ea11SDharma Balasubiramani          - atmel,sama5d2-sdhci
211c97ea11SDharma Balasubiramani          - microchip,sam9x60-sdhci
221c97ea11SDharma Balasubiramani      - items:
231c97ea11SDharma Balasubiramani          - enum:
241c97ea11SDharma Balasubiramani              - microchip,sam9x7-sdhci
25*8593b687SDharma Balasubiramani              - microchip,sama7d65-sdhci
261c97ea11SDharma Balasubiramani              - microchip,sama7g5-sdhci
271c97ea11SDharma Balasubiramani          - const: microchip,sam9x60-sdhci
281c97ea11SDharma Balasubiramani
291c97ea11SDharma Balasubiramani  reg:
301c97ea11SDharma Balasubiramani    maxItems: 1
311c97ea11SDharma Balasubiramani
321c97ea11SDharma Balasubiramani  interrupts:
331c97ea11SDharma Balasubiramani    maxItems: 1
341c97ea11SDharma Balasubiramani
351c97ea11SDharma Balasubiramani  clocks:
361c97ea11SDharma Balasubiramani    items:
371c97ea11SDharma Balasubiramani      - description: hclock
381c97ea11SDharma Balasubiramani      - description: multclk
391c97ea11SDharma Balasubiramani      - description: baseclk
401c97ea11SDharma Balasubiramani    minItems: 2
411c97ea11SDharma Balasubiramani
421c97ea11SDharma Balasubiramani  clock-names:
431c97ea11SDharma Balasubiramani    items:
441c97ea11SDharma Balasubiramani      - const: hclock
451c97ea11SDharma Balasubiramani      - const: multclk
461c97ea11SDharma Balasubiramani      - const: baseclk
471c97ea11SDharma Balasubiramani    minItems: 2
481c97ea11SDharma Balasubiramani
491c97ea11SDharma Balasubiramani  microchip,sdcal-inverted:
501c97ea11SDharma Balasubiramani    type: boolean
511c97ea11SDharma Balasubiramani    description:
521c97ea11SDharma Balasubiramani      When present, polarity on the SDCAL SoC pin is inverted. The default
531c97ea11SDharma Balasubiramani      polarity for this signal is described in the datasheet. For instance on
541c97ea11SDharma Balasubiramani      SAMA5D2, the pin is usually tied to the GND with a resistor and a
551c97ea11SDharma Balasubiramani      capacitor (see "SDMMC I/O Calibration" chapter).
561c97ea11SDharma Balasubiramani
571c97ea11SDharma Balasubiramanirequired:
581c97ea11SDharma Balasubiramani  - compatible
591c97ea11SDharma Balasubiramani  - reg
601c97ea11SDharma Balasubiramani  - interrupts
611c97ea11SDharma Balasubiramani  - clocks
621c97ea11SDharma Balasubiramani  - clock-names
631c97ea11SDharma Balasubiramani
641c97ea11SDharma BalasubiramaniallOf:
651c97ea11SDharma Balasubiramani  - $ref: sdhci-common.yaml#
661c97ea11SDharma Balasubiramani  - if:
671c97ea11SDharma Balasubiramani      properties:
681c97ea11SDharma Balasubiramani        compatible:
691c97ea11SDharma Balasubiramani          contains:
701c97ea11SDharma Balasubiramani            enum:
711c97ea11SDharma Balasubiramani              - atmel,sama5d2-sdhci
721c97ea11SDharma Balasubiramani    then:
731c97ea11SDharma Balasubiramani      properties:
741c97ea11SDharma Balasubiramani        clocks:
751c97ea11SDharma Balasubiramani          minItems: 3
761c97ea11SDharma Balasubiramani        clock-names:
771c97ea11SDharma Balasubiramani          minItems: 3
781c97ea11SDharma Balasubiramani
791c97ea11SDharma BalasubiramaniunevaluatedProperties: false
801c97ea11SDharma Balasubiramani
811c97ea11SDharma Balasubiramaniexamples:
821c97ea11SDharma Balasubiramani  - |
831c97ea11SDharma Balasubiramani    #include <dt-bindings/interrupt-controller/irq.h>
841c97ea11SDharma Balasubiramani    #include <dt-bindings/clock/at91.h>
851c97ea11SDharma Balasubiramani    mmc@a0000000 {
861c97ea11SDharma Balasubiramani        compatible = "atmel,sama5d2-sdhci";
871c97ea11SDharma Balasubiramani        reg = <0xa0000000 0x300>;
881c97ea11SDharma Balasubiramani        interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
891c97ea11SDharma Balasubiramani        clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
901c97ea11SDharma Balasubiramani        clock-names = "hclock", "multclk", "baseclk";
911c97ea11SDharma Balasubiramani        assigned-clocks = <&sdmmc0_gclk>;
921c97ea11SDharma Balasubiramani        assigned-clock-rates = <480000000>;
931c97ea11SDharma Balasubiramani    };
94