150c4ef6bSFlorian Fainelli# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
250c4ef6bSFlorian Fainelli%YAML 1.2
350c4ef6bSFlorian Fainelli---
450c4ef6bSFlorian Fainelli$id: http://devicetree.org/schemas/mmc/brcm,sdhci-brcmstb.yaml#
550c4ef6bSFlorian Fainelli$schema: http://devicetree.org/meta-schemas/core.yaml#
650c4ef6bSFlorian Fainelli
750c4ef6bSFlorian Fainellititle: Broadcom BRCMSTB/BMIPS SDHCI Controller binding
850c4ef6bSFlorian Fainelli
950c4ef6bSFlorian Fainellimaintainers:
1050c4ef6bSFlorian Fainelli  - Al Cooper <alcooperx@gmail.com>
1150c4ef6bSFlorian Fainelli  - Florian Fainelli <f.fainelli@gmail.com>
1250c4ef6bSFlorian Fainelli
1350c4ef6bSFlorian FainelliallOf:
1450c4ef6bSFlorian Fainelli  - $ref: mmc-controller.yaml#
1550c4ef6bSFlorian Fainelli
1650c4ef6bSFlorian Fainelliproperties:
1750c4ef6bSFlorian Fainelli  compatible:
1850c4ef6bSFlorian Fainelli    oneOf:
1950c4ef6bSFlorian Fainelli      - items:
2050c4ef6bSFlorian Fainelli          - enum:
2150c4ef6bSFlorian Fainelli              - brcm,bcm7216-sdhci
2250c4ef6bSFlorian Fainelli          - const: brcm,bcm7445-sdhci
2350c4ef6bSFlorian Fainelli          - const: brcm,sdhci-brcmstb
2450c4ef6bSFlorian Fainelli      - items:
2550c4ef6bSFlorian Fainelli          - enum:
2650c4ef6bSFlorian Fainelli              - brcm,bcm7445-sdhci
2750c4ef6bSFlorian Fainelli          - const: brcm,sdhci-brcmstb
2850c4ef6bSFlorian Fainelli      - items:
2950c4ef6bSFlorian Fainelli          - enum:
3050c4ef6bSFlorian Fainelli              - brcm,bcm7425-sdhci
3150c4ef6bSFlorian Fainelli          - const: brcm,sdhci-brcmstb
3250c4ef6bSFlorian Fainelli
3350c4ef6bSFlorian Fainelli  reg:
34b16ebda6SKrzysztof Kozlowski    maxItems: 2
3550c4ef6bSFlorian Fainelli
3650c4ef6bSFlorian Fainelli  reg-names:
3750c4ef6bSFlorian Fainelli    items:
3850c4ef6bSFlorian Fainelli      - const: host
3950c4ef6bSFlorian Fainelli      - const: cfg
4050c4ef6bSFlorian Fainelli
4150c4ef6bSFlorian Fainelli  interrupts:
4250c4ef6bSFlorian Fainelli    maxItems: 1
4350c4ef6bSFlorian Fainelli
4450c4ef6bSFlorian Fainelli  clocks:
4550c4ef6bSFlorian Fainelli    maxItems: 1
4650c4ef6bSFlorian Fainelli    description:
4750c4ef6bSFlorian Fainelli      handle to core clock for the sdhci controller.
4850c4ef6bSFlorian Fainelli
4950c4ef6bSFlorian Fainelli  clock-names:
5050c4ef6bSFlorian Fainelli    items:
5150c4ef6bSFlorian Fainelli      - const: sw_sdio
5250c4ef6bSFlorian Fainelli
5350c4ef6bSFlorian Fainelli  sdhci,auto-cmd12:
5450c4ef6bSFlorian Fainelli    type: boolean
5550c4ef6bSFlorian Fainelli    description: Specifies that controller should use auto CMD12
5650c4ef6bSFlorian Fainelli
5750c4ef6bSFlorian Fainellirequired:
5850c4ef6bSFlorian Fainelli  - compatible
5950c4ef6bSFlorian Fainelli  - reg
6050c4ef6bSFlorian Fainelli  - interrupts
6150c4ef6bSFlorian Fainelli  - clocks
6250c4ef6bSFlorian Fainelli
6350c4ef6bSFlorian FainelliunevaluatedProperties: false
6450c4ef6bSFlorian Fainelli
6550c4ef6bSFlorian Fainelliexamples:
6650c4ef6bSFlorian Fainelli  - |
6750c4ef6bSFlorian Fainelli    mmc@84b0000 {
6850c4ef6bSFlorian Fainelli      compatible = "brcm,bcm7216-sdhci",
6950c4ef6bSFlorian Fainelli                   "brcm,bcm7445-sdhci",
7050c4ef6bSFlorian Fainelli                   "brcm,sdhci-brcmstb";
7150c4ef6bSFlorian Fainelli      reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
7250c4ef6bSFlorian Fainelli      reg-names = "host", "cfg";
73*0a70c5d2SKrzysztof Kozlowski      sd-uhs-sdr50;
74*0a70c5d2SKrzysztof Kozlowski      sd-uhs-ddr50;
75*0a70c5d2SKrzysztof Kozlowski      sd-uhs-sdr104;
76*0a70c5d2SKrzysztof Kozlowski      sdhci,auto-cmd12;
7750c4ef6bSFlorian Fainelli      interrupts = <0x0 0x26 0x4>;
7850c4ef6bSFlorian Fainelli      interrupt-names = "sdio0_0";
7950c4ef6bSFlorian Fainelli      clocks = <&scmi_clk 245>;
8050c4ef6bSFlorian Fainelli      clock-names = "sw_sdio";
8150c4ef6bSFlorian Fainelli    };
8250c4ef6bSFlorian Fainelli
8350c4ef6bSFlorian Fainelli    mmc@84b1000 {
84*0a70c5d2SKrzysztof Kozlowski      compatible = "brcm,bcm7216-sdhci",
85*0a70c5d2SKrzysztof Kozlowski                   "brcm,bcm7445-sdhci",
86*0a70c5d2SKrzysztof Kozlowski                   "brcm,sdhci-brcmstb";
87*0a70c5d2SKrzysztof Kozlowski      reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
88*0a70c5d2SKrzysztof Kozlowski      reg-names = "host", "cfg";
8950c4ef6bSFlorian Fainelli      mmc-ddr-1_8v;
9050c4ef6bSFlorian Fainelli      mmc-hs200-1_8v;
9150c4ef6bSFlorian Fainelli      mmc-hs400-1_8v;
9250c4ef6bSFlorian Fainelli      mmc-hs400-enhanced-strobe;
9350c4ef6bSFlorian Fainelli      supports-cqe;
9450c4ef6bSFlorian Fainelli      non-removable;
9550c4ef6bSFlorian Fainelli      bus-width = <0x8>;
9650c4ef6bSFlorian Fainelli      interrupts = <0x0 0x27 0x4>;
9750c4ef6bSFlorian Fainelli      interrupt-names = "sdio1_0";
9850c4ef6bSFlorian Fainelli      clocks = <&scmi_clk 245>;
9950c4ef6bSFlorian Fainelli      clock-names = "sw_sdio";
10050c4ef6bSFlorian Fainelli    };
101