xref: /linux/Documentation/devicetree/bindings/mfd/aspeed,ast2x00-scu.yaml (revision 7f4f3b14e8079ecde096bd734af10e30d40c27b7)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/aspeed,ast2x00-scu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Aspeed System Control Unit
8
9description:
10  The Aspeed System Control Unit manages the global behaviour of the SoC,
11  configuring elements such as clocks, pinmux, and reset.
12  In AST2700 SOC which has two soc connection, each soc have its own scu
13  register control, ast2700-scu0 for soc0, ast2700-scu1 for soc1.
14
15maintainers:
16  - Joel Stanley <joel@jms.id.au>
17  - Andrew Jeffery <andrew@aj.id.au>
18
19properties:
20  compatible:
21    items:
22      - enum:
23          - aspeed,ast2400-scu
24          - aspeed,ast2500-scu
25          - aspeed,ast2600-scu
26          - aspeed,ast2700-scu0
27          - aspeed,ast2700-scu1
28      - const: syscon
29      - const: simple-mfd
30
31  reg:
32    maxItems: 1
33
34  ranges: true
35
36  '#address-cells':
37    minimum: 1
38    maximum: 2
39
40  '#size-cells':
41    const: 1
42
43  '#clock-cells':
44    const: 1
45
46  '#reset-cells':
47    const: 1
48
49patternProperties:
50  '^p2a-control@[0-9a-f]+$':
51    description: See Documentation/devicetree/bindings/misc/aspeed-p2a-ctrl.txt
52    type: object
53
54  '^pinctrl(@[0-9a-f]+)?$':
55    type: object
56    additionalProperties: true
57    properties:
58      compatible:
59        contains:
60          enum:
61            - aspeed,ast2400-pinctrl
62            - aspeed,ast2500-pinctrl
63            - aspeed,ast2600-pinctrl
64
65    required:
66      - compatible
67
68  '^interrupt-controller@[0-9a-f]+$':
69    description: See Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2xxx-scu-ic.txt
70    type: object
71
72  '^silicon-id@[0-9a-f]+$':
73    description: Unique hardware silicon identifiers within the SoC
74    type: object
75    additionalProperties: false
76
77    properties:
78      compatible:
79        items:
80          - enum:
81              - aspeed,ast2400-silicon-id
82              - aspeed,ast2500-silicon-id
83              - aspeed,ast2600-silicon-id
84              - aspeed,ast2700-silicon-id
85          - const: aspeed,silicon-id
86
87      reg:
88        description:
89          The reg should be the unique silicon id register, and not backwards
90          compatible one in eg. the 2600.
91        minItems: 1
92        items:
93          - description: silicon id information registers
94          - description: unique chip id registers
95
96required:
97  - compatible
98  - reg
99  - ranges
100  - '#address-cells'
101  - '#size-cells'
102  - '#clock-cells'
103  - '#reset-cells'
104
105additionalProperties: false
106
107examples:
108  - |
109    syscon@1e6e2000 {
110        compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
111        reg = <0x1e6e2000 0x1a8>;
112        #clock-cells = <1>;
113        #reset-cells = <1>;
114
115        #address-cells = <1>;
116        #size-cells = <1>;
117        ranges = <0x0 0x1e6e2000 0x1000>;
118
119        silicon-id@7c {
120            compatible = "aspeed,ast2500-silicon-id", "aspeed,silicon-id";
121            reg = <0x7c 0x4>, <0x150 0x8>;
122        };
123    };
124...
125