0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/powerpc/sleep.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: PowerPC sleep property
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 description: |
0013 Devices on SOCs often have mechanisms for placing devices into low-power
0014 states that are decoupled from the devices' own register blocks. Sometimes,
0015 this information is more complicated than a cell-index property can
0016 reasonably describe. Thus, each device controlled in such a manner
0017 may contain a "sleep" property which describes these connections.
0018
0019 The sleep property consists of one or more sleep resources, each of
0020 which consists of a phandle to a sleep controller, followed by a
0021 controller-specific sleep specifier of zero or more cells.
0022
0023 The semantics of what type of low power modes are possible are defined
0024 by the sleep controller. Some examples of the types of low power modes
0025 that may be supported are:
0026
0027 - Dynamic: The device may be disabled or enabled at any time.
0028 - System Suspend: The device may request to be disabled or remain
0029 awake during system suspend, but will not be disabled until then.
0030 - Permanent: The device is disabled permanently (until the next hard
0031 reset).
0032
0033 Some devices may share a clock domain with each other, such that they should
0034 only be suspended when none of the devices are in use. Where reasonable,
0035 such nodes should be placed on a virtual bus, where the bus has the sleep
0036 property. If the clock domain is shared among devices that cannot be
0037 reasonably grouped in this manner, then create a virtual sleep controller
0038 (similar to an interrupt nexus, except that defining a standardized
0039 sleep-map should wait until its necessity is demonstrated).
0040
0041 select: true
0042
0043 properties:
0044 sleep:
0045 $ref: /schemas/types.yaml#/definitions/phandle-array
0046
0047 additionalProperties: true