xref: /freebsd/sys/contrib/device-tree/Bindings/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
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:
16*2846c905SEmmanuel Vadot          - amlogic,meson-hhi-sysctrl
17aa1a8ff2SEmmanuel Vadot          - amlogic,meson-gx-hhi-sysctrl
18aa1a8ff2SEmmanuel Vadot          - amlogic,meson-gx-ao-sysctrl
19aa1a8ff2SEmmanuel Vadot          - amlogic,meson-axg-hhi-sysctrl
20aa1a8ff2SEmmanuel Vadot          - amlogic,meson-axg-ao-sysctrl
21aa1a8ff2SEmmanuel Vadot      - const: simple-mfd
22aa1a8ff2SEmmanuel Vadot      - const: syscon
23aa1a8ff2SEmmanuel Vadot
24aa1a8ff2SEmmanuel Vadot  reg:
25aa1a8ff2SEmmanuel Vadot    maxItems: 1
26aa1a8ff2SEmmanuel Vadot
27aa1a8ff2SEmmanuel Vadot  clock-controller:
28aa1a8ff2SEmmanuel Vadot    type: object
29aa1a8ff2SEmmanuel Vadot
30aa1a8ff2SEmmanuel Vadot  power-controller:
31aa1a8ff2SEmmanuel Vadot    $ref: /schemas/power/amlogic,meson-ee-pwrc.yaml
32aa1a8ff2SEmmanuel Vadot
33aa1a8ff2SEmmanuel Vadot  pinctrl:
34aa1a8ff2SEmmanuel Vadot    type: object
35aa1a8ff2SEmmanuel Vadot
36aa1a8ff2SEmmanuel Vadot  phy:
37aa1a8ff2SEmmanuel Vadot    type: object
38aa1a8ff2SEmmanuel Vadot
39aa1a8ff2SEmmanuel VadotallOf:
40aa1a8ff2SEmmanuel Vadot  - if:
41aa1a8ff2SEmmanuel Vadot      properties:
42aa1a8ff2SEmmanuel Vadot        compatible:
43aa1a8ff2SEmmanuel Vadot          enum:
44*2846c905SEmmanuel Vadot            - amlogic,meson-hhi-sysctrl
45*2846c905SEmmanuel Vadot    then:
46*2846c905SEmmanuel Vadot      properties:
47*2846c905SEmmanuel Vadot        clock-controller:
48*2846c905SEmmanuel Vadot          $ref: /schemas/clock/amlogic,meson8-clkc.yaml#
49*2846c905SEmmanuel Vadot
50*2846c905SEmmanuel Vadot        pinctrl: false
51*2846c905SEmmanuel Vadot        phy: false
52*2846c905SEmmanuel Vadot
53*2846c905SEmmanuel Vadot  - if:
54*2846c905SEmmanuel Vadot      properties:
55*2846c905SEmmanuel Vadot        compatible:
56*2846c905SEmmanuel Vadot          enum:
57aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-hhi-sysctrl
58aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-hhi-sysctrl
59aa1a8ff2SEmmanuel Vadot    then:
60aa1a8ff2SEmmanuel Vadot      properties:
61aa1a8ff2SEmmanuel Vadot        clock-controller:
62aa1a8ff2SEmmanuel Vadot          $ref: /schemas/clock/amlogic,gxbb-clkc.yaml#
63aa1a8ff2SEmmanuel Vadot
64aa1a8ff2SEmmanuel Vadot      required:
65aa1a8ff2SEmmanuel Vadot        - power-controller
66aa1a8ff2SEmmanuel Vadot
67aa1a8ff2SEmmanuel Vadot  - if:
68aa1a8ff2SEmmanuel Vadot      properties:
69aa1a8ff2SEmmanuel Vadot        compatible:
70aa1a8ff2SEmmanuel Vadot          enum:
71aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-ao-sysctrl
72aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-ao-sysctrl
73aa1a8ff2SEmmanuel Vadot    then:
74aa1a8ff2SEmmanuel Vadot      properties:
75aa1a8ff2SEmmanuel Vadot        clock-controller:
76aa1a8ff2SEmmanuel Vadot          $ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml#
77aa1a8ff2SEmmanuel Vadot
78aa1a8ff2SEmmanuel Vadot        power-controller: false
79aa1a8ff2SEmmanuel Vadot        phy: false
80aa1a8ff2SEmmanuel Vadot
81aa1a8ff2SEmmanuel Vadot  - if:
82aa1a8ff2SEmmanuel Vadot      properties:
83aa1a8ff2SEmmanuel Vadot        compatible:
84aa1a8ff2SEmmanuel Vadot          enum:
85aa1a8ff2SEmmanuel Vadot            - amlogic,meson-gx-hhi-sysctrl
86aa1a8ff2SEmmanuel Vadot    then:
87aa1a8ff2SEmmanuel Vadot      properties:
88aa1a8ff2SEmmanuel Vadot        phy: false
89aa1a8ff2SEmmanuel Vadot
90aa1a8ff2SEmmanuel Vadot  - if:
91aa1a8ff2SEmmanuel Vadot      properties:
92aa1a8ff2SEmmanuel Vadot        compatible:
93aa1a8ff2SEmmanuel Vadot          enum:
94aa1a8ff2SEmmanuel Vadot            - amlogic,meson-axg-hhi-sysctrl
95aa1a8ff2SEmmanuel Vadot    then:
96aa1a8ff2SEmmanuel Vadot      properties:
97aa1a8ff2SEmmanuel Vadot        phy:
98aa1a8ff2SEmmanuel Vadot          oneOf:
99aa1a8ff2SEmmanuel Vadot            - $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml
100aa1a8ff2SEmmanuel Vadot            - $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml
101aa1a8ff2SEmmanuel Vadot
102aa1a8ff2SEmmanuel Vadotrequired:
103aa1a8ff2SEmmanuel Vadot  - compatible
104aa1a8ff2SEmmanuel Vadot  - reg
105aa1a8ff2SEmmanuel Vadot  - clock-controller
106aa1a8ff2SEmmanuel Vadot
107aa1a8ff2SEmmanuel VadotadditionalProperties: false
108aa1a8ff2SEmmanuel Vadot
109aa1a8ff2SEmmanuel Vadotexamples:
110aa1a8ff2SEmmanuel Vadot  - |
111aa1a8ff2SEmmanuel Vadot    bus@c883c000 {
112aa1a8ff2SEmmanuel Vadot        compatible = "simple-bus";
113aa1a8ff2SEmmanuel Vadot        reg = <0xc883c000 0x2000>;
114aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
115aa1a8ff2SEmmanuel Vadot        #size-cells = <1>;
116aa1a8ff2SEmmanuel Vadot        ranges = <0x0 0xc883c000 0x2000>;
117aa1a8ff2SEmmanuel Vadot
118aa1a8ff2SEmmanuel Vadot        sysctrl: system-controller@0 {
119aa1a8ff2SEmmanuel Vadot            compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
120aa1a8ff2SEmmanuel Vadot            reg = <0 0x400>;
121aa1a8ff2SEmmanuel Vadot
122aa1a8ff2SEmmanuel Vadot            clock-controller {
123aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,gxbb-clkc";
124aa1a8ff2SEmmanuel Vadot                #clock-cells = <1>;
125aa1a8ff2SEmmanuel Vadot                clocks = <&xtal>;
126aa1a8ff2SEmmanuel Vadot                clock-names = "xtal";
127aa1a8ff2SEmmanuel Vadot            };
128aa1a8ff2SEmmanuel Vadot
129aa1a8ff2SEmmanuel Vadot            power-controller {
130aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,meson-gxbb-pwrc";
131aa1a8ff2SEmmanuel Vadot                #power-domain-cells = <1>;
132aa1a8ff2SEmmanuel Vadot                amlogic,ao-sysctrl = <&sysctrl_AO>;
133aa1a8ff2SEmmanuel Vadot
134aa1a8ff2SEmmanuel Vadot                resets = <&reset_viu>,
135aa1a8ff2SEmmanuel Vadot                         <&reset_venc>,
136aa1a8ff2SEmmanuel Vadot                         <&reset_vcbus>,
137aa1a8ff2SEmmanuel Vadot                         <&reset_bt656>,
138aa1a8ff2SEmmanuel Vadot                         <&reset_dvin>,
139aa1a8ff2SEmmanuel Vadot                         <&reset_rdma>,
140aa1a8ff2SEmmanuel Vadot                         <&reset_venci>,
141aa1a8ff2SEmmanuel Vadot                         <&reset_vencp>,
142aa1a8ff2SEmmanuel Vadot                         <&reset_vdac>,
143aa1a8ff2SEmmanuel Vadot                         <&reset_vdi6>,
144aa1a8ff2SEmmanuel Vadot                         <&reset_vencl>,
145aa1a8ff2SEmmanuel Vadot                         <&reset_vid_lock>;
146aa1a8ff2SEmmanuel Vadot                reset-names = "viu", "venc", "vcbus", "bt656", "dvin",
147aa1a8ff2SEmmanuel Vadot                              "rdma", "venci", "vencp", "vdac", "vdi6",
148aa1a8ff2SEmmanuel Vadot                              "vencl", "vid_lock";
149aa1a8ff2SEmmanuel Vadot                clocks = <&clk_vpu>, <&clk_vapb>;
150aa1a8ff2SEmmanuel Vadot                clock-names = "vpu", "vapb";
151aa1a8ff2SEmmanuel Vadot            };
152aa1a8ff2SEmmanuel Vadot        };
153aa1a8ff2SEmmanuel Vadot    };
154aa1a8ff2SEmmanuel Vadot
155aa1a8ff2SEmmanuel Vadot    bus@c8100000 {
156aa1a8ff2SEmmanuel Vadot        compatible = "simple-bus";
157aa1a8ff2SEmmanuel Vadot        reg = <0xc8100000 0x100000>;
158aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
159aa1a8ff2SEmmanuel Vadot        #size-cells = <1>;
160aa1a8ff2SEmmanuel Vadot        ranges = <0x0 0xc8100000 0x100000>;
161aa1a8ff2SEmmanuel Vadot
162aa1a8ff2SEmmanuel Vadot        sysctrl_AO: system-controller@0 {
163aa1a8ff2SEmmanuel Vadot            compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
164aa1a8ff2SEmmanuel Vadot            reg = <0 0x100>;
165aa1a8ff2SEmmanuel Vadot
166aa1a8ff2SEmmanuel Vadot            clock-controller {
167aa1a8ff2SEmmanuel Vadot                compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
168aa1a8ff2SEmmanuel Vadot                #clock-cells = <1>;
169aa1a8ff2SEmmanuel Vadot                #reset-cells = <1>;
170aa1a8ff2SEmmanuel Vadot                clocks = <&xtal>, <&clk81>;
171aa1a8ff2SEmmanuel Vadot                clock-names = "xtal", "mpeg-clk";
172aa1a8ff2SEmmanuel Vadot            };
173aa1a8ff2SEmmanuel Vadot        };
174aa1a8ff2SEmmanuel Vadot    };
1758d13bc63SEmmanuel Vadot
1768d13bc63SEmmanuel Vadot  - |
1778d13bc63SEmmanuel Vadot    system-controller@ff63c000 {
1788d13bc63SEmmanuel Vadot        compatible = "amlogic,meson-axg-hhi-sysctrl", "simple-mfd", "syscon";
1798d13bc63SEmmanuel Vadot        reg = <0xff63c000 0x400>;
1808d13bc63SEmmanuel Vadot
1818d13bc63SEmmanuel Vadot        clock-controller {
1828d13bc63SEmmanuel Vadot            compatible = "amlogic,axg-clkc";
1838d13bc63SEmmanuel Vadot            #clock-cells = <1>;
1848d13bc63SEmmanuel Vadot            clocks = <&xtal>;
1858d13bc63SEmmanuel Vadot            clock-names = "xtal";
1868d13bc63SEmmanuel Vadot        };
1878d13bc63SEmmanuel Vadot
1888d13bc63SEmmanuel Vadot        power-controller {
1898d13bc63SEmmanuel Vadot            compatible = "amlogic,meson-axg-pwrc";
1908d13bc63SEmmanuel Vadot            #power-domain-cells = <1>;
1918d13bc63SEmmanuel Vadot            amlogic,ao-sysctrl = <&sysctrl_AO>;
1928d13bc63SEmmanuel Vadot
1938d13bc63SEmmanuel Vadot            resets = <&reset_viu>,
1948d13bc63SEmmanuel Vadot                     <&reset_venc>,
1958d13bc63SEmmanuel Vadot                     <&reset_vcbus>,
1968d13bc63SEmmanuel Vadot                     <&reset_vencl>,
1978d13bc63SEmmanuel Vadot                     <&reset_vid_lock>;
1988d13bc63SEmmanuel Vadot            reset-names = "viu", "venc", "vcbus", "vencl", "vid_lock";
1998d13bc63SEmmanuel Vadot            clocks = <&clk_vpu>, <&clk_vapb>;
2008d13bc63SEmmanuel Vadot            clock-names = "vpu", "vapb";
2018d13bc63SEmmanuel Vadot        };
2028d13bc63SEmmanuel Vadot
2038d13bc63SEmmanuel Vadot        phy {
2048d13bc63SEmmanuel Vadot            compatible = "amlogic,axg-mipi-pcie-analog-phy";
2058d13bc63SEmmanuel Vadot            #phy-cells = <0>;
2068d13bc63SEmmanuel Vadot        };
2078d13bc63SEmmanuel Vadot    };
208