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