xref: /freebsd-src/sys/contrib/device-tree/Bindings/mmc/synopsys-dw-mshc.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/synopsys-dw-mshc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Synopsys Designware Mobile Storage Host Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Ulf Hansson <ulf.hansson@linaro.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot# Everything else is described in the common file
13c66ec88fSEmmanuel Vadotproperties:
14c66ec88fSEmmanuel Vadot  compatible:
15e67e8565SEmmanuel Vadot    enum:
16e67e8565SEmmanuel Vadot      - altr,socfpga-dw-mshc
17e67e8565SEmmanuel Vadot      - img,pistachio-dw-mshc
18e67e8565SEmmanuel Vadot      - snps,dw-mshc
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot  reg:
21c66ec88fSEmmanuel Vadot    maxItems: 1
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot  interrupts:
24c66ec88fSEmmanuel Vadot    maxItems: 1
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  clocks:
27c66ec88fSEmmanuel Vadot    minItems: 2
28c66ec88fSEmmanuel Vadot    maxItems: 2
29c66ec88fSEmmanuel Vadot    description:
30c66ec88fSEmmanuel Vadot      Handle to "biu" and "ciu" clocks for the
31c66ec88fSEmmanuel Vadot      bus interface unit clock and the card interface unit clock.
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clock-names:
34c66ec88fSEmmanuel Vadot    items:
35c66ec88fSEmmanuel Vadot      - const: biu
36c66ec88fSEmmanuel Vadot      - const: ciu
37c66ec88fSEmmanuel Vadot
38*8d13bc63SEmmanuel Vadot  iommus:
39*8d13bc63SEmmanuel Vadot    maxItems: 1
40*8d13bc63SEmmanuel Vadot
418bab661aSEmmanuel Vadot  altr,sysmgr-syscon:
428bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
438bab661aSEmmanuel Vadot    items:
448bab661aSEmmanuel Vadot      - items:
458bab661aSEmmanuel Vadot          - description: phandle to the sysmgr node
468bab661aSEmmanuel Vadot          - description: register offset that controls the SDMMC clock phase
478bab661aSEmmanuel Vadot          - description: register shift for the smplsel(drive in) setting
488bab661aSEmmanuel Vadot    description:
498bab661aSEmmanuel Vadot      This property is optional. Contains the phandle to System Manager block
508bab661aSEmmanuel Vadot      that contains the SDMMC clock-phase control register. The first value is
518bab661aSEmmanuel Vadot      the pointer to the sysmgr, the 2nd value is the register offset for the
528bab661aSEmmanuel Vadot      SDMMC clock phase register, and the 3rd value is the bit shift for the
538bab661aSEmmanuel Vadot      smplsel(drive in) setting.
548bab661aSEmmanuel Vadot
558bab661aSEmmanuel VadotallOf:
568bab661aSEmmanuel Vadot  - $ref: synopsys-dw-mshc-common.yaml#
578bab661aSEmmanuel Vadot
588bab661aSEmmanuel Vadot  - if:
598bab661aSEmmanuel Vadot      properties:
608bab661aSEmmanuel Vadot        compatible:
618bab661aSEmmanuel Vadot          contains:
628bab661aSEmmanuel Vadot            const: altr,socfpga-dw-mshc
638bab661aSEmmanuel Vadot    then:
648bab661aSEmmanuel Vadot      properties:
658bab661aSEmmanuel Vadot        altr,sysmgr-syscon: true
668bab661aSEmmanuel Vadot    else:
678bab661aSEmmanuel Vadot      properties:
68*8d13bc63SEmmanuel Vadot        iommus: false
698bab661aSEmmanuel Vadot        altr,sysmgr-syscon: false
708bab661aSEmmanuel Vadot
71c66ec88fSEmmanuel Vadotrequired:
72c66ec88fSEmmanuel Vadot  - compatible
73c66ec88fSEmmanuel Vadot  - reg
74c66ec88fSEmmanuel Vadot  - interrupts
75c66ec88fSEmmanuel Vadot  - clocks
76c66ec88fSEmmanuel Vadot  - clock-names
77c66ec88fSEmmanuel Vadot
786be33864SEmmanuel VadotunevaluatedProperties: false
796be33864SEmmanuel Vadot
80c66ec88fSEmmanuel Vadotexamples:
81c66ec88fSEmmanuel Vadot  - |
82c66ec88fSEmmanuel Vadot    mmc@12200000 {
83c66ec88fSEmmanuel Vadot      compatible = "snps,dw-mshc";
84c66ec88fSEmmanuel Vadot      reg = <0x12200000 0x1000>;
85c66ec88fSEmmanuel Vadot      interrupts = <0 75 0>;
86c66ec88fSEmmanuel Vadot      clocks = <&clock 351>, <&clock 132>;
87c66ec88fSEmmanuel Vadot      clock-names = "biu", "ciu";
88c66ec88fSEmmanuel Vadot      dmas = <&pdma 12>;
89c66ec88fSEmmanuel Vadot      dma-names = "rx-tx";
90c66ec88fSEmmanuel Vadot      resets = <&rst 20>;
91c66ec88fSEmmanuel Vadot      reset-names = "reset";
92c66ec88fSEmmanuel Vadot      vmmc-supply = <&buck8>;
93c66ec88fSEmmanuel Vadot      #address-cells = <1>;
94c66ec88fSEmmanuel Vadot      #size-cells = <0>;
95c66ec88fSEmmanuel Vadot      broken-cd;
96c66ec88fSEmmanuel Vadot      bus-width = <8>;
97c66ec88fSEmmanuel Vadot      cap-mmc-highspeed;
98c66ec88fSEmmanuel Vadot      cap-sd-highspeed;
99c66ec88fSEmmanuel Vadot      card-detect-delay = <200>;
100c66ec88fSEmmanuel Vadot      max-frequency = <200000000>;
101c66ec88fSEmmanuel Vadot      clock-frequency = <400000000>;
102c66ec88fSEmmanuel Vadot      data-addr = <0x200>;
103c66ec88fSEmmanuel Vadot      fifo-depth = <0x80>;
104c66ec88fSEmmanuel Vadot      fifo-watermark-aligned;
105c66ec88fSEmmanuel Vadot    };
106