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