xref: /linux/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/power/apple,pmgr-pwrstate.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple SoC PMGR Power States
8
9maintainers:
10  - Hector Martin <marcan@marcan.st>
11
12allOf:
13  - $ref: power-domain.yaml#
14
15description: |
16  Apple SoCs include PMGR blocks responsible for power management,
17  which can control various clocks, resets, power states, and
18  performance features. This binding describes the device power
19  state registers, which control power states and resets.
20
21  Each instance of a power controller within the PMGR syscon node
22  represents a generic power domain provider, as documented in
23  Documentation/devicetree/bindings/power/power-domain.yaml.
24  The provider controls a single SoC block. The power hierarchy is
25  represented via power-domains relationships between these nodes.
26
27  See Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
28  for the top-level PMGR node documentation.
29
30properties:
31  compatible:
32    oneOf:
33      - items:
34          - enum:
35              # Do not add additional SoC to this list.
36              - apple,s5l8960x-pmgr-pwrstate
37              - apple,t7000-pmgr-pwrstate
38              - apple,s8000-pmgr-pwrstate
39              - apple,t8010-pmgr-pwrstate
40              - apple,t8015-pmgr-pwrstate
41              - apple,t8103-pmgr-pwrstate
42              - apple,t8112-pmgr-pwrstate
43              - apple,t6000-pmgr-pwrstate
44          - const: apple,pmgr-pwrstate
45      - items:
46          - const: apple,t6020-pmgr-pwrstate
47          - const: apple,t8103-pmgr-pwrstate
48
49  reg:
50    maxItems: 1
51
52  "#power-domain-cells":
53    const: 0
54
55  "#reset-cells":
56    const: 0
57
58  power-domains:
59    description:
60      Reference to parent power domains. A domain may have multiple parents,
61      and all will be powered up when it is powered.
62    minItems: 1
63    maxItems: 8 # Arbitrary, should be enough
64
65  label:
66    description:
67      Specifies the name of the SoC domain being controlled. This is used to
68      name the power/reset domains.
69
70  apple,always-on:
71    description:
72      Forces this power domain to always be powered up.
73    type: boolean
74
75  apple,min-state:
76    description:
77      Specifies the minimum power state for auto-PM.
78      0 = power gated, 4 = clock gated, 15 = on.
79    $ref: /schemas/types.yaml#/definitions/uint32
80    minimum: 0
81    maximum: 15
82
83required:
84  - compatible
85  - reg
86  - "#power-domain-cells"
87  - "#reset-cells"
88  - label
89
90additionalProperties: false
91