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