Message ID | 20201008142420.2083861-1-robh@kernel.org |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: powerpc: Add a schema for the 'sleep' property | expand |
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 >
On Sun, Jan 17, 2021 at 05:10:03PM +0100, Johan Jonker wrote: > 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 IMO, the node name should be changed or just removed. The grouping doesn't serve any purpose and changing wouldn't break the ABI. Rob
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
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 -- 2.25.1