Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / powerpc / sleep.yaml
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/powerpc/sleep.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: PowerPC sleep property
8
9 maintainers:
10   - Rob Herring <robh@kernel.org>
11
12 description: |
13   Devices on SOCs often have mechanisms for placing devices into low-power
14   states that are decoupled from the devices' own register blocks.  Sometimes,
15   this information is more complicated than a cell-index property can
16   reasonably describe.  Thus, each device controlled in such a manner
17   may contain a "sleep" property which describes these connections.
18
19   The sleep property consists of one or more sleep resources, each of
20   which consists of a phandle to a sleep controller, followed by a
21   controller-specific sleep specifier of zero or more cells.
22
23   The semantics of what type of low power modes are possible are defined
24   by the sleep controller.  Some examples of the types of low power modes
25   that may be supported are:
26
27    - Dynamic: The device may be disabled or enabled at any time.
28    - System Suspend: The device may request to be disabled or remain
29      awake during system suspend, but will not be disabled until then.
30    - Permanent: The device is disabled permanently (until the next hard
31      reset).
32
33   Some devices may share a clock domain with each other, such that they should
34   only be suspended when none of the devices are in use.  Where reasonable,
35   such nodes should be placed on a virtual bus, where the bus has the sleep
36   property.  If the clock domain is shared among devices that cannot be
37   reasonably grouped in this manner, then create a virtual sleep controller
38   (similar to an interrupt nexus, except that defining a standardized
39   sleep-map should wait until its necessity is demonstrated).
40
41 select: true
42
43 properties:
44   sleep:
45     $ref: /schemas/types.yaml#/definitions/phandle-array
46
47 additionalProperties: true