xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/brcm,sdhci-brcmstb.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/brcm,sdhci-brcmstb.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Broadcom BRCMSTB/BMIPS SDHCI Controller
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Al Cooper <alcooperx@gmail.com>
11e67e8565SEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
12e67e8565SEmmanuel Vadot
13e67e8565SEmmanuel Vadotproperties:
14e67e8565SEmmanuel Vadot  compatible:
15e67e8565SEmmanuel Vadot    oneOf:
16e67e8565SEmmanuel Vadot      - items:
17e67e8565SEmmanuel Vadot          - enum:
18e67e8565SEmmanuel Vadot              - brcm,bcm7216-sdhci
19e67e8565SEmmanuel Vadot          - const: brcm,bcm7445-sdhci
20e67e8565SEmmanuel Vadot          - const: brcm,sdhci-brcmstb
21e67e8565SEmmanuel Vadot      - items:
22e67e8565SEmmanuel Vadot          - enum:
23*0e8011faSEmmanuel Vadot              - brcm,bcm2712-sdhci
248d13bc63SEmmanuel Vadot              - brcm,bcm74165b0-sdhci
25e67e8565SEmmanuel Vadot              - brcm,bcm7445-sdhci
26e67e8565SEmmanuel Vadot              - brcm,bcm7425-sdhci
27e67e8565SEmmanuel Vadot          - const: brcm,sdhci-brcmstb
28e67e8565SEmmanuel Vadot
29e67e8565SEmmanuel Vadot  reg:
30d5b0e70fSEmmanuel Vadot    maxItems: 2
31e67e8565SEmmanuel Vadot
32e67e8565SEmmanuel Vadot  reg-names:
33e67e8565SEmmanuel Vadot    items:
34e67e8565SEmmanuel Vadot      - const: host
35e67e8565SEmmanuel Vadot      - const: cfg
36e67e8565SEmmanuel Vadot
37e67e8565SEmmanuel Vadot  interrupts:
38e67e8565SEmmanuel Vadot    maxItems: 1
39e67e8565SEmmanuel Vadot
40e67e8565SEmmanuel Vadot  clocks:
41b97ee269SEmmanuel Vadot    minItems: 1
42b97ee269SEmmanuel Vadot    items:
43b97ee269SEmmanuel Vadot      - description: handle to core clock for the sdhci controller
44b97ee269SEmmanuel Vadot      - description: handle to improved 150Mhz clock for sdhci controller (Optional clock)
45e67e8565SEmmanuel Vadot
46e67e8565SEmmanuel Vadot  clock-names:
47b97ee269SEmmanuel Vadot    minItems: 1
48e67e8565SEmmanuel Vadot    items:
49e67e8565SEmmanuel Vadot      - const: sw_sdio
50b97ee269SEmmanuel Vadot      - const: sdio_freq # Optional clock
51b97ee269SEmmanuel Vadot
52b97ee269SEmmanuel Vadot  clock-frequency:
53b97ee269SEmmanuel Vadot    description:
54b97ee269SEmmanuel Vadot      Maximum operating frequency of sdio_freq sdhci controller clock
55b97ee269SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
56b97ee269SEmmanuel Vadot    minimum: 100000000
57b97ee269SEmmanuel Vadot    maximum: 150000000
58e67e8565SEmmanuel Vadot
59e67e8565SEmmanuel Vadot  sdhci,auto-cmd12:
60e67e8565SEmmanuel Vadot    type: boolean
61e67e8565SEmmanuel Vadot    description: Specifies that controller should use auto CMD12
62e67e8565SEmmanuel Vadot
63b97ee269SEmmanuel VadotallOf:
64b97ee269SEmmanuel Vadot  - $ref: mmc-controller.yaml#
65b97ee269SEmmanuel Vadot  - if:
66b97ee269SEmmanuel Vadot      properties:
67b97ee269SEmmanuel Vadot        clock-names:
68b97ee269SEmmanuel Vadot          contains:
69b97ee269SEmmanuel Vadot            const: sdio_freq
70b97ee269SEmmanuel Vadot
71b97ee269SEmmanuel Vadot    then:
72b97ee269SEmmanuel Vadot      required:
73b97ee269SEmmanuel Vadot        - clock-frequency
74b97ee269SEmmanuel Vadot
75e67e8565SEmmanuel Vadotrequired:
76e67e8565SEmmanuel Vadot  - compatible
77e67e8565SEmmanuel Vadot  - reg
78e67e8565SEmmanuel Vadot  - interrupts
79e67e8565SEmmanuel Vadot  - clocks
80b97ee269SEmmanuel Vadot  - clock-names
81e67e8565SEmmanuel Vadot
82e67e8565SEmmanuel VadotunevaluatedProperties: false
83e67e8565SEmmanuel Vadot
84e67e8565SEmmanuel Vadotexamples:
85e67e8565SEmmanuel Vadot  - |
86e67e8565SEmmanuel Vadot    mmc@84b0000 {
87e67e8565SEmmanuel Vadot      compatible = "brcm,bcm7216-sdhci",
88e67e8565SEmmanuel Vadot                   "brcm,bcm7445-sdhci",
89e67e8565SEmmanuel Vadot                   "brcm,sdhci-brcmstb";
90e67e8565SEmmanuel Vadot      reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
91e67e8565SEmmanuel Vadot      reg-names = "host", "cfg";
92d5b0e70fSEmmanuel Vadot      sd-uhs-sdr50;
93d5b0e70fSEmmanuel Vadot      sd-uhs-ddr50;
94d5b0e70fSEmmanuel Vadot      sd-uhs-sdr104;
95d5b0e70fSEmmanuel Vadot      sdhci,auto-cmd12;
96e67e8565SEmmanuel Vadot      interrupts = <0x0 0x26 0x4>;
97e67e8565SEmmanuel Vadot      clocks = <&scmi_clk 245>;
98e67e8565SEmmanuel Vadot      clock-names = "sw_sdio";
99e67e8565SEmmanuel Vadot    };
100e67e8565SEmmanuel Vadot
101e67e8565SEmmanuel Vadot    mmc@84b1000 {
102d5b0e70fSEmmanuel Vadot      compatible = "brcm,bcm7216-sdhci",
103d5b0e70fSEmmanuel Vadot                   "brcm,bcm7445-sdhci",
104d5b0e70fSEmmanuel Vadot                   "brcm,sdhci-brcmstb";
105d5b0e70fSEmmanuel Vadot      reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
106d5b0e70fSEmmanuel Vadot      reg-names = "host", "cfg";
107e67e8565SEmmanuel Vadot      mmc-ddr-1_8v;
108e67e8565SEmmanuel Vadot      mmc-hs200-1_8v;
109e67e8565SEmmanuel Vadot      mmc-hs400-1_8v;
110e67e8565SEmmanuel Vadot      mmc-hs400-enhanced-strobe;
111e67e8565SEmmanuel Vadot      supports-cqe;
112e67e8565SEmmanuel Vadot      non-removable;
113e67e8565SEmmanuel Vadot      bus-width = <0x8>;
114e67e8565SEmmanuel Vadot      interrupts = <0x0 0x27 0x4>;
115e67e8565SEmmanuel Vadot      clocks = <&scmi_clk 245>;
116e67e8565SEmmanuel Vadot      clock-names = "sw_sdio";
117e67e8565SEmmanuel Vadot    };
118