Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) %YAML 1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) $id: http://devicetree.org/schemas/arm/psci.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) $schema: http://devicetree.org/meta-schemas/core.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) title: Power State Coordination Interface (PSCI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) maintainers:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)   - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) description: |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)   Firmware implementing the PSCI functions described in ARM document number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)   ARM DEN 0022A ("Power State Coordination Interface System Software on ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)   processors") can be used by Linux to initiate various CPU-centric power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)   operations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)   Issue A of the specification describes functions for CPU suspend, hotplug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)   and migration of secure software.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)   Functions are invoked by trapping to the privilege level of the PSCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)   firmware (specified as part of the binding below) and passing arguments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)   in a manner similar to that specified by AAPCS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)      r0       => 32-bit Function ID / return value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)     {r1 - r3}	=> Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)   Note that the immediate field of the trapping instruction must be set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)   to #0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)   [2] Power State Coordination Interface (PSCI) specification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)     http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)   $nodename:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)     const: psci
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)   compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)     oneOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)       - description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41)           For implementations complying to PSCI versions prior to 0.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)         const: arm,psci
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)       - description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)           For implementations complying to PSCI 0.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)         const: arm,psci-0.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)       - description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)           For implementations complying to PSCI 0.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)           Function IDs are not required and should be ignored by an OS with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)           PSCI 0.2 support, but are permitted to be present for compatibility
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)           with existing software when "arm,psci" is later in the compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)           list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)         items:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)           - const: arm,psci-0.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)           - const: arm,psci
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)       - description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)           For implementations complying to PSCI 1.0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)         const: arm,psci-1.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)       - description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)           For implementations complying to PSCI 1.0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)           PSCI 1.0 is backward compatible with PSCI 0.2 with minor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)           specification updates, as defined in the PSCI specification[2].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)         items:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)           - const: arm,psci-1.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)           - const: arm,psci-0.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)   method:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)     description: The method of calling the PSCI firmware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)     $ref: /schemas/types.yaml#/definitions/string-array
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)     enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)       - smc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)       # HVC #0, with the register assignments specified in this binding.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)       - hvc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   cpu_suspend:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)     $ref: /schemas/types.yaml#/definitions/uint32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)     description: Function ID for CPU_SUSPEND operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)   cpu_off:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)     $ref: /schemas/types.yaml#/definitions/uint32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)     description: Function ID for CPU_OFF operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86)   cpu_on:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87)     $ref: /schemas/types.yaml#/definitions/uint32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88)     description: Function ID for CPU_ON operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90)   migrate:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)     $ref: /schemas/types.yaml#/definitions/uint32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)     description: Function ID for MIGRATE operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)   arm,psci-suspend-param:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)     $ref: /schemas/types.yaml#/definitions/uint32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)     description: |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)       power_state parameter to pass to the PSCI suspend call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)       Device tree nodes that require usage of PSCI CPU_SUSPEND function (ie
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)       idle state nodes with entry-method property is set to "psci", as per
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)       bindings in [1]) must specify this property.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       [1] Kernel documentation - ARM idle states bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)         Documentation/devicetree/bindings/arm/idle-states.yaml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) patternProperties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)   "^power-domain-":
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)     $ref: "../power/power-domain.yaml#"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)     type: object
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)     description: |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)       ARM systems can have multiple cores, sometimes in an hierarchical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)       arrangement. This often, but not always, maps directly to the processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)       power topology of the system. Individual nodes in a topology have their
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)       own specific power states and can be better represented hierarchically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)       For these cases, the definitions of the idle states for the CPUs and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)       CPU topology, must conform to the binding in [3]. The idle states
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)       themselves must conform to the binding in [4] and must specify the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)       arm,psci-suspend-param property.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)       It should also be noted that, in PSCI firmware v1.0 the OS-Initiated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)       (OSI) CPU suspend mode is introduced. Using a hierarchical representation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)       helps to implement support for OSI mode and OS implementations may choose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)       to mandate it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)       [3] Documentation/devicetree/bindings/power/power-domain.yaml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)       [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)   - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)   - method
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) allOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)   - if:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)       properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)         compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)           contains:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)             const: arm,psci
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)     then:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)       required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)         - cpu_off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)         - cpu_on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) additionalProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)   - |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)     // Case 1: PSCI v0.1 only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)     psci {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)       compatible      = "arm,psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)       method          = "smc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)       cpu_suspend     = <0x95c10000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)       cpu_off         = <0x95c10001>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)       cpu_on          = <0x95c10002>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)       migrate         = <0x95c10003>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)   - |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)     // Case 2: PSCI v0.2 only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)     psci {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)       compatible      = "arm,psci-0.2";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)       method          = "smc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)   - |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)     // Case 3: PSCI v0.2 and PSCI v0.1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)     /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)      * A DTB may provide IDs for use by kernels without PSCI 0.2 support,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)      * enabling firmware and hypervisors to support existing and new kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)      * These IDs will be ignored by kernels with PSCI 0.2 support, which will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)      * use the standard PSCI 0.2 IDs exclusively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)     psci {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)       compatible = "arm,psci-0.2", "arm,psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)       method = "hvc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)       cpu_on = <0x95c10002>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)       cpu_off = <0x95c10001>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)   - |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)     // Case 4: CPUs and CPU idle states described using the hierarchical model.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)     cpus {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)       #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)       #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)       CPU0: cpu@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)         device_type = "cpu";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)         compatible = "arm,cortex-a53";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)         reg = <0x0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)         enable-method = "psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)         power-domains = <&CPU_PD0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)         power-domain-names = "psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)       CPU1: cpu@1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)         device_type = "cpu";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)         compatible = "arm,cortex-a53";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)         reg = <0x100>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)         enable-method = "psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)         power-domains = <&CPU_PD1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)         power-domain-names = "psci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)       idle-states {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)         CPU_PWRDN: cpu-power-down {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)           compatible = "arm,idle-state";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)           arm,psci-suspend-param = <0x0000001>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)           entry-latency-us = <10>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)           exit-latency-us = <10>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)           min-residency-us = <100>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)       domain-idle-states {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)         CLUSTER_RET: cluster-retention {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)           compatible = "domain-idle-state";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)           arm,psci-suspend-param = <0x1000011>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)           entry-latency-us = <500>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)           exit-latency-us = <500>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)           min-residency-us = <2000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237)         CLUSTER_PWRDN: cluster-power-down {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)           compatible = "domain-idle-state";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)           arm,psci-suspend-param = <0x1000031>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240)           entry-latency-us = <2000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)           exit-latency-us = <2000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242)           min-residency-us = <6000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)     psci {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)       compatible = "arm,psci-1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)       method = "smc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)       CPU_PD0: power-domain-cpu0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)         #power-domain-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)         domain-idle-states = <&CPU_PWRDN>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)         power-domains = <&CLUSTER_PD>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)       CPU_PD1: power-domain-cpu1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)         #power-domain-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)         domain-idle-states =  <&CPU_PWRDN>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)         power-domains = <&CLUSTER_PD>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)       CLUSTER_PD: power-domain-cluster {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)         #power-domain-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)         domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266)       };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) ...