Re: [PATCH 1/2] dt-bindings: powerpc: Add a schema for the 'sleep' property

Johan Jonker
2021-01-17T16:14:56Z

Hi Rob,

This patch generates notifications in the Rockchip ARM and arm64 tree.
Could you limit the scope to PowerPC only.

Kind regards,

Johan Jonker

make ARCH=arm dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/powerpc/sleep.yaml

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/powerpc/sleep.yaml

Example:

/arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dt.yaml: pinctrl:
sleep: {'ddrio-pwroff': {'rockchip,pins': [[0, 1, 1, 168]]},
'ap-pwroff': {'rockchip,pins': [[1, 5, 1, 168]]}} is not of type 'array'
From schema: /Documentation/devicetree/bindings/powerpc/sleep.yaml

On 10/8/20 4:24 PM, Rob Herring wrote:
> Document the PowerPC specific 'sleep' property as a schema. It is
> currently only documented in booting-without-of.rst which is getting
> removed.
>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> .../devicetree/bindings/powerpc/sleep.yaml | 47 +++++++++++++++++++
> 1 file changed, 47 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/powerpc/sleep.yaml
>
> diff --git a/Documentation/devicetree/bindings/powerpc/sleep.yaml b/Documentation/devicetree/bindings/powerpc/sleep.yaml
> new file mode 100644
> index 000000000000..6494c7d08b93
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/sleep.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/sleep.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: PowerPC sleep property
> +
> +maintainers:
> + - Rob Herring <robh@kernel.org>
> +
> +description: |
> + Devices on SOCs often have mechanisms for placing devices into low-power
> + states that are decoupled from the devices' own register blocks. Sometimes,
> + this information is more complicated than a cell-index property can
> + reasonably describe. Thus, each device controlled in such a manner
> + may contain a "sleep" property which describes these connections.
> +
> + The sleep property consists of one or more sleep resources, each of
> + which consists of a phandle to a sleep controller, followed by a
> + controller-specific sleep specifier of zero or more cells.
> +
> + The semantics of what type of low power modes are possible are defined
> + by the sleep controller. Some examples of the types of low power modes
> + that may be supported are:
> +
> + - Dynamic: The device may be disabled or enabled at any time.
> + - System Suspend: The device may request to be disabled or remain
> + awake during system suspend, but will not be disabled until then.
> + - Permanent: The device is disabled permanently (until the next hard
> + reset).
> +
> + Some devices may share a clock domain with each other, such that they should
> + only be suspended when none of the devices are in use. Where reasonable,
> + such nodes should be placed on a virtual bus, where the bus has the sleep
> + property. If the clock domain is shared among devices that cannot be
> + reasonably grouped in this manner, then create a virtual sleep controller
> + (similar to an interrupt nexus, except that defining a standardized
> + sleep-map should wait until its necessity is demonstrated).
> +
> +select: true
> +
> +properties:
> + sleep:
> + $ref: /schemas/types.yaml#definitions/phandle-array
> +
> +additionalProperties: true
>