1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic SoCs MMC Controller DT bindings
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12allOf:
13  - $ref: mmc-controller.yaml#
14
15properties:
16  compatible:
17    oneOf:
18      - enum:
19          - ingenic,jz4740-mmc
20          - ingenic,jz4725b-mmc
21          - ingenic,jz4760-mmc
22          - ingenic,jz4775-mmc
23          - ingenic,jz4780-mmc
24          - ingenic,x1000-mmc
25      - items:
26          - const: ingenic,jz4770-mmc
27          - const: ingenic,jz4760-mmc
28
29  reg:
30    maxItems: 1
31
32  interrupts:
33    maxItems: 1
34
35  clocks:
36    maxItems: 1
37
38  clock-names:
39    const: mmc
40
41  dmas:
42    items:
43      - description: DMA controller phandle and request line for RX
44      - description: DMA controller phandle and request line for TX
45
46  dma-names:
47    items:
48      - const: rx
49      - const: tx
50
51required:
52  - compatible
53  - reg
54  - interrupts
55  - clocks
56  - clock-names
57  - dmas
58  - dma-names
59
60unevaluatedProperties: false
61
62examples:
63  - |
64    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
65    #include <dt-bindings/dma/jz4780-dma.h>
66    mmc0: mmc@13450000 {
67      compatible = "ingenic,jz4780-mmc";
68      reg = <0x13450000 0x1000>;
69
70      interrupt-parent = <&intc>;
71      interrupts = <37>;
72
73      clocks = <&cgu JZ4780_CLK_MSC0>;
74      clock-names = "mmc";
75
76      cap-sd-highspeed;
77      cap-mmc-highspeed;
78      cap-sdio-irq;
79      dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,
80             <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;
81      dma-names = "rx", "tx";
82    };
83