xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/atmel,sama5d2-sdhci.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/atmel,sama5d2-sdhci.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: Atmel SDHCI controller
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotmaintainers:
10*b2d2a78aSEmmanuel Vadot  - Aubin Constans <aubin.constans@microchip.com>
11*b2d2a78aSEmmanuel Vadot  - Nicolas Ferre <nicolas.ferre@microchip.com>
12*b2d2a78aSEmmanuel Vadot
13*b2d2a78aSEmmanuel Vadotdescription:
14*b2d2a78aSEmmanuel Vadot  Bindings for the SDHCI controller found in Atmel/Microchip SoCs.
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadotproperties:
17*b2d2a78aSEmmanuel Vadot  compatible:
18*b2d2a78aSEmmanuel Vadot    oneOf:
19*b2d2a78aSEmmanuel Vadot      - enum:
20*b2d2a78aSEmmanuel Vadot          - atmel,sama5d2-sdhci
21*b2d2a78aSEmmanuel Vadot          - microchip,sam9x60-sdhci
22*b2d2a78aSEmmanuel Vadot      - items:
23*b2d2a78aSEmmanuel Vadot          - enum:
24*b2d2a78aSEmmanuel Vadot              - microchip,sam9x7-sdhci
25*b2d2a78aSEmmanuel Vadot              - microchip,sama7g5-sdhci
26*b2d2a78aSEmmanuel Vadot          - const: microchip,sam9x60-sdhci
27*b2d2a78aSEmmanuel Vadot
28*b2d2a78aSEmmanuel Vadot  reg:
29*b2d2a78aSEmmanuel Vadot    maxItems: 1
30*b2d2a78aSEmmanuel Vadot
31*b2d2a78aSEmmanuel Vadot  interrupts:
32*b2d2a78aSEmmanuel Vadot    maxItems: 1
33*b2d2a78aSEmmanuel Vadot
34*b2d2a78aSEmmanuel Vadot  clocks:
35*b2d2a78aSEmmanuel Vadot    items:
36*b2d2a78aSEmmanuel Vadot      - description: hclock
37*b2d2a78aSEmmanuel Vadot      - description: multclk
38*b2d2a78aSEmmanuel Vadot      - description: baseclk
39*b2d2a78aSEmmanuel Vadot    minItems: 2
40*b2d2a78aSEmmanuel Vadot
41*b2d2a78aSEmmanuel Vadot  clock-names:
42*b2d2a78aSEmmanuel Vadot    items:
43*b2d2a78aSEmmanuel Vadot      - const: hclock
44*b2d2a78aSEmmanuel Vadot      - const: multclk
45*b2d2a78aSEmmanuel Vadot      - const: baseclk
46*b2d2a78aSEmmanuel Vadot    minItems: 2
47*b2d2a78aSEmmanuel Vadot
48*b2d2a78aSEmmanuel Vadot  microchip,sdcal-inverted:
49*b2d2a78aSEmmanuel Vadot    type: boolean
50*b2d2a78aSEmmanuel Vadot    description:
51*b2d2a78aSEmmanuel Vadot      When present, polarity on the SDCAL SoC pin is inverted. The default
52*b2d2a78aSEmmanuel Vadot      polarity for this signal is described in the datasheet. For instance on
53*b2d2a78aSEmmanuel Vadot      SAMA5D2, the pin is usually tied to the GND with a resistor and a
54*b2d2a78aSEmmanuel Vadot      capacitor (see "SDMMC I/O Calibration" chapter).
55*b2d2a78aSEmmanuel Vadot
56*b2d2a78aSEmmanuel Vadotrequired:
57*b2d2a78aSEmmanuel Vadot  - compatible
58*b2d2a78aSEmmanuel Vadot  - reg
59*b2d2a78aSEmmanuel Vadot  - interrupts
60*b2d2a78aSEmmanuel Vadot  - clocks
61*b2d2a78aSEmmanuel Vadot  - clock-names
62*b2d2a78aSEmmanuel Vadot
63*b2d2a78aSEmmanuel VadotallOf:
64*b2d2a78aSEmmanuel Vadot  - $ref: sdhci-common.yaml#
65*b2d2a78aSEmmanuel Vadot  - if:
66*b2d2a78aSEmmanuel Vadot      properties:
67*b2d2a78aSEmmanuel Vadot        compatible:
68*b2d2a78aSEmmanuel Vadot          contains:
69*b2d2a78aSEmmanuel Vadot            enum:
70*b2d2a78aSEmmanuel Vadot              - atmel,sama5d2-sdhci
71*b2d2a78aSEmmanuel Vadot    then:
72*b2d2a78aSEmmanuel Vadot      properties:
73*b2d2a78aSEmmanuel Vadot        clocks:
74*b2d2a78aSEmmanuel Vadot          minItems: 3
75*b2d2a78aSEmmanuel Vadot        clock-names:
76*b2d2a78aSEmmanuel Vadot          minItems: 3
77*b2d2a78aSEmmanuel Vadot
78*b2d2a78aSEmmanuel VadotunevaluatedProperties: false
79*b2d2a78aSEmmanuel Vadot
80*b2d2a78aSEmmanuel Vadotexamples:
81*b2d2a78aSEmmanuel Vadot  - |
82*b2d2a78aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
83*b2d2a78aSEmmanuel Vadot    #include <dt-bindings/clock/at91.h>
84*b2d2a78aSEmmanuel Vadot    mmc@a0000000 {
85*b2d2a78aSEmmanuel Vadot        compatible = "atmel,sama5d2-sdhci";
86*b2d2a78aSEmmanuel Vadot        reg = <0xa0000000 0x300>;
87*b2d2a78aSEmmanuel Vadot        interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
88*b2d2a78aSEmmanuel Vadot        clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
89*b2d2a78aSEmmanuel Vadot        clock-names = "hclock", "multclk", "baseclk";
90*b2d2a78aSEmmanuel Vadot        assigned-clocks = <&sdmmc0_gclk>;
91*b2d2a78aSEmmanuel Vadot        assigned-clock-rates = <480000000>;
92*b2d2a78aSEmmanuel Vadot    };
93