1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/brcm,sdhci-brcmstb.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BRCMSTB/BMIPS SDHCI Controller binding
8
9maintainers:
10  - Al Cooper <alcooperx@gmail.com>
11  - Florian Fainelli <f.fainelli@gmail.com>
12
13allOf:
14  - $ref: mmc-controller.yaml#
15
16properties:
17  compatible:
18    oneOf:
19      - items:
20          - enum:
21              - brcm,bcm7216-sdhci
22          - const: brcm,bcm7445-sdhci
23          - const: brcm,sdhci-brcmstb
24      - items:
25          - enum:
26              - brcm,bcm7445-sdhci
27          - const: brcm,sdhci-brcmstb
28      - items:
29          - enum:
30              - brcm,bcm7425-sdhci
31          - const: brcm,sdhci-brcmstb
32
33  reg:
34    minItems: 2
35
36  reg-names:
37    items:
38      - const: host
39      - const: cfg
40
41  interrupts:
42    maxItems: 1
43
44  clocks:
45    maxItems: 1
46    description:
47      handle to core clock for the sdhci controller.
48
49  clock-names:
50    items:
51      - const: sw_sdio
52
53  sdhci,auto-cmd12:
54    type: boolean
55    description: Specifies that controller should use auto CMD12
56
57required:
58  - compatible
59  - reg
60  - interrupts
61  - clocks
62
63unevaluatedProperties: false
64
65examples:
66  - |
67    mmc@84b0000 {
68      sd-uhs-sdr50;
69      sd-uhs-ddr50;
70      sd-uhs-sdr104;
71      sdhci,auto-cmd12;
72      compatible = "brcm,bcm7216-sdhci",
73                   "brcm,bcm7445-sdhci",
74                   "brcm,sdhci-brcmstb";
75      reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
76      reg-names = "host", "cfg";
77      interrupts = <0x0 0x26 0x4>;
78      interrupt-names = "sdio0_0";
79      clocks = <&scmi_clk 245>;
80      clock-names = "sw_sdio";
81    };
82
83    mmc@84b1000 {
84      mmc-ddr-1_8v;
85      mmc-hs200-1_8v;
86      mmc-hs400-1_8v;
87      mmc-hs400-enhanced-strobe;
88      supports-cqe;
89      non-removable;
90      bus-width = <0x8>;
91      compatible = "brcm,bcm7216-sdhci",
92           "brcm,bcm7445-sdhci",
93            "brcm,sdhci-brcmstb";
94      reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
95      reg-names = "host", "cfg";
96      interrupts = <0x0 0x27 0x4>;
97      interrupt-names = "sdio1_0";
98      clocks = <&scmi_clk 245>;
99      clock-names = "sw_sdio";
100    };
101