162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: PM Domain Idle States
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Ulf Hansson <ulf.hansson@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  A domain idle state node represents the state parameters that will be used to
1462306a36Sopenharmony_ci  select the state when there are no active components in the PM domain.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  $nodename:
1862306a36Sopenharmony_ci    const: domain-idle-states
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_cipatternProperties:
2162306a36Sopenharmony_ci  "^(cpu|cluster|domain)-":
2262306a36Sopenharmony_ci    type: object
2362306a36Sopenharmony_ci    additionalProperties: false
2462306a36Sopenharmony_ci    description:
2562306a36Sopenharmony_ci      Each state node represents a domain idle state description.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci    properties:
2862306a36Sopenharmony_ci      compatible:
2962306a36Sopenharmony_ci        const: domain-idle-state
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci      entry-latency-us:
3262306a36Sopenharmony_ci        description:
3362306a36Sopenharmony_ci          The worst case latency in microseconds required to enter the idle
3462306a36Sopenharmony_ci          state. Note that, the exit-latency-us duration may be guaranteed only
3562306a36Sopenharmony_ci          after the entry-latency-us has passed.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci      exit-latency-us:
3862306a36Sopenharmony_ci        description:
3962306a36Sopenharmony_ci          The worst case latency in microseconds required to exit the idle
4062306a36Sopenharmony_ci          state.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci      min-residency-us:
4362306a36Sopenharmony_ci        description:
4462306a36Sopenharmony_ci          The minimum residency duration in microseconds after which the idle
4562306a36Sopenharmony_ci          state will yield power benefits, after overcoming the overhead while
4662306a36Sopenharmony_ci          entering the idle state.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci      arm,psci-suspend-param:
4962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
5062306a36Sopenharmony_ci        description: |
5162306a36Sopenharmony_ci          power_state parameter to pass to the ARM PSCI suspend call.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci          Device tree nodes that require usage of PSCI CPU_SUSPEND function
5462306a36Sopenharmony_ci          (i.e. idle states node with entry-method property is set to "psci")
5562306a36Sopenharmony_ci          must specify this property.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci    required:
5862306a36Sopenharmony_ci      - compatible
5962306a36Sopenharmony_ci      - entry-latency-us
6062306a36Sopenharmony_ci      - exit-latency-us
6162306a36Sopenharmony_ci      - min-residency-us
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciadditionalProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci    domain-idle-states {
6962306a36Sopenharmony_ci      domain_retention: domain-retention {
7062306a36Sopenharmony_ci        compatible = "domain-idle-state";
7162306a36Sopenharmony_ci        entry-latency-us = <20>;
7262306a36Sopenharmony_ci        exit-latency-us = <40>;
7362306a36Sopenharmony_ci        min-residency-us = <80>;
7462306a36Sopenharmony_ci      };
7562306a36Sopenharmony_ci    };
7662306a36Sopenharmony_ci...
77