xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/starfive,jh7110-mmc.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*cb7aa33aSEmmanuel Vadot%YAML 1.2
3*cb7aa33aSEmmanuel Vadot---
4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/starfive,jh7110-mmc.yaml#
5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb7aa33aSEmmanuel Vadot
7*cb7aa33aSEmmanuel Vadottitle: StarFive Designware Mobile Storage Host Controller
8*cb7aa33aSEmmanuel Vadot
9*cb7aa33aSEmmanuel Vadotdescription:
10*cb7aa33aSEmmanuel Vadot  StarFive uses the Synopsys designware mobile storage host controller
11*cb7aa33aSEmmanuel Vadot  to interface a SoC with storage medium such as eMMC or SD/MMC cards.
12*cb7aa33aSEmmanuel Vadot
13*cb7aa33aSEmmanuel VadotallOf:
14*cb7aa33aSEmmanuel Vadot  - $ref: synopsys-dw-mshc-common.yaml#
15*cb7aa33aSEmmanuel Vadot
16*cb7aa33aSEmmanuel Vadotmaintainers:
17*cb7aa33aSEmmanuel Vadot  - William Qiu <william.qiu@starfivetech.com>
18*cb7aa33aSEmmanuel Vadot
19*cb7aa33aSEmmanuel Vadotproperties:
20*cb7aa33aSEmmanuel Vadot  compatible:
21*cb7aa33aSEmmanuel Vadot    const: starfive,jh7110-mmc
22*cb7aa33aSEmmanuel Vadot
23*cb7aa33aSEmmanuel Vadot  reg:
24*cb7aa33aSEmmanuel Vadot    maxItems: 1
25*cb7aa33aSEmmanuel Vadot
26*cb7aa33aSEmmanuel Vadot  clocks:
27*cb7aa33aSEmmanuel Vadot    items:
28*cb7aa33aSEmmanuel Vadot      - description: biu clock
29*cb7aa33aSEmmanuel Vadot      - description: ciu clock
30*cb7aa33aSEmmanuel Vadot
31*cb7aa33aSEmmanuel Vadot  clock-names:
32*cb7aa33aSEmmanuel Vadot    items:
33*cb7aa33aSEmmanuel Vadot      - const: biu
34*cb7aa33aSEmmanuel Vadot      - const: ciu
35*cb7aa33aSEmmanuel Vadot
36*cb7aa33aSEmmanuel Vadot  interrupts:
37*cb7aa33aSEmmanuel Vadot    maxItems: 1
38*cb7aa33aSEmmanuel Vadot
39*cb7aa33aSEmmanuel Vadot  starfive,sysreg:
40*cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
41*cb7aa33aSEmmanuel Vadot    items:
42*cb7aa33aSEmmanuel Vadot      - items:
43*cb7aa33aSEmmanuel Vadot          - description: phandle to System Register Controller syscon node
44*cb7aa33aSEmmanuel Vadot          - description: offset of SYS_SYSCONSAIF__SYSCFG register for MMC controller
45*cb7aa33aSEmmanuel Vadot          - description: shift of SYS_SYSCONSAIF__SYSCFG register for MMC controller
46*cb7aa33aSEmmanuel Vadot          - description: mask of SYS_SYSCONSAIF__SYSCFG register for MMC controller
47*cb7aa33aSEmmanuel Vadot    description:
48*cb7aa33aSEmmanuel Vadot      Should be four parameters, the phandle to System Register Controller
49*cb7aa33aSEmmanuel Vadot      syscon node and the offset/shift/mask of SYS_SYSCONSAIF__SYSCFG register
50*cb7aa33aSEmmanuel Vadot      for MMC controller.
51*cb7aa33aSEmmanuel Vadot
52*cb7aa33aSEmmanuel Vadotrequired:
53*cb7aa33aSEmmanuel Vadot  - compatible
54*cb7aa33aSEmmanuel Vadot  - reg
55*cb7aa33aSEmmanuel Vadot  - clocks
56*cb7aa33aSEmmanuel Vadot  - clock-names
57*cb7aa33aSEmmanuel Vadot  - interrupts
58*cb7aa33aSEmmanuel Vadot
59*cb7aa33aSEmmanuel VadotunevaluatedProperties: false
60*cb7aa33aSEmmanuel Vadot
61*cb7aa33aSEmmanuel Vadotexamples:
62*cb7aa33aSEmmanuel Vadot  - |
63*cb7aa33aSEmmanuel Vadot    mmc@16010000 {
64*cb7aa33aSEmmanuel Vadot        compatible = "starfive,jh7110-mmc";
65*cb7aa33aSEmmanuel Vadot        reg = <0x16010000 0x10000>;
66*cb7aa33aSEmmanuel Vadot        clocks = <&syscrg 91>,
67*cb7aa33aSEmmanuel Vadot                 <&syscrg 93>;
68*cb7aa33aSEmmanuel Vadot        clock-names = "biu","ciu";
69*cb7aa33aSEmmanuel Vadot        resets = <&syscrg 64>;
70*cb7aa33aSEmmanuel Vadot        reset-names = "reset";
71*cb7aa33aSEmmanuel Vadot        interrupts = <74>;
72*cb7aa33aSEmmanuel Vadot        fifo-depth = <32>;
73*cb7aa33aSEmmanuel Vadot        fifo-watermark-aligned;
74*cb7aa33aSEmmanuel Vadot        data-addr = <0>;
75*cb7aa33aSEmmanuel Vadot    };
76