xref: /linux/Documentation/devicetree/bindings/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml (revision 69f2970aad93758bea863432e49b564e0ba649ca)
14d023bebSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
24d023bebSNeil Armstrong%YAML 1.2
34d023bebSNeil Armstrong---
44d023bebSNeil Armstrong$id: http://devicetree.org/schemas/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml#
54d023bebSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
64d023bebSNeil Armstrong
74d023bebSNeil Armstrongtitle: Amlogic Meson System Control registers
84d023bebSNeil Armstrong
94d023bebSNeil Armstrongmaintainers:
104d023bebSNeil Armstrong  - Neil Armstrong <neil.armstrong@linaro.org>
114d023bebSNeil Armstrong
124d023bebSNeil Armstrongproperties:
134d023bebSNeil Armstrong  compatible:
144d023bebSNeil Armstrong    items:
154d023bebSNeil Armstrong      - enum:
16*960a4140SNeil Armstrong          - amlogic,meson-hhi-sysctrl
174d023bebSNeil Armstrong          - amlogic,meson-gx-hhi-sysctrl
184d023bebSNeil Armstrong          - amlogic,meson-gx-ao-sysctrl
194d023bebSNeil Armstrong          - amlogic,meson-axg-hhi-sysctrl
204d023bebSNeil Armstrong          - amlogic,meson-axg-ao-sysctrl
214d023bebSNeil Armstrong      - const: simple-mfd
224d023bebSNeil Armstrong      - const: syscon
234d023bebSNeil Armstrong
244d023bebSNeil Armstrong  reg:
254d023bebSNeil Armstrong    maxItems: 1
264d023bebSNeil Armstrong
274d023bebSNeil Armstrong  clock-controller:
284d023bebSNeil Armstrong    type: object
294d023bebSNeil Armstrong
304d023bebSNeil Armstrong  power-controller:
314d023bebSNeil Armstrong    $ref: /schemas/power/amlogic,meson-ee-pwrc.yaml
324d023bebSNeil Armstrong
334d023bebSNeil Armstrong  pinctrl:
344d023bebSNeil Armstrong    type: object
354d023bebSNeil Armstrong
364d023bebSNeil Armstrong  phy:
374d023bebSNeil Armstrong    type: object
384d023bebSNeil Armstrong
394d023bebSNeil ArmstrongallOf:
404d023bebSNeil Armstrong  - if:
414d023bebSNeil Armstrong      properties:
424d023bebSNeil Armstrong        compatible:
434d023bebSNeil Armstrong          enum:
44*960a4140SNeil Armstrong            - amlogic,meson-hhi-sysctrl
45*960a4140SNeil Armstrong    then:
46*960a4140SNeil Armstrong      properties:
47*960a4140SNeil Armstrong        clock-controller:
48*960a4140SNeil Armstrong          $ref: /schemas/clock/amlogic,meson8-clkc.yaml#
49*960a4140SNeil Armstrong
50*960a4140SNeil Armstrong        pinctrl: false
51*960a4140SNeil Armstrong        phy: false
52*960a4140SNeil Armstrong
53*960a4140SNeil Armstrong  - if:
54*960a4140SNeil Armstrong      properties:
55*960a4140SNeil Armstrong        compatible:
56*960a4140SNeil Armstrong          enum:
574d023bebSNeil Armstrong            - amlogic,meson-gx-hhi-sysctrl
584d023bebSNeil Armstrong            - amlogic,meson-axg-hhi-sysctrl
594d023bebSNeil Armstrong    then:
604d023bebSNeil Armstrong      properties:
614d023bebSNeil Armstrong        clock-controller:
624d023bebSNeil Armstrong          $ref: /schemas/clock/amlogic,gxbb-clkc.yaml#
634d023bebSNeil Armstrong
644d023bebSNeil Armstrong      required:
654d023bebSNeil Armstrong        - power-controller
664d023bebSNeil Armstrong
674d023bebSNeil Armstrong  - if:
684d023bebSNeil Armstrong      properties:
694d023bebSNeil Armstrong        compatible:
704d023bebSNeil Armstrong          enum:
714d023bebSNeil Armstrong            - amlogic,meson-gx-ao-sysctrl
724d023bebSNeil Armstrong            - amlogic,meson-axg-ao-sysctrl
734d023bebSNeil Armstrong    then:
744d023bebSNeil Armstrong      properties:
754d023bebSNeil Armstrong        clock-controller:
764d023bebSNeil Armstrong          $ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml#
774d023bebSNeil Armstrong
784d023bebSNeil Armstrong        power-controller: false
794d023bebSNeil Armstrong        phy: false
804d023bebSNeil Armstrong
814d023bebSNeil Armstrong  - if:
824d023bebSNeil Armstrong      properties:
834d023bebSNeil Armstrong        compatible:
844d023bebSNeil Armstrong          enum:
854d023bebSNeil Armstrong            - amlogic,meson-gx-hhi-sysctrl
864d023bebSNeil Armstrong    then:
874d023bebSNeil Armstrong      properties:
884d023bebSNeil Armstrong        phy: false
894d023bebSNeil Armstrong
904d023bebSNeil Armstrong  - if:
914d023bebSNeil Armstrong      properties:
924d023bebSNeil Armstrong        compatible:
934d023bebSNeil Armstrong          enum:
944d023bebSNeil Armstrong            - amlogic,meson-axg-hhi-sysctrl
954d023bebSNeil Armstrong    then:
964d023bebSNeil Armstrong      properties:
974d023bebSNeil Armstrong        phy:
984d023bebSNeil Armstrong          oneOf:
994d023bebSNeil Armstrong            - $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml
1004d023bebSNeil Armstrong            - $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml
1014d023bebSNeil Armstrong
1024d023bebSNeil Armstrongrequired:
1034d023bebSNeil Armstrong  - compatible
1044d023bebSNeil Armstrong  - reg
1054d023bebSNeil Armstrong  - clock-controller
1064d023bebSNeil Armstrong
1074d023bebSNeil ArmstrongadditionalProperties: false
1084d023bebSNeil Armstrong
1094d023bebSNeil Armstrongexamples:
1104d023bebSNeil Armstrong  - |
1114d023bebSNeil Armstrong    bus@c883c000 {
1124d023bebSNeil Armstrong        compatible = "simple-bus";
1134d023bebSNeil Armstrong        reg = <0xc883c000 0x2000>;
1144d023bebSNeil Armstrong        #address-cells = <1>;
1154d023bebSNeil Armstrong        #size-cells = <1>;
1164d023bebSNeil Armstrong        ranges = <0x0 0xc883c000 0x2000>;
1174d023bebSNeil Armstrong
1184d023bebSNeil Armstrong        sysctrl: system-controller@0 {
1194d023bebSNeil Armstrong            compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
1204d023bebSNeil Armstrong            reg = <0 0x400>;
1214d023bebSNeil Armstrong
1224d023bebSNeil Armstrong            clock-controller {
1234d023bebSNeil Armstrong                compatible = "amlogic,gxbb-clkc";
1244d023bebSNeil Armstrong                #clock-cells = <1>;
1254d023bebSNeil Armstrong                clocks = <&xtal>;
1264d023bebSNeil Armstrong                clock-names = "xtal";
1274d023bebSNeil Armstrong            };
1284d023bebSNeil Armstrong
1294d023bebSNeil Armstrong            power-controller {
1304d023bebSNeil Armstrong                compatible = "amlogic,meson-gxbb-pwrc";
1314d023bebSNeil Armstrong                #power-domain-cells = <1>;
1324d023bebSNeil Armstrong                amlogic,ao-sysctrl = <&sysctrl_AO>;
1334d023bebSNeil Armstrong
1344d023bebSNeil Armstrong                resets = <&reset_viu>,
1354d023bebSNeil Armstrong                         <&reset_venc>,
1364d023bebSNeil Armstrong                         <&reset_vcbus>,
1374d023bebSNeil Armstrong                         <&reset_bt656>,
1384d023bebSNeil Armstrong                         <&reset_dvin>,
1394d023bebSNeil Armstrong                         <&reset_rdma>,
1404d023bebSNeil Armstrong                         <&reset_venci>,
1414d023bebSNeil Armstrong                         <&reset_vencp>,
1424d023bebSNeil Armstrong                         <&reset_vdac>,
1434d023bebSNeil Armstrong                         <&reset_vdi6>,
1444d023bebSNeil Armstrong                         <&reset_vencl>,
1454d023bebSNeil Armstrong                         <&reset_vid_lock>;
1464d023bebSNeil Armstrong                reset-names = "viu", "venc", "vcbus", "bt656", "dvin",
1474d023bebSNeil Armstrong                              "rdma", "venci", "vencp", "vdac", "vdi6",
1484d023bebSNeil Armstrong                              "vencl", "vid_lock";
1494d023bebSNeil Armstrong                clocks = <&clk_vpu>, <&clk_vapb>;
1504d023bebSNeil Armstrong                clock-names = "vpu", "vapb";
1514d023bebSNeil Armstrong            };
1524d023bebSNeil Armstrong        };
1534d023bebSNeil Armstrong    };
1544d023bebSNeil Armstrong
1554d023bebSNeil Armstrong    bus@c8100000 {
1564d023bebSNeil Armstrong        compatible = "simple-bus";
1574d023bebSNeil Armstrong        reg = <0xc8100000 0x100000>;
1584d023bebSNeil Armstrong        #address-cells = <1>;
1594d023bebSNeil Armstrong        #size-cells = <1>;
1604d023bebSNeil Armstrong        ranges = <0x0 0xc8100000 0x100000>;
1614d023bebSNeil Armstrong
1624d023bebSNeil Armstrong        sysctrl_AO: system-controller@0 {
1634d023bebSNeil Armstrong            compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
1644d023bebSNeil Armstrong            reg = <0 0x100>;
1654d023bebSNeil Armstrong
1664d023bebSNeil Armstrong            clock-controller {
1674d023bebSNeil Armstrong                compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
1684d023bebSNeil Armstrong                #clock-cells = <1>;
1694d023bebSNeil Armstrong                #reset-cells = <1>;
1704d023bebSNeil Armstrong                clocks = <&xtal>, <&clk81>;
1714d023bebSNeil Armstrong                clock-names = "xtal", "mpeg-clk";
1724d023bebSNeil Armstrong            };
1734d023bebSNeil Armstrong        };
1744d023bebSNeil Armstrong    };
175beb9c30bSNeil Armstrong
176beb9c30bSNeil Armstrong  - |
177beb9c30bSNeil Armstrong    system-controller@ff63c000 {
178beb9c30bSNeil Armstrong        compatible = "amlogic,meson-axg-hhi-sysctrl", "simple-mfd", "syscon";
179beb9c30bSNeil Armstrong        reg = <0xff63c000 0x400>;
180beb9c30bSNeil Armstrong
181beb9c30bSNeil Armstrong        clock-controller {
182beb9c30bSNeil Armstrong            compatible = "amlogic,axg-clkc";
183beb9c30bSNeil Armstrong            #clock-cells = <1>;
184beb9c30bSNeil Armstrong            clocks = <&xtal>;
185beb9c30bSNeil Armstrong            clock-names = "xtal";
186beb9c30bSNeil Armstrong        };
187beb9c30bSNeil Armstrong
188beb9c30bSNeil Armstrong        power-controller {
189beb9c30bSNeil Armstrong            compatible = "amlogic,meson-axg-pwrc";
190beb9c30bSNeil Armstrong            #power-domain-cells = <1>;
191beb9c30bSNeil Armstrong            amlogic,ao-sysctrl = <&sysctrl_AO>;
192beb9c30bSNeil Armstrong
193beb9c30bSNeil Armstrong            resets = <&reset_viu>,
194beb9c30bSNeil Armstrong                     <&reset_venc>,
195beb9c30bSNeil Armstrong                     <&reset_vcbus>,
196beb9c30bSNeil Armstrong                     <&reset_vencl>,
197beb9c30bSNeil Armstrong                     <&reset_vid_lock>;
198beb9c30bSNeil Armstrong            reset-names = "viu", "venc", "vcbus", "vencl", "vid_lock";
199beb9c30bSNeil Armstrong            clocks = <&clk_vpu>, <&clk_vapb>;
200beb9c30bSNeil Armstrong            clock-names = "vpu", "vapb";
201beb9c30bSNeil Armstrong        };
202beb9c30bSNeil Armstrong
203beb9c30bSNeil Armstrong        phy {
204beb9c30bSNeil Armstrong            compatible = "amlogic,axg-mipi-pcie-analog-phy";
205beb9c30bSNeil Armstrong            #phy-cells = <0>;
206beb9c30bSNeil Armstrong        };
207beb9c30bSNeil Armstrong    };
208