xref: /linux/Documentation/devicetree/bindings/sram/allwinner,sun4i-a10-system-control.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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
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      - enum:
28          - allwinner,sun4i-a10-sram-controller
29          - allwinner,sun50i-a64-sram-controller
30        deprecated: true
31      - enum:
32          - allwinner,sun4i-a10-system-control
33          - allwinner,sun5i-a13-system-control
34          - allwinner,sun8i-a23-system-control
35          - allwinner,sun8i-h3-system-control
36          - allwinner,sun20i-d1-system-control
37          - allwinner,sun50i-a64-system-control
38          - allwinner,sun50i-h5-system-control
39          - allwinner,sun50i-h616-system-control
40      - items:
41          - enum:
42              - allwinner,suniv-f1c100s-system-control
43              - allwinner,sun7i-a20-system-control
44              - allwinner,sun8i-r40-system-control
45          - const: allwinner,sun4i-a10-system-control
46      - items:
47          - const: allwinner,sun8i-v3s-system-control
48          - const: allwinner,sun8i-h3-system-control
49      - items:
50          - const: allwinner,sun50i-h6-system-control
51          - const: allwinner,sun50i-a64-system-control
52
53  reg:
54    maxItems: 1
55
56  ranges: true
57
58patternProperties:
59  "^regulators@[0-9a-f]+$":
60    $ref: /schemas/regulator/allwinner,sun20i-d1-system-ldos.yaml#
61
62  "^sram@[a-f0-9]+":
63    $ref: /schemas/sram/sram.yaml#
64    unevaluatedProperties: false
65
66    patternProperties:
67      "^sram-section?@[a-f0-9]+$":
68        type: object
69        additionalProperties: false
70
71        properties:
72          reg: true
73
74          compatible:
75            oneOf:
76              - const: allwinner,sun4i-a10-sram-a3-a4
77              - const: allwinner,sun4i-a10-sram-c1
78              - const: allwinner,sun4i-a10-sram-d
79              - const: allwinner,sun50i-a64-sram-c
80              - items:
81                  - enum:
82                      - allwinner,sun5i-a13-sram-a3-a4
83                      - allwinner,sun7i-a20-sram-a3-a4
84                  - const: allwinner,sun4i-a10-sram-a3-a4
85              - items:
86                  - enum:
87                      - allwinner,sun5i-a13-sram-c1
88                      - allwinner,sun7i-a20-sram-c1
89                      - allwinner,sun8i-a23-sram-c1
90                      - allwinner,sun8i-h3-sram-c1
91                      - allwinner,sun8i-r40-sram-c1
92                      - allwinner,sun50i-a64-sram-c1
93                      - allwinner,sun50i-h5-sram-c1
94                      - allwinner,sun50i-h6-sram-c1
95                  - const: allwinner,sun4i-a10-sram-c1
96              - items:
97                  - enum:
98                      - allwinner,suniv-f1c100s-sram-d
99                      - allwinner,sun5i-a13-sram-d
100                      - allwinner,sun7i-a20-sram-d
101                  - const: allwinner,sun4i-a10-sram-d
102              - items:
103                  - const: allwinner,sun50i-h6-sram-c
104                  - const: allwinner,sun50i-a64-sram-c
105
106required:
107  - "#address-cells"
108  - "#size-cells"
109  - compatible
110  - reg
111
112additionalProperties: false
113
114examples:
115  - |
116    system-control@1c00000 {
117      compatible = "allwinner,sun4i-a10-system-control";
118      reg = <0x01c00000 0x30>;
119      #address-cells = <1>;
120      #size-cells = <1>;
121      ranges;
122
123      sram_a: sram@0 {
124        compatible = "mmio-sram";
125        reg = <0x00000000 0xc000>;
126        #address-cells = <1>;
127        #size-cells = <1>;
128        ranges = <0 0x00000000 0xc000>;
129
130        emac_sram: sram-section@8000 {
131          compatible = "allwinner,sun4i-a10-sram-a3-a4";
132          reg = <0x8000 0x4000>;
133        };
134      };
135    };
136
137  - |
138    syscon@3000000 {
139      compatible = "allwinner,sun20i-d1-system-control";
140      reg = <0x3000000 0x1000>;
141      ranges;
142      #address-cells = <1>;
143      #size-cells = <1>;
144
145      regulators@3000150 {
146        compatible = "allwinner,sun20i-d1-system-ldos";
147        reg = <0x3000150 0x4>;
148
149        reg_ldoa: ldoa {
150          regulator-min-microvolt = <1800000>;
151          regulator-max-microvolt = <1800000>;
152        };
153
154        reg_ldob: ldob {
155          regulator-name = "vcc-dram";
156          regulator-min-microvolt = <1500000>;
157          regulator-max-microvolt = <1500000>;
158        };
159      };
160    };
161