xref: /freebsd-src/sys/contrib/device-tree/Bindings/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Amlogic Meson System Control registers
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Neil Armstrong <neil.armstrong@linaro.org>
11aa1a8ff2SEmmanuel Vadot
12aa1a8ff2SEmmanuel Vadotproperties:
13aa1a8ff2SEmmanuel Vadot  compatible:
14aa1a8ff2SEmmanuel Vadot    items:
15aa1a8ff2SEmmanuel Vadot      - enum:
16aa1a8ff2SEmmanuel Vadot          - amlogic,meson-gx-hhi-sysctrl
17aa1a8ff2SEmmanuel Vadot          - amlogic,meson-gx-ao-sysctrl
18aa1a8ff2SEmmanuel Vadot          - amlogic,meson-axg-hhi-sysctrl
19aa1a8ff2SEmmanuel Vadot          - amlogic,meson-axg-ao-sysctrl
20aa1a8ff2SEmmanuel Vadot      - const: simple-mfd
21aa1a8ff2SEmmanuel Vadot      - const: syscon
22aa1a8ff2SEmmanuel Vadot
23aa1a8ff2SEmmanuel Vadot  reg:
24aa1a8ff2SEmmanuel Vadot    maxItems: 1
25aa1a8ff2SEmmanuel Vadot
26aa1a8ff2SEmmanuel Vadot  clock-controller:
27aa1a8ff2SEmmanuel Vadot    type: object
28aa1a8ff2SEmmanuel Vadot
29aa1a8ff2SEmmanuel Vadot  power-controller:
30aa1a8ff2SEmmanuel Vadot    $ref: /schemas/power/amlogic,meson-ee-pwrc.yaml
31aa1a8ff2SEmmanuel Vadot
32aa1a8ff2SEmmanuel Vadot  pinctrl:
33aa1a8ff2SEmmanuel Vadot    type: object
34aa1a8ff2SEmmanuel Vadot
35aa1a8ff2SEmmanuel Vadot  phy:
36aa1a8ff2SEmmanuel Vadot    type: object
37aa1a8ff2SEmmanuel Vadot
38aa1a8ff2SEmmanuel VadotallOf:
39aa1a8ff2SEmmanuel Vadot  - if:
40aa1a8ff2SEmmanuel Vadot      properties:
41aa1a8ff2SEmmanuel Vadot        compatible:
42aa1a8ff2SEmmanuel Vadot          enum:
43aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-hhi-sysctrl
44aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-hhi-sysctrl
45aa1a8ff2SEmmanuel Vadot    then:
46aa1a8ff2SEmmanuel Vadot      properties:
47aa1a8ff2SEmmanuel Vadot        clock-controller:
48aa1a8ff2SEmmanuel Vadot          $ref: /schemas/clock/amlogic,gxbb-clkc.yaml#
49aa1a8ff2SEmmanuel Vadot
50aa1a8ff2SEmmanuel Vadot      required:
51aa1a8ff2SEmmanuel Vadot        - power-controller
52aa1a8ff2SEmmanuel Vadot
53aa1a8ff2SEmmanuel Vadot  - if:
54aa1a8ff2SEmmanuel Vadot      properties:
55aa1a8ff2SEmmanuel Vadot        compatible:
56aa1a8ff2SEmmanuel Vadot          enum:
57aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-ao-sysctrl
58aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-ao-sysctrl
59aa1a8ff2SEmmanuel Vadot    then:
60aa1a8ff2SEmmanuel Vadot      properties:
61aa1a8ff2SEmmanuel Vadot        clock-controller:
62aa1a8ff2SEmmanuel Vadot          $ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml#
63aa1a8ff2SEmmanuel Vadot
64aa1a8ff2SEmmanuel Vadot        power-controller: false
65aa1a8ff2SEmmanuel Vadot        phy: false
66aa1a8ff2SEmmanuel Vadot
67aa1a8ff2SEmmanuel Vadot  - if:
68aa1a8ff2SEmmanuel Vadot      properties:
69aa1a8ff2SEmmanuel Vadot        compatible:
70aa1a8ff2SEmmanuel Vadot          enum:
71aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-hhi-sysctrl
72aa1a8ff2SEmmanuel Vadot    then:
73aa1a8ff2SEmmanuel Vadot      properties:
74aa1a8ff2SEmmanuel Vadot        phy: false
75aa1a8ff2SEmmanuel Vadot
76aa1a8ff2SEmmanuel Vadot  - if:
77aa1a8ff2SEmmanuel Vadot      properties:
78aa1a8ff2SEmmanuel Vadot        compatible:
79aa1a8ff2SEmmanuel Vadot          enum:
80aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-hhi-sysctrl
81aa1a8ff2SEmmanuel Vadot    then:
82aa1a8ff2SEmmanuel Vadot      properties:
83aa1a8ff2SEmmanuel Vadot        phy:
84aa1a8ff2SEmmanuel Vadot          oneOf:
85aa1a8ff2SEmmanuel Vadot            - $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml
86aa1a8ff2SEmmanuel Vadot            - $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml
87aa1a8ff2SEmmanuel Vadot
88aa1a8ff2SEmmanuel Vadotrequired:
89aa1a8ff2SEmmanuel Vadot  - compatible
90aa1a8ff2SEmmanuel Vadot  - reg
91aa1a8ff2SEmmanuel Vadot  - clock-controller
92aa1a8ff2SEmmanuel Vadot
93aa1a8ff2SEmmanuel VadotadditionalProperties: false
94aa1a8ff2SEmmanuel Vadot
95aa1a8ff2SEmmanuel Vadotexamples:
96aa1a8ff2SEmmanuel Vadot  - |
97aa1a8ff2SEmmanuel Vadot    bus@c883c000 {
98aa1a8ff2SEmmanuel Vadot        compatible = "simple-bus";
99aa1a8ff2SEmmanuel Vadot        reg = <0xc883c000 0x2000>;
100aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
101aa1a8ff2SEmmanuel Vadot        #size-cells = <1>;
102aa1a8ff2SEmmanuel Vadot        ranges = <0x0 0xc883c000 0x2000>;
103aa1a8ff2SEmmanuel Vadot
104aa1a8ff2SEmmanuel Vadot        sysctrl: system-controller@0 {
105aa1a8ff2SEmmanuel Vadot            compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
106aa1a8ff2SEmmanuel Vadot            reg = <0 0x400>;
107aa1a8ff2SEmmanuel Vadot
108aa1a8ff2SEmmanuel Vadot            clock-controller {
109aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,gxbb-clkc";
110aa1a8ff2SEmmanuel Vadot                #clock-cells = <1>;
111aa1a8ff2SEmmanuel Vadot                clocks = <&xtal>;
112aa1a8ff2SEmmanuel Vadot                clock-names = "xtal";
113aa1a8ff2SEmmanuel Vadot            };
114aa1a8ff2SEmmanuel Vadot
115aa1a8ff2SEmmanuel Vadot            power-controller {
116aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,meson-gxbb-pwrc";
117aa1a8ff2SEmmanuel Vadot                #power-domain-cells = <1>;
118aa1a8ff2SEmmanuel Vadot                amlogic,ao-sysctrl = <&sysctrl_AO>;
119aa1a8ff2SEmmanuel Vadot
120aa1a8ff2SEmmanuel Vadot                resets = <&reset_viu>,
121aa1a8ff2SEmmanuel Vadot                         <&reset_venc>,
122aa1a8ff2SEmmanuel Vadot                         <&reset_vcbus>,
123aa1a8ff2SEmmanuel Vadot                         <&reset_bt656>,
124aa1a8ff2SEmmanuel Vadot                         <&reset_dvin>,
125aa1a8ff2SEmmanuel Vadot                         <&reset_rdma>,
126aa1a8ff2SEmmanuel Vadot                         <&reset_venci>,
127aa1a8ff2SEmmanuel Vadot                         <&reset_vencp>,
128aa1a8ff2SEmmanuel Vadot                         <&reset_vdac>,
129aa1a8ff2SEmmanuel Vadot                         <&reset_vdi6>,
130aa1a8ff2SEmmanuel Vadot                         <&reset_vencl>,
131aa1a8ff2SEmmanuel Vadot                         <&reset_vid_lock>;
132aa1a8ff2SEmmanuel Vadot                reset-names = "viu", "venc", "vcbus", "bt656", "dvin",
133aa1a8ff2SEmmanuel Vadot                              "rdma", "venci", "vencp", "vdac", "vdi6",
134aa1a8ff2SEmmanuel Vadot                              "vencl", "vid_lock";
135aa1a8ff2SEmmanuel Vadot                clocks = <&clk_vpu>, <&clk_vapb>;
136aa1a8ff2SEmmanuel Vadot                clock-names = "vpu", "vapb";
137aa1a8ff2SEmmanuel Vadot            };
138aa1a8ff2SEmmanuel Vadot        };
139aa1a8ff2SEmmanuel Vadot    };
140aa1a8ff2SEmmanuel Vadot
141aa1a8ff2SEmmanuel Vadot    bus@c8100000 {
142aa1a8ff2SEmmanuel Vadot        compatible = "simple-bus";
143aa1a8ff2SEmmanuel Vadot        reg = <0xc8100000 0x100000>;
144aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
145aa1a8ff2SEmmanuel Vadot        #size-cells = <1>;
146aa1a8ff2SEmmanuel Vadot        ranges = <0x0 0xc8100000 0x100000>;
147aa1a8ff2SEmmanuel Vadot
148aa1a8ff2SEmmanuel Vadot        sysctrl_AO: system-controller@0 {
149aa1a8ff2SEmmanuel Vadot            compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
150aa1a8ff2SEmmanuel Vadot            reg = <0 0x100>;
151aa1a8ff2SEmmanuel Vadot
152aa1a8ff2SEmmanuel Vadot            clock-controller {
153aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
154aa1a8ff2SEmmanuel Vadot                #clock-cells = <1>;
155aa1a8ff2SEmmanuel Vadot                #reset-cells = <1>;
156aa1a8ff2SEmmanuel Vadot                clocks = <&xtal>, <&clk81>;
157aa1a8ff2SEmmanuel Vadot                clock-names = "xtal", "mpeg-clk";
158aa1a8ff2SEmmanuel Vadot            };
159aa1a8ff2SEmmanuel Vadot        };
160aa1a8ff2SEmmanuel Vadot    };
161*8d13bc63SEmmanuel Vadot
162*8d13bc63SEmmanuel Vadot  - |
163*8d13bc63SEmmanuel Vadot    system-controller@ff63c000 {
164*8d13bc63SEmmanuel Vadot        compatible = "amlogic,meson-axg-hhi-sysctrl", "simple-mfd", "syscon";
165*8d13bc63SEmmanuel Vadot        reg = <0xff63c000 0x400>;
166*8d13bc63SEmmanuel Vadot
167*8d13bc63SEmmanuel Vadot        clock-controller {
168*8d13bc63SEmmanuel Vadot            compatible = "amlogic,axg-clkc";
169*8d13bc63SEmmanuel Vadot            #clock-cells = <1>;
170*8d13bc63SEmmanuel Vadot            clocks = <&xtal>;
171*8d13bc63SEmmanuel Vadot            clock-names = "xtal";
172*8d13bc63SEmmanuel Vadot        };
173*8d13bc63SEmmanuel Vadot
174*8d13bc63SEmmanuel Vadot        power-controller {
175*8d13bc63SEmmanuel Vadot           compatible = "amlogic,meson-axg-pwrc";
176*8d13bc63SEmmanuel Vadot           #power-domain-cells = <1>;
177*8d13bc63SEmmanuel Vadot           amlogic,ao-sysctrl = <&sysctrl_AO>;
178*8d13bc63SEmmanuel Vadot
179*8d13bc63SEmmanuel Vadot           resets = <&reset_viu>,
180*8d13bc63SEmmanuel Vadot                    <&reset_venc>,
181*8d13bc63SEmmanuel Vadot                    <&reset_vcbus>,
182*8d13bc63SEmmanuel Vadot                    <&reset_vencl>,
183*8d13bc63SEmmanuel Vadot                    <&reset_vid_lock>;
184*8d13bc63SEmmanuel Vadot           reset-names = "viu", "venc", "vcbus", "vencl", "vid_lock";
185*8d13bc63SEmmanuel Vadot           clocks = <&clk_vpu>, <&clk_vapb>;
186*8d13bc63SEmmanuel Vadot           clock-names = "vpu", "vapb";
187*8d13bc63SEmmanuel Vadot        };
188*8d13bc63SEmmanuel Vadot
189*8d13bc63SEmmanuel Vadot        phy {
190*8d13bc63SEmmanuel Vadot           compatible = "amlogic,axg-mipi-pcie-analog-phy";
191*8d13bc63SEmmanuel Vadot           #phy-cells = <0>;
192*8d13bc63SEmmanuel Vadot        };
193*8d13bc63SEmmanuel Vadot    };
194