1bd9eccf1SNeil Armstrong# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2bd9eccf1SNeil Armstrong# Copyright 2019 BayLibre, SAS
3bd9eccf1SNeil Armstrong%YAML 1.2
4bd9eccf1SNeil Armstrong---
5bd9eccf1SNeil Armstrong$id: "http://devicetree.org/schemas/power/amlogic,meson-ee-pwrc.yaml#"
6bd9eccf1SNeil Armstrong$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7bd9eccf1SNeil Armstrong
8bd9eccf1SNeil Armstrongtitle: Amlogic Meson Everything-Else Power Domains
9bd9eccf1SNeil Armstrong
10bd9eccf1SNeil Armstrongmaintainers:
11bd9eccf1SNeil Armstrong  - Neil Armstrong <narmstrong@baylibre.com>
12bd9eccf1SNeil Armstrong
13bd9eccf1SNeil Armstrongdescription: |+
14bd9eccf1SNeil Armstrong  The Everything-Else Power Domains node should be the child of a syscon
15bd9eccf1SNeil Armstrong  node with the required property:
16bd9eccf1SNeil Armstrong
17bd9eccf1SNeil Armstrong  - compatible: Should be the following:
18bd9eccf1SNeil Armstrong                "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"
19bd9eccf1SNeil Armstrong
20bd9eccf1SNeil Armstrong  Refer to the the bindings described in
2154b3719dSMauro Carvalho Chehab  Documentation/devicetree/bindings/mfd/syscon.yaml
22bd9eccf1SNeil Armstrong
23bd9eccf1SNeil Armstrongproperties:
24bd9eccf1SNeil Armstrong  compatible:
25bd9eccf1SNeil Armstrong    enum:
26bd9eccf1SNeil Armstrong      - amlogic,meson-g12a-pwrc
27bd9eccf1SNeil Armstrong      - amlogic,meson-sm1-pwrc
28bd9eccf1SNeil Armstrong
29bd9eccf1SNeil Armstrong  clocks:
30bd9eccf1SNeil Armstrong    minItems: 2
31bd9eccf1SNeil Armstrong
32bd9eccf1SNeil Armstrong  clock-names:
33bd9eccf1SNeil Armstrong    items:
34bd9eccf1SNeil Armstrong      - const: vpu
35bd9eccf1SNeil Armstrong      - const: vapb
36bd9eccf1SNeil Armstrong
37bd9eccf1SNeil Armstrong  resets:
38bd9eccf1SNeil Armstrong    minItems: 11
39bd9eccf1SNeil Armstrong
40bd9eccf1SNeil Armstrong  reset-names:
41bd9eccf1SNeil Armstrong    items:
42bd9eccf1SNeil Armstrong      - const: viu
43bd9eccf1SNeil Armstrong      - const: venc
44bd9eccf1SNeil Armstrong      - const: vcbus
45bd9eccf1SNeil Armstrong      - const: bt656
46bd9eccf1SNeil Armstrong      - const: rdma
47bd9eccf1SNeil Armstrong      - const: venci
48bd9eccf1SNeil Armstrong      - const: vencp
49bd9eccf1SNeil Armstrong      - const: vdac
50bd9eccf1SNeil Armstrong      - const: vdi6
51bd9eccf1SNeil Armstrong      - const: vencl
52bd9eccf1SNeil Armstrong      - const: vid_lock
53bd9eccf1SNeil Armstrong
54bd9eccf1SNeil Armstrong  "#power-domain-cells":
55bd9eccf1SNeil Armstrong    const: 1
56bd9eccf1SNeil Armstrong
57bd9eccf1SNeil Armstrong  amlogic,ao-sysctrl:
58bd9eccf1SNeil Armstrong    description: phandle to the AO sysctrl node
59bd9eccf1SNeil Armstrong    allOf:
60bd9eccf1SNeil Armstrong      - $ref: /schemas/types.yaml#/definitions/phandle
61bd9eccf1SNeil Armstrong
62bd9eccf1SNeil Armstrongrequired:
63bd9eccf1SNeil Armstrong  - compatible
64bd9eccf1SNeil Armstrong  - clocks
65bd9eccf1SNeil Armstrong  - clock-names
66bd9eccf1SNeil Armstrong  - resets
67bd9eccf1SNeil Armstrong  - reset-names
68bd9eccf1SNeil Armstrong  - "#power-domain-cells"
69bd9eccf1SNeil Armstrong  - amlogic,ao-sysctrl
70bd9eccf1SNeil Armstrong
717f464532SRob HerringadditionalProperties: false
727f464532SRob Herring
73bd9eccf1SNeil Armstrongexamples:
74bd9eccf1SNeil Armstrong  - |
75bd9eccf1SNeil Armstrong    pwrc: power-controller {
76bd9eccf1SNeil Armstrong          compatible = "amlogic,meson-sm1-pwrc";
77bd9eccf1SNeil Armstrong          #power-domain-cells = <1>;
78bd9eccf1SNeil Armstrong          amlogic,ao-sysctrl = <&rti>;
79bd9eccf1SNeil Armstrong          resets = <&reset_viu>,
80bd9eccf1SNeil Armstrong                   <&reset_venc>,
81bd9eccf1SNeil Armstrong                   <&reset_vcbus>,
82bd9eccf1SNeil Armstrong                   <&reset_bt656>,
83bd9eccf1SNeil Armstrong                   <&reset_rdma>,
84bd9eccf1SNeil Armstrong                   <&reset_venci>,
85bd9eccf1SNeil Armstrong                   <&reset_vencp>,
86bd9eccf1SNeil Armstrong                   <&reset_vdac>,
87bd9eccf1SNeil Armstrong                   <&reset_vdi6>,
88bd9eccf1SNeil Armstrong                   <&reset_vencl>,
89bd9eccf1SNeil Armstrong                   <&reset_vid_lock>;
90bd9eccf1SNeil Armstrong          reset-names = "viu", "venc", "vcbus", "bt656",
91bd9eccf1SNeil Armstrong                        "rdma", "venci", "vencp", "vdac",
92bd9eccf1SNeil Armstrong                        "vdi6", "vencl", "vid_lock";
93bd9eccf1SNeil Armstrong          clocks = <&clk_vpu>, <&clk_vapb>;
94bd9eccf1SNeil Armstrong          clock-names = "vpu", "vapb";
95bd9eccf1SNeil Armstrong    };
96