blob: c028039bc477ce3efa6133a60e0ff3f03b50c7db [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
8
9maintainers:
10 - Al Cooper <alcooperx@gmail.com>
11 - Florian Fainelli <f.fainelli@gmail.com>
12
13properties:
14 compatible:
15 oneOf:
16 - items:
17 - enum:
18 - brcm,bcm7216-sdhci
19 - const: brcm,bcm7445-sdhci
20 - const: brcm,sdhci-brcmstb
21 - items:
22 - enum:
23 - brcm,bcm7445-sdhci
24 - const: brcm,sdhci-brcmstb
25 - items:
26 - enum:
27 - brcm,bcm7425-sdhci
28 - const: brcm,sdhci-brcmstb
29
30 reg:
31 maxItems: 2
32
33 reg-names:
34 items:
35 - const: host
36 - const: cfg
37
38 interrupts:
39 maxItems: 1
40
41 clocks:
42 minItems: 1
43 items:
44 - description: handle to core clock for the sdhci controller
45 - description: handle to improved 150Mhz clock for sdhci controller (Optional clock)
46
47 clock-names:
48 minItems: 1
49 items:
50 - const: sw_sdio
51 - const: sdio_freq # Optional clock
52
53 clock-frequency:
54 description:
55 Maximum operating frequency of sdio_freq sdhci controller clock
56 $ref: /schemas/types.yaml#/definitions/uint32
57 minimum: 100000000
58 maximum: 150000000
59
60 sdhci,auto-cmd12:
61 type: boolean
62 description: Specifies that controller should use auto CMD12
63
64allOf:
65 - $ref: mmc-controller.yaml#
66 - if:
67 properties:
68 clock-names:
69 contains:
70 const: sdio_freq
71
72 then:
73 required:
74 - clock-frequency
75
76required:
77 - compatible
78 - reg
79 - interrupts
80 - clocks
81 - clock-names
82
83unevaluatedProperties: false
84
85examples:
86 - |
87 mmc@84b0000 {
88 compatible = "brcm,bcm7216-sdhci",
89 "brcm,bcm7445-sdhci",
90 "brcm,sdhci-brcmstb";
91 reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
92 reg-names = "host", "cfg";
93 sd-uhs-sdr50;
94 sd-uhs-ddr50;
95 sd-uhs-sdr104;
96 sdhci,auto-cmd12;
97 interrupts = <0x0 0x26 0x4>;
98 clocks = <&scmi_clk 245>;
99 clock-names = "sw_sdio";
100 };
101
102 mmc@84b1000 {
103 compatible = "brcm,bcm7216-sdhci",
104 "brcm,bcm7445-sdhci",
105 "brcm,sdhci-brcmstb";
106 reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
107 reg-names = "host", "cfg";
108 mmc-ddr-1_8v;
109 mmc-hs200-1_8v;
110 mmc-hs400-1_8v;
111 mmc-hs400-enhanced-strobe;
112 supports-cqe;
113 non-removable;
114 bus-width = <0x8>;
115 interrupts = <0x0 0x27 0x4>;
116 clocks = <&scmi_clk 245>;
117 clock-names = "sw_sdio";
118 };