116b0b2baSRob Herring# SPDX-License-Identifier: GPL-2.0-only 216b0b2baSRob Herring%YAML 1.2 316b0b2baSRob Herring--- 416b0b2baSRob Herring$id: http://devicetree.org/schemas/powerpc/sleep.yaml# 516b0b2baSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 616b0b2baSRob Herring 716b0b2baSRob Herringtitle: PowerPC sleep property 816b0b2baSRob Herring 916b0b2baSRob Herringmaintainers: 1016b0b2baSRob Herring - Rob Herring <robh@kernel.org> 1116b0b2baSRob Herring 1216b0b2baSRob Herringdescription: | 1316b0b2baSRob Herring Devices on SOCs often have mechanisms for placing devices into low-power 1416b0b2baSRob Herring states that are decoupled from the devices' own register blocks. Sometimes, 1516b0b2baSRob Herring this information is more complicated than a cell-index property can 1616b0b2baSRob Herring reasonably describe. Thus, each device controlled in such a manner 1716b0b2baSRob Herring may contain a "sleep" property which describes these connections. 1816b0b2baSRob Herring 1916b0b2baSRob Herring The sleep property consists of one or more sleep resources, each of 2016b0b2baSRob Herring which consists of a phandle to a sleep controller, followed by a 2116b0b2baSRob Herring controller-specific sleep specifier of zero or more cells. 2216b0b2baSRob Herring 2316b0b2baSRob Herring The semantics of what type of low power modes are possible are defined 2416b0b2baSRob Herring by the sleep controller. Some examples of the types of low power modes 2516b0b2baSRob Herring that may be supported are: 2616b0b2baSRob Herring 2716b0b2baSRob Herring - Dynamic: The device may be disabled or enabled at any time. 2816b0b2baSRob Herring - System Suspend: The device may request to be disabled or remain 2916b0b2baSRob Herring awake during system suspend, but will not be disabled until then. 3016b0b2baSRob Herring - Permanent: The device is disabled permanently (until the next hard 3116b0b2baSRob Herring reset). 3216b0b2baSRob Herring 3316b0b2baSRob Herring Some devices may share a clock domain with each other, such that they should 3416b0b2baSRob Herring only be suspended when none of the devices are in use. Where reasonable, 3516b0b2baSRob Herring such nodes should be placed on a virtual bus, where the bus has the sleep 3616b0b2baSRob Herring property. If the clock domain is shared among devices that cannot be 3716b0b2baSRob Herring reasonably grouped in this manner, then create a virtual sleep controller 3816b0b2baSRob Herring (similar to an interrupt nexus, except that defining a standardized 3916b0b2baSRob Herring sleep-map should wait until its necessity is demonstrated). 4016b0b2baSRob Herring 4116b0b2baSRob Herringselect: true 4216b0b2baSRob Herring 4316b0b2baSRob Herringproperties: 4416b0b2baSRob Herring sleep: 45*d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 4616b0b2baSRob Herring 4716b0b2baSRob HerringadditionalProperties: true 48