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