1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/allwinner,sun4i-a10-mmc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 MMC Controller Device Tree Bindings
8
9allOf:
10  - $ref: "mmc-controller.yaml"
11
12maintainers:
13  - Chen-Yu Tsai <wens@csie.org>
14  - Maxime Ripard <maxime.ripard@bootlin.com>
15
16properties:
17  "#address-cells": true
18  "#size-cells": true
19
20  compatible:
21    oneOf:
22      - const: allwinner,sun4i-a10-mmc
23      - const: allwinner,sun5i-a13-mmc
24      - const: allwinner,sun7i-a20-mmc
25      - const: allwinner,sun8i-a83t-emmc
26      - const: allwinner,sun9i-a80-mmc
27      - const: allwinner,sun50i-a64-emmc
28      - const: allwinner,sun50i-a64-mmc
29      - items:
30          - const: allwinner,sun8i-a83t-mmc
31          - const: allwinner,sun7i-a20-mmc
32      - items:
33          - const: allwinner,sun50i-h6-emmc
34          - const: allwinner,sun50i-a64-emmc
35      - items:
36          - const: allwinner,sun50i-h6-mmc
37          - const: allwinner,sun50i-a64-mmc
38      - items:
39          - const: allwinner,sun8i-r40-emmc
40          - const: allwinner,sun50i-a64-emmc
41      - items:
42          - const: allwinner,sun8i-r40-mmc
43          - const: allwinner,sun50i-a64-mmc
44
45  reg:
46    maxItems: 1
47
48  interrupts:
49    maxItems: 1
50
51  clocks:
52    minItems: 2
53    maxItems: 4
54    items:
55      - description: Bus Clock
56      - description: Module Clock
57      - description: Output Clock
58      - description: Sample Clock
59
60  clock-names:
61    minItems: 2
62    maxItems: 4
63    items:
64      - const: ahb
65      - const: mmc
66      - const: output
67      - const: sample
68
69  resets:
70    maxItems: 1
71
72  reset-names:
73    const: ahb
74
75required:
76  - compatible
77  - reg
78  - interrupts
79  - clocks
80  - clock-names
81
82examples:
83  - |
84    mmc0: mmc@1c0f000 {
85        compatible = "allwinner,sun5i-a13-mmc";
86        reg = <0x01c0f000 0x1000>;
87        clocks = <&ahb_gates 8>, <&mmc0_clk>;
88        clock-names = "ahb", "mmc";
89        interrupts = <32>;
90        bus-width = <4>;
91        cd-gpios = <&pio 7 1 0>;
92    };
93
94# FIXME: We should set it, but it would report all the generic
95# properties as additional properties.
96# additionalProperties: false
97
98...
99