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    $ref: /schemas/types.yaml#/definitions/phandle
60
61required:
62  - compatible
63  - clocks
64  - clock-names
65  - resets
66  - reset-names
67  - "#power-domain-cells"
68  - amlogic,ao-sysctrl
69
70additionalProperties: false
71
72examples:
73  - |
74    pwrc: power-controller {
75          compatible = "amlogic,meson-sm1-pwrc";
76          #power-domain-cells = <1>;
77          amlogic,ao-sysctrl = <&rti>;
78          resets = <&reset_viu>,
79                   <&reset_venc>,
80                   <&reset_vcbus>,
81                   <&reset_bt656>,
82                   <&reset_rdma>,
83                   <&reset_venci>,
84                   <&reset_vencp>,
85                   <&reset_vdac>,
86                   <&reset_vdi6>,
87                   <&reset_vencl>,
88                   <&reset_vid_lock>;
89          reset-names = "viu", "venc", "vcbus", "bt656",
90                        "rdma", "venci", "vencp", "vdac",
91                        "vdi6", "vencl", "vid_lock";
92          clocks = <&clk_vpu>, <&clk_vapb>;
93          clock-names = "vpu", "vapb";
94    };
95