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 Fainelliproperties: 1450c4ef6bSFlorian Fainelli compatible: 1550c4ef6bSFlorian Fainelli oneOf: 1650c4ef6bSFlorian Fainelli - items: 1750c4ef6bSFlorian Fainelli - enum: 1850c4ef6bSFlorian Fainelli - brcm,bcm7216-sdhci 1950c4ef6bSFlorian Fainelli - const: brcm,bcm7445-sdhci 2050c4ef6bSFlorian Fainelli - const: brcm,sdhci-brcmstb 2150c4ef6bSFlorian Fainelli - items: 2250c4ef6bSFlorian Fainelli - enum: 2350c4ef6bSFlorian Fainelli - brcm,bcm7445-sdhci 2450c4ef6bSFlorian Fainelli - const: brcm,sdhci-brcmstb 2550c4ef6bSFlorian Fainelli - items: 2650c4ef6bSFlorian Fainelli - enum: 2750c4ef6bSFlorian Fainelli - brcm,bcm7425-sdhci 2850c4ef6bSFlorian Fainelli - const: brcm,sdhci-brcmstb 2950c4ef6bSFlorian Fainelli 3050c4ef6bSFlorian Fainelli reg: 31b16ebda6SKrzysztof Kozlowski maxItems: 2 3250c4ef6bSFlorian Fainelli 3350c4ef6bSFlorian Fainelli reg-names: 3450c4ef6bSFlorian Fainelli items: 3550c4ef6bSFlorian Fainelli - const: host 3650c4ef6bSFlorian Fainelli - const: cfg 3750c4ef6bSFlorian Fainelli 3850c4ef6bSFlorian Fainelli interrupts: 3950c4ef6bSFlorian Fainelli maxItems: 1 4050c4ef6bSFlorian Fainelli 4150c4ef6bSFlorian Fainelli clocks: 42*2f8690efSKamal Dasu minItems: 1 43*2f8690efSKamal Dasu items: 44*2f8690efSKamal Dasu - description: handle to core clock for the sdhci controller 45*2f8690efSKamal Dasu - description: handle to improved 150Mhz clock for sdhci controller (Optional clock) 4650c4ef6bSFlorian Fainelli 4750c4ef6bSFlorian Fainelli clock-names: 48*2f8690efSKamal Dasu minItems: 1 4950c4ef6bSFlorian Fainelli items: 5050c4ef6bSFlorian Fainelli - const: sw_sdio 51*2f8690efSKamal Dasu - const: sdio_freq # Optional clock 52*2f8690efSKamal Dasu 53*2f8690efSKamal Dasu clock-frequency: 54*2f8690efSKamal Dasu description: 55*2f8690efSKamal Dasu Maximum operating frequency of sdio_freq sdhci controller clock 56*2f8690efSKamal Dasu $ref: /schemas/types.yaml#/definitions/uint32 57*2f8690efSKamal Dasu minimum: 100000000 58*2f8690efSKamal Dasu maximum: 150000000 5950c4ef6bSFlorian Fainelli 6050c4ef6bSFlorian Fainelli sdhci,auto-cmd12: 6150c4ef6bSFlorian Fainelli type: boolean 6250c4ef6bSFlorian Fainelli description: Specifies that controller should use auto CMD12 6350c4ef6bSFlorian Fainelli 64*2f8690efSKamal DasuallOf: 65*2f8690efSKamal Dasu - $ref: mmc-controller.yaml# 66*2f8690efSKamal Dasu - if: 67*2f8690efSKamal Dasu properties: 68*2f8690efSKamal Dasu clock-names: 69*2f8690efSKamal Dasu contains: 70*2f8690efSKamal Dasu const: sdio_freq 71*2f8690efSKamal Dasu 72*2f8690efSKamal Dasu then: 73*2f8690efSKamal Dasu required: 74*2f8690efSKamal Dasu - clock-frequency 75*2f8690efSKamal Dasu 7650c4ef6bSFlorian Fainellirequired: 7750c4ef6bSFlorian Fainelli - compatible 7850c4ef6bSFlorian Fainelli - reg 7950c4ef6bSFlorian Fainelli - interrupts 8050c4ef6bSFlorian Fainelli - clocks 81*2f8690efSKamal Dasu - clock-names 8250c4ef6bSFlorian Fainelli 8350c4ef6bSFlorian FainelliunevaluatedProperties: false 8450c4ef6bSFlorian Fainelli 8550c4ef6bSFlorian Fainelliexamples: 8650c4ef6bSFlorian Fainelli - | 8750c4ef6bSFlorian Fainelli mmc@84b0000 { 8850c4ef6bSFlorian Fainelli compatible = "brcm,bcm7216-sdhci", 8950c4ef6bSFlorian Fainelli "brcm,bcm7445-sdhci", 9050c4ef6bSFlorian Fainelli "brcm,sdhci-brcmstb"; 9150c4ef6bSFlorian Fainelli reg = <0x84b0000 0x260>, <0x84b0300 0x200>; 9250c4ef6bSFlorian Fainelli reg-names = "host", "cfg"; 930a70c5d2SKrzysztof Kozlowski sd-uhs-sdr50; 940a70c5d2SKrzysztof Kozlowski sd-uhs-ddr50; 950a70c5d2SKrzysztof Kozlowski sd-uhs-sdr104; 960a70c5d2SKrzysztof Kozlowski sdhci,auto-cmd12; 9750c4ef6bSFlorian Fainelli interrupts = <0x0 0x26 0x4>; 9850c4ef6bSFlorian Fainelli clocks = <&scmi_clk 245>; 9950c4ef6bSFlorian Fainelli clock-names = "sw_sdio"; 10050c4ef6bSFlorian Fainelli }; 10150c4ef6bSFlorian Fainelli 10250c4ef6bSFlorian Fainelli mmc@84b1000 { 1030a70c5d2SKrzysztof Kozlowski compatible = "brcm,bcm7216-sdhci", 1040a70c5d2SKrzysztof Kozlowski "brcm,bcm7445-sdhci", 1050a70c5d2SKrzysztof Kozlowski "brcm,sdhci-brcmstb"; 1060a70c5d2SKrzysztof Kozlowski reg = <0x84b1000 0x260>, <0x84b1300 0x200>; 1070a70c5d2SKrzysztof Kozlowski reg-names = "host", "cfg"; 10850c4ef6bSFlorian Fainelli mmc-ddr-1_8v; 10950c4ef6bSFlorian Fainelli mmc-hs200-1_8v; 11050c4ef6bSFlorian Fainelli mmc-hs400-1_8v; 11150c4ef6bSFlorian Fainelli mmc-hs400-enhanced-strobe; 11250c4ef6bSFlorian Fainelli supports-cqe; 11350c4ef6bSFlorian Fainelli non-removable; 11450c4ef6bSFlorian Fainelli bus-width = <0x8>; 11550c4ef6bSFlorian Fainelli interrupts = <0x0 0x27 0x4>; 11650c4ef6bSFlorian Fainelli clocks = <&scmi_clk 245>; 11750c4ef6bSFlorian Fainelli clock-names = "sw_sdio"; 11850c4ef6bSFlorian Fainelli }; 119