162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Amlogic Meson System Control registers
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Neil Armstrong <neil.armstrong@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciproperties:
1362306a36Sopenharmony_ci  compatible:
1462306a36Sopenharmony_ci    items:
1562306a36Sopenharmony_ci      - enum:
1662306a36Sopenharmony_ci          - amlogic,meson-gx-hhi-sysctrl
1762306a36Sopenharmony_ci          - amlogic,meson-gx-ao-sysctrl
1862306a36Sopenharmony_ci          - amlogic,meson-axg-hhi-sysctrl
1962306a36Sopenharmony_ci          - amlogic,meson-axg-ao-sysctrl
2062306a36Sopenharmony_ci      - const: simple-mfd
2162306a36Sopenharmony_ci      - const: syscon
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  clock-controller:
2762306a36Sopenharmony_ci    type: object
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  power-controller:
3062306a36Sopenharmony_ci    $ref: /schemas/power/amlogic,meson-ee-pwrc.yaml
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  pinctrl:
3362306a36Sopenharmony_ci    type: object
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  phy:
3662306a36Sopenharmony_ci    type: object
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciallOf:
3962306a36Sopenharmony_ci  - if:
4062306a36Sopenharmony_ci      properties:
4162306a36Sopenharmony_ci        compatible:
4262306a36Sopenharmony_ci          enum:
4362306a36Sopenharmony_ci            - amlogic,meson-gx-hhi-sysctrl
4462306a36Sopenharmony_ci            - amlogic,meson-axg-hhi-sysctrl
4562306a36Sopenharmony_ci    then:
4662306a36Sopenharmony_ci      properties:
4762306a36Sopenharmony_ci        clock-controller:
4862306a36Sopenharmony_ci          $ref: /schemas/clock/amlogic,gxbb-clkc.yaml#
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci      required:
5162306a36Sopenharmony_ci        - power-controller
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  - if:
5462306a36Sopenharmony_ci      properties:
5562306a36Sopenharmony_ci        compatible:
5662306a36Sopenharmony_ci          enum:
5762306a36Sopenharmony_ci            - amlogic,meson-gx-ao-sysctrl
5862306a36Sopenharmony_ci            - amlogic,meson-axg-ao-sysctrl
5962306a36Sopenharmony_ci    then:
6062306a36Sopenharmony_ci      properties:
6162306a36Sopenharmony_ci        clock-controller:
6262306a36Sopenharmony_ci          $ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml#
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci        power-controller: false
6562306a36Sopenharmony_ci        phy: false
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci  - if:
6862306a36Sopenharmony_ci      properties:
6962306a36Sopenharmony_ci        compatible:
7062306a36Sopenharmony_ci          enum:
7162306a36Sopenharmony_ci            - amlogic,meson-gx-hhi-sysctrl
7262306a36Sopenharmony_ci    then:
7362306a36Sopenharmony_ci      properties:
7462306a36Sopenharmony_ci        phy: false
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci  - if:
7762306a36Sopenharmony_ci      properties:
7862306a36Sopenharmony_ci        compatible:
7962306a36Sopenharmony_ci          enum:
8062306a36Sopenharmony_ci            - amlogic,meson-axg-hhi-sysctrl
8162306a36Sopenharmony_ci    then:
8262306a36Sopenharmony_ci      properties:
8362306a36Sopenharmony_ci        phy:
8462306a36Sopenharmony_ci          oneOf:
8562306a36Sopenharmony_ci            - $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml
8662306a36Sopenharmony_ci            - $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_cirequired:
8962306a36Sopenharmony_ci  - compatible
9062306a36Sopenharmony_ci  - reg
9162306a36Sopenharmony_ci  - clock-controller
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciadditionalProperties: false
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciexamples:
9662306a36Sopenharmony_ci  - |
9762306a36Sopenharmony_ci    bus@c883c000 {
9862306a36Sopenharmony_ci        compatible = "simple-bus";
9962306a36Sopenharmony_ci        reg = <0xc883c000 0x2000>;
10062306a36Sopenharmony_ci        #address-cells = <1>;
10162306a36Sopenharmony_ci        #size-cells = <1>;
10262306a36Sopenharmony_ci        ranges = <0x0 0xc883c000 0x2000>;
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci        sysctrl: system-controller@0 {
10562306a36Sopenharmony_ci            compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
10662306a36Sopenharmony_ci            reg = <0 0x400>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci            clock-controller {
10962306a36Sopenharmony_ci                compatible = "amlogic,gxbb-clkc";
11062306a36Sopenharmony_ci                #clock-cells = <1>;
11162306a36Sopenharmony_ci                clocks = <&xtal>;
11262306a36Sopenharmony_ci                clock-names = "xtal";
11362306a36Sopenharmony_ci            };
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci            power-controller {
11662306a36Sopenharmony_ci                compatible = "amlogic,meson-gxbb-pwrc";
11762306a36Sopenharmony_ci                #power-domain-cells = <1>;
11862306a36Sopenharmony_ci                amlogic,ao-sysctrl = <&sysctrl_AO>;
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci                resets = <&reset_viu>,
12162306a36Sopenharmony_ci                         <&reset_venc>,
12262306a36Sopenharmony_ci                         <&reset_vcbus>,
12362306a36Sopenharmony_ci                         <&reset_bt656>,
12462306a36Sopenharmony_ci                         <&reset_dvin>,
12562306a36Sopenharmony_ci                         <&reset_rdma>,
12662306a36Sopenharmony_ci                         <&reset_venci>,
12762306a36Sopenharmony_ci                         <&reset_vencp>,
12862306a36Sopenharmony_ci                         <&reset_vdac>,
12962306a36Sopenharmony_ci                         <&reset_vdi6>,
13062306a36Sopenharmony_ci                         <&reset_vencl>,
13162306a36Sopenharmony_ci                         <&reset_vid_lock>;
13262306a36Sopenharmony_ci                reset-names = "viu", "venc", "vcbus", "bt656", "dvin",
13362306a36Sopenharmony_ci                              "rdma", "venci", "vencp", "vdac", "vdi6",
13462306a36Sopenharmony_ci                              "vencl", "vid_lock";
13562306a36Sopenharmony_ci                clocks = <&clk_vpu>, <&clk_vapb>;
13662306a36Sopenharmony_ci                clock-names = "vpu", "vapb";
13762306a36Sopenharmony_ci            };
13862306a36Sopenharmony_ci        };
13962306a36Sopenharmony_ci    };
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci    bus@c8100000 {
14262306a36Sopenharmony_ci        compatible = "simple-bus";
14362306a36Sopenharmony_ci        reg = <0xc8100000 0x100000>;
14462306a36Sopenharmony_ci        #address-cells = <1>;
14562306a36Sopenharmony_ci        #size-cells = <1>;
14662306a36Sopenharmony_ci        ranges = <0x0 0xc8100000 0x100000>;
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci        sysctrl_AO: system-controller@0 {
14962306a36Sopenharmony_ci            compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
15062306a36Sopenharmony_ci            reg = <0 0x100>;
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci            clock-controller {
15362306a36Sopenharmony_ci                compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
15462306a36Sopenharmony_ci                #clock-cells = <1>;
15562306a36Sopenharmony_ci                #reset-cells = <1>;
15662306a36Sopenharmony_ci                clocks = <&xtal>, <&clk81>;
15762306a36Sopenharmony_ci                clock-names = "xtal", "mpeg-clk";
15862306a36Sopenharmony_ci            };
15962306a36Sopenharmony_ci        };
16062306a36Sopenharmony_ci    };
161