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