xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/amlogic,meson-gx-mmc.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cb7aa33aSEmmanuel Vadot%YAML 1.2
3*cb7aa33aSEmmanuel Vadot---
4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/amlogic,meson-gx-mmc.yaml#
5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb7aa33aSEmmanuel Vadot
7*cb7aa33aSEmmanuel Vadottitle: Amlogic SD / eMMC controller for S905/GXBB family SoCs
8*cb7aa33aSEmmanuel Vadot
9*cb7aa33aSEmmanuel Vadotdescription:
10*cb7aa33aSEmmanuel Vadot  The MMC 5.1 compliant host controller on Amlogic provides the
11*cb7aa33aSEmmanuel Vadot  interface for SD, eMMC and SDIO devices
12*cb7aa33aSEmmanuel Vadot
13*cb7aa33aSEmmanuel Vadotmaintainers:
14*cb7aa33aSEmmanuel Vadot  - Neil Armstrong <neil.armstrong@linaro.org>
15*cb7aa33aSEmmanuel Vadot
16*cb7aa33aSEmmanuel VadotallOf:
17*cb7aa33aSEmmanuel Vadot  - $ref: mmc-controller.yaml#
18*cb7aa33aSEmmanuel Vadot
19*cb7aa33aSEmmanuel Vadotproperties:
20*cb7aa33aSEmmanuel Vadot  compatible:
21*cb7aa33aSEmmanuel Vadot    oneOf:
22*cb7aa33aSEmmanuel Vadot      - const: amlogic,meson-axg-mmc
23*cb7aa33aSEmmanuel Vadot      - items:
24*cb7aa33aSEmmanuel Vadot          - const: amlogic,meson-gx-mmc
25*cb7aa33aSEmmanuel Vadot          - const: amlogic,meson-gxbb-mmc
26*cb7aa33aSEmmanuel Vadot
27*cb7aa33aSEmmanuel Vadot  reg:
28*cb7aa33aSEmmanuel Vadot    maxItems: 1
29*cb7aa33aSEmmanuel Vadot
30*cb7aa33aSEmmanuel Vadot  interrupts:
31*cb7aa33aSEmmanuel Vadot    minItems: 1
32*cb7aa33aSEmmanuel Vadot    items:
33*cb7aa33aSEmmanuel Vadot      - description: mmc controller instance
34*cb7aa33aSEmmanuel Vadot      - description: card detect
35*cb7aa33aSEmmanuel Vadot
36*cb7aa33aSEmmanuel Vadot  clocks:
37*cb7aa33aSEmmanuel Vadot    maxItems: 3
38*cb7aa33aSEmmanuel Vadot
39*cb7aa33aSEmmanuel Vadot  clock-names:
40*cb7aa33aSEmmanuel Vadot    items:
41*cb7aa33aSEmmanuel Vadot      - const: core
42*cb7aa33aSEmmanuel Vadot      - const: clkin0
43*cb7aa33aSEmmanuel Vadot      - const: clkin1
44*cb7aa33aSEmmanuel Vadot
45*cb7aa33aSEmmanuel Vadot  resets:
46*cb7aa33aSEmmanuel Vadot    maxItems: 1
47*cb7aa33aSEmmanuel Vadot
48*cb7aa33aSEmmanuel Vadot  amlogic,dram-access-quirk:
49*cb7aa33aSEmmanuel Vadot    type: boolean
50*cb7aa33aSEmmanuel Vadot    description:
51*cb7aa33aSEmmanuel Vadot      set when controller's internal DMA engine cannot access the DRAM memory,
52*cb7aa33aSEmmanuel Vadot      like on the G12A dedicated SDIO controller.
53*cb7aa33aSEmmanuel Vadot
54*cb7aa33aSEmmanuel Vadotrequired:
55*cb7aa33aSEmmanuel Vadot  - compatible
56*cb7aa33aSEmmanuel Vadot  - reg
57*cb7aa33aSEmmanuel Vadot  - interrupts
58*cb7aa33aSEmmanuel Vadot  - clocks
59*cb7aa33aSEmmanuel Vadot  - clock-names
60*cb7aa33aSEmmanuel Vadot  - resets
61*cb7aa33aSEmmanuel Vadot
62*cb7aa33aSEmmanuel VadotunevaluatedProperties: false
63*cb7aa33aSEmmanuel Vadot
64*cb7aa33aSEmmanuel Vadotexamples:
65*cb7aa33aSEmmanuel Vadot  - |
66*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
67*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
68*cb7aa33aSEmmanuel Vadot    mmc@70000 {
69*cb7aa33aSEmmanuel Vadot        compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
70*cb7aa33aSEmmanuel Vadot        reg = <0x70000 0x2000>;
71*cb7aa33aSEmmanuel Vadot        interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
72*cb7aa33aSEmmanuel Vadot        clocks = <&clk_mmc>, <&xtal>, <&clk_div>;
73*cb7aa33aSEmmanuel Vadot        clock-names = "core", "clkin0", "clkin1";
74*cb7aa33aSEmmanuel Vadot        pinctrl-0 = <&emm_pins>;
75*cb7aa33aSEmmanuel Vadot        resets = <&reset_mmc>;
76*cb7aa33aSEmmanuel Vadot    };
77