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/power/apple,pmgr-pwrstate.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Apple SoC PMGR Power States
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Hector Martin <marcan@marcan.st>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: power-domain.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cidescription: |
1662306a36Sopenharmony_ci  Apple SoCs include PMGR blocks responsible for power management,
1762306a36Sopenharmony_ci  which can control various clocks, resets, power states, and
1862306a36Sopenharmony_ci  performance features. This binding describes the device power
1962306a36Sopenharmony_ci  state registers, which control power states and resets.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  Each instance of a power controller within the PMGR syscon node
2262306a36Sopenharmony_ci  represents a generic power domain provider, as documented in
2362306a36Sopenharmony_ci  Documentation/devicetree/bindings/power/power-domain.yaml.
2462306a36Sopenharmony_ci  The provider controls a single SoC block. The power hierarchy is
2562306a36Sopenharmony_ci  represented via power-domains relationships between these nodes.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  See Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
2862306a36Sopenharmony_ci  for the top-level PMGR node documentation.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciproperties:
3162306a36Sopenharmony_ci  compatible:
3262306a36Sopenharmony_ci    items:
3362306a36Sopenharmony_ci      - enum:
3462306a36Sopenharmony_ci          - apple,t8103-pmgr-pwrstate
3562306a36Sopenharmony_ci          - apple,t8112-pmgr-pwrstate
3662306a36Sopenharmony_ci          - apple,t6000-pmgr-pwrstate
3762306a36Sopenharmony_ci      - const: apple,pmgr-pwrstate
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reg:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  "#power-domain-cells":
4362306a36Sopenharmony_ci    const: 0
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  "#reset-cells":
4662306a36Sopenharmony_ci    const: 0
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  power-domains:
4962306a36Sopenharmony_ci    description:
5062306a36Sopenharmony_ci      Reference to parent power domains. A domain may have multiple parents,
5162306a36Sopenharmony_ci      and all will be powered up when it is powered.
5262306a36Sopenharmony_ci    minItems: 1
5362306a36Sopenharmony_ci    maxItems: 8 # Arbitrary, should be enough
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  label:
5662306a36Sopenharmony_ci    description:
5762306a36Sopenharmony_ci      Specifies the name of the SoC domain being controlled. This is used to
5862306a36Sopenharmony_ci      name the power/reset domains.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci  apple,always-on:
6162306a36Sopenharmony_ci    description:
6262306a36Sopenharmony_ci      Forces this power domain to always be powered up.
6362306a36Sopenharmony_ci    type: boolean
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  apple,min-state:
6662306a36Sopenharmony_ci    description:
6762306a36Sopenharmony_ci      Specifies the minimum power state for auto-PM.
6862306a36Sopenharmony_ci      0 = power gated, 4 = clock gated, 15 = on.
6962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
7062306a36Sopenharmony_ci    minimum: 0
7162306a36Sopenharmony_ci    maximum: 15
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_cirequired:
7462306a36Sopenharmony_ci  - compatible
7562306a36Sopenharmony_ci  - reg
7662306a36Sopenharmony_ci  - "#power-domain-cells"
7762306a36Sopenharmony_ci  - "#reset-cells"
7862306a36Sopenharmony_ci  - label
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciadditionalProperties: false
81