1# SPDX-License-Identifier: GPL-2.0+
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sram/allwinner,sun4i-a10-system-control.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 System Control Device Tree Bindings
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13description:
14  The SRAM controller found on most Allwinner devices is represented
15  by a regular node for the SRAM controller itself, with sub-nodes
16  representing the SRAM handled by the SRAM controller.
17
18properties:
19  "#address-cells":
20    const: 1
21
22  "#size-cells":
23    const: 1
24
25  compatible:
26    oneOf:
27      - const: allwinner,sun4i-a10-sram-controller
28        deprecated: true
29      - const: allwinner,sun4i-a10-system-control
30      - const: allwinner,sun5i-a13-system-control
31      - items:
32          - const: allwinner,sun7i-a20-system-control
33          - const: allwinner,sun4i-a10-system-control
34      - const: allwinner,sun8i-a23-system-control
35      - const: allwinner,sun8i-h3-system-control
36      - items:
37          - const: allwinner,sun8i-v3s-system-control
38          - const: allwinner,sun8i-h3-system-control
39      - items:
40          - const: allwinner,sun8i-r40-system-control
41          - const: allwinner,sun4i-a10-system-control
42      - const: allwinner,sun50i-a64-sram-controller
43        deprecated: true
44      - const: allwinner,sun50i-a64-system-control
45      - const: allwinner,sun50i-h5-system-control
46      - items:
47          - const: allwinner,sun50i-h6-system-control
48          - const: allwinner,sun50i-a64-system-control
49      - items:
50          - const: allwinner,suniv-f1c100s-system-control
51          - const: allwinner,sun4i-a10-system-control
52      - const: allwinner,sun50i-h616-system-control
53
54  reg:
55    maxItems: 1
56
57  ranges: true
58
59patternProperties:
60  "^sram@[a-z0-9]+":
61    type: object
62
63    properties:
64      compatible:
65        const: mmio-sram
66
67    patternProperties:
68      "^sram-section?@[a-f0-9]+$":
69        type: object
70
71        properties:
72          compatible:
73            oneOf:
74              - const: allwinner,sun4i-a10-sram-a3-a4
75              - const: allwinner,sun4i-a10-sram-c1
76              - const: allwinner,sun4i-a10-sram-d
77              - const: allwinner,sun50i-a64-sram-c
78              - items:
79                  - const: allwinner,sun5i-a13-sram-a3-a4
80                  - const: allwinner,sun4i-a10-sram-a3-a4
81              - items:
82                  - const: allwinner,sun7i-a20-sram-a3-a4
83                  - const: allwinner,sun4i-a10-sram-a3-a4
84              - items:
85                  - const: allwinner,sun5i-a13-sram-c1
86                  - const: allwinner,sun4i-a10-sram-c1
87              - items:
88                  - const: allwinner,sun7i-a20-sram-c1
89                  - const: allwinner,sun4i-a10-sram-c1
90              - items:
91                  - const: allwinner,sun8i-a23-sram-c1
92                  - const: allwinner,sun4i-a10-sram-c1
93              - items:
94                  - const: allwinner,sun8i-h3-sram-c1
95                  - const: allwinner,sun4i-a10-sram-c1
96              - items:
97                  - const: allwinner,sun8i-r40-sram-c1
98                  - const: allwinner,sun4i-a10-sram-c1
99              - items:
100                  - const: allwinner,sun50i-a64-sram-c1
101                  - const: allwinner,sun4i-a10-sram-c1
102              - items:
103                  - const: allwinner,sun50i-h5-sram-c1
104                  - const: allwinner,sun4i-a10-sram-c1
105              - items:
106                  - const: allwinner,sun50i-h6-sram-c1
107                  - const: allwinner,sun4i-a10-sram-c1
108              - items:
109                  - const: allwinner,sun5i-a13-sram-d
110                  - const: allwinner,sun4i-a10-sram-d
111              - items:
112                  - const: allwinner,sun7i-a20-sram-d
113                  - const: allwinner,sun4i-a10-sram-d
114              - items:
115                  - const: allwinner,suniv-f1c100s-sram-d
116                  - const: allwinner,sun4i-a10-sram-d
117              - items:
118                  - const: allwinner,sun50i-h6-sram-c
119                  - const: allwinner,sun50i-a64-sram-c
120
121required:
122  - "#address-cells"
123  - "#size-cells"
124  - compatible
125  - reg
126
127additionalProperties: false
128
129examples:
130  - |
131    system-control@1c00000 {
132      compatible = "allwinner,sun4i-a10-system-control";
133      reg = <0x01c00000 0x30>;
134      #address-cells = <1>;
135      #size-cells = <1>;
136      ranges;
137
138      sram_a: sram@0 {
139        compatible = "mmio-sram";
140        reg = <0x00000000 0xc000>;
141        #address-cells = <1>;
142        #size-cells = <1>;
143        ranges = <0 0x00000000 0xc000>;
144
145        emac_sram: sram-section@8000 {
146          compatible = "allwinner,sun4i-a10-sram-a3-a4";
147          reg = <0x8000 0x4000>;
148        };
149      };
150    };
151