Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mmc/brcm,sdhci-brcmstb.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Broadcom BRCMSTB/BMIPS SDHCI Controller binding
0008 
0009 maintainers:
0010   - Al Cooper <alcooperx@gmail.com>
0011   - Florian Fainelli <f.fainelli@gmail.com>
0012 
0013 properties:
0014   compatible:
0015     oneOf:
0016       - items:
0017           - enum:
0018               - brcm,bcm7216-sdhci
0019           - const: brcm,bcm7445-sdhci
0020           - const: brcm,sdhci-brcmstb
0021       - items:
0022           - enum:
0023               - brcm,bcm7445-sdhci
0024           - const: brcm,sdhci-brcmstb
0025       - items:
0026           - enum:
0027               - brcm,bcm7425-sdhci
0028           - const: brcm,sdhci-brcmstb
0029 
0030   reg:
0031     maxItems: 2
0032 
0033   reg-names:
0034     items:
0035       - const: host
0036       - const: cfg
0037 
0038   interrupts:
0039     maxItems: 1
0040 
0041   clocks:
0042     minItems: 1
0043     items:
0044       - description: handle to core clock for the sdhci controller
0045       - description: handle to improved 150Mhz clock for sdhci controller (Optional clock)
0046 
0047   clock-names:
0048     minItems: 1
0049     items:
0050       - const: sw_sdio
0051       - const: sdio_freq # Optional clock
0052 
0053   clock-frequency:
0054     description:
0055       Maximum operating frequency of sdio_freq sdhci controller clock
0056     $ref: /schemas/types.yaml#/definitions/uint32
0057     minimum: 100000000
0058     maximum: 150000000
0059 
0060   sdhci,auto-cmd12:
0061     type: boolean
0062     description: Specifies that controller should use auto CMD12
0063 
0064 allOf:
0065   - $ref: mmc-controller.yaml#
0066   - if:
0067       properties:
0068         clock-names:
0069           contains:
0070             const: sdio_freq
0071 
0072     then:
0073       required:
0074         - clock-frequency
0075 
0076 required:
0077   - compatible
0078   - reg
0079   - interrupts
0080   - clocks
0081   - clock-names
0082 
0083 unevaluatedProperties: false
0084 
0085 examples:
0086   - |
0087     mmc@84b0000 {
0088       compatible = "brcm,bcm7216-sdhci",
0089                    "brcm,bcm7445-sdhci",
0090                    "brcm,sdhci-brcmstb";
0091       reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
0092       reg-names = "host", "cfg";
0093       sd-uhs-sdr50;
0094       sd-uhs-ddr50;
0095       sd-uhs-sdr104;
0096       sdhci,auto-cmd12;
0097       interrupts = <0x0 0x26 0x4>;
0098       clocks = <&scmi_clk 245>;
0099       clock-names = "sw_sdio";
0100     };
0101 
0102     mmc@84b1000 {
0103       compatible = "brcm,bcm7216-sdhci",
0104                    "brcm,bcm7445-sdhci",
0105                    "brcm,sdhci-brcmstb";
0106       reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
0107       reg-names = "host", "cfg";
0108       mmc-ddr-1_8v;
0109       mmc-hs200-1_8v;
0110       mmc-hs400-1_8v;
0111       mmc-hs400-enhanced-strobe;
0112       supports-cqe;
0113       non-removable;
0114       bus-width = <0x8>;
0115       interrupts = <0x0 0x27 0x4>;
0116       clocks = <&scmi_clk 245>;
0117       clock-names = "sw_sdio";
0118     };