xref: /linux/Documentation/devicetree/bindings/mmc/atmel,hsmci.yaml (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/atmel,hsmci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Atmel High-Speed MultiMedia Card Interface (HSMCI)
8
9description:
10  The Atmel HSMCI controller provides an interface for MMC, SD, and SDIO memory
11  cards.
12
13maintainers:
14  - Nicolas Ferre <nicolas.ferre@microchip.com>
15  - Aubin Constans <aubin.constans@microchip.com>
16
17allOf:
18  - $ref: mmc-controller.yaml
19
20properties:
21  compatible:
22    const: atmel,hsmci
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  dmas:
31    maxItems: 1
32
33  dma-names:
34    const: rxtx
35
36  clocks:
37    maxItems: 1
38
39  clock-names:
40    const: mci_clk
41
42  "#address-cells":
43    const: 1
44    description: Used for slot IDs.
45
46  "#size-cells":
47    const: 0
48
49patternProperties:
50  "slot@[0-2]$":
51    $ref: mmc-slot.yaml
52    description: A slot node representing an MMC, SD, or SDIO slot.
53
54    properties:
55      reg:
56        enum: [0, 1]
57
58    required:
59      - reg
60      - bus-width
61
62    unevaluatedProperties: false
63
64required:
65  - compatible
66  - reg
67  - interrupts
68  - clocks
69  - clock-names
70  - "#address-cells"
71  - "#size-cells"
72
73anyOf:
74  - required:
75      - slot@0
76  - required:
77      - slot@1
78
79unevaluatedProperties: false
80
81examples:
82  - |
83    #include <dt-bindings/interrupt-controller/irq.h>
84    #include <dt-bindings/clock/at91.h>
85    mmc@f0008000 {
86      compatible = "atmel,hsmci";
87      reg = <0xf0008000 0x600>;
88      interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
89      clocks = <&mci0_clk>;
90      clock-names = "mci_clk";
91      #address-cells = <1>;
92      #size-cells = <0>;
93
94      slot@0 {
95        reg = <0>;
96        bus-width = <4>;
97        cd-gpios = <&pioD 15 0>;
98        cd-inverted;
99      };
100
101      slot@1 {
102        reg = <1>;
103        bus-width = <4>;
104      };
105    };
106...
107