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    maxItems: 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      compatible = "brcm,bcm7216-sdhci",
69                   "brcm,bcm7445-sdhci",
70                   "brcm,sdhci-brcmstb";
71      reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
72      reg-names = "host", "cfg";
73      sd-uhs-sdr50;
74      sd-uhs-ddr50;
75      sd-uhs-sdr104;
76      sdhci,auto-cmd12;
77      interrupts = <0x0 0x26 0x4>;
78      clocks = <&scmi_clk 245>;
79      clock-names = "sw_sdio";
80    };
81
82    mmc@84b1000 {
83      compatible = "brcm,bcm7216-sdhci",
84                   "brcm,bcm7445-sdhci",
85                   "brcm,sdhci-brcmstb";
86      reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
87      reg-names = "host", "cfg";
88      mmc-ddr-1_8v;
89      mmc-hs200-1_8v;
90      mmc-hs400-1_8v;
91      mmc-hs400-enhanced-strobe;
92      supports-cqe;
93      non-removable;
94      bus-width = <0x8>;
95      interrupts = <0x0 0x27 0x4>;
96      clocks = <&scmi_clk 245>;
97      clock-names = "sw_sdio";
98    };
99