Message ID | 20201008142420.2083861-1-robh@kernel.org |
---|---|
State | Accepted, archived |
Headers | show |
Series | [1/2] dt-bindings: powerpc: Add a schema for the 'sleep' property | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 1 warnings, 47 lines checked |
robh/dt-meta-schema | success |
On Thu, Oct 08, 2020 at 09:24:20AM -0500, Rob Herring wrote: > booting-without-of.rstt is an ancient document that first outlined > Flattened DeviceTree on PowerPC initially. The DT world has evolved a > lot in the 15 years since and booting-without-of.rst is pretty stale. > The name of the document itself is confusing if you don't understand the > evolution from real 'OpenFirmware'. Most of what booting-without-of.rst > contains is now in the DT specification (which evolved out of the > ePAPR). The few things that weren't documented in the DT specification > are now. > > All that remains is the boot entry details, so let's move these to arch > specific documents. The exception is arm which already has the same > details documented. > > Cc: Frank Rowand <frowand.list@gmail.com> > Cc: Mauro Carvalho Chehab <mchehab@kernel.org> > Cc: Geert Uytterhoeven <geert+renesas@glider.be> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: Jonathan Corbet <corbet@lwn.net> > Cc: Paul Mackerras <paulus@samba.org> > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > Cc: Rich Felker <dalias@libc.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: x86@kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-mips@vger.kernel.org > Cc: linux-doc@vger.kernel.org > Cc: linux-sh@vger.kernel.org > Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > .../devicetree/booting-without-of.rst | 1585 ----------------- > Documentation/devicetree/index.rst | 1 - > Documentation/mips/booting.rst | 28 + > Documentation/mips/index.rst | 1 + > Documentation/powerpc/booting.rst | 110 ++ > Documentation/powerpc/index.rst | 1 + > Documentation/sh/booting.rst | 12 + > Documentation/sh/index.rst | 1 + > Documentation/x86/booting-dt.rst | 21 + > Documentation/x86/index.rst | 1 + For x86: Acked-by: Borislav Petkov <bp@suse.de> Thx.
Rob Herring <robh@kernel.org> writes: > booting-without-of.rstt is an ancient document that first outlined ^ nit > Flattened DeviceTree on PowerPC initially. The DT world has evolved a > lot in the 15 years since and booting-without-of.rst is pretty stale. > The name of the document itself is confusing if you don't understand the > evolution from real 'OpenFirmware'. Most of what booting-without-of.rst > contains is now in the DT specification (which evolved out of the > ePAPR). The few things that weren't documented in the DT specification > are now. > > All that remains is the boot entry details, so let's move these to arch > specific documents. The exception is arm which already has the same > details documented. > > Cc: Frank Rowand <frowand.list@gmail.com> > Cc: Mauro Carvalho Chehab <mchehab@kernel.org> > Cc: Geert Uytterhoeven <geert+renesas@glider.be> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: Jonathan Corbet <corbet@lwn.net> > Cc: Paul Mackerras <paulus@samba.org> > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > Cc: Rich Felker <dalias@libc.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: x86@kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-mips@vger.kernel.org > Cc: linux-doc@vger.kernel.org > Cc: linux-sh@vger.kernel.org > Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > .../devicetree/booting-without-of.rst | 1585 ----------------- > Documentation/devicetree/index.rst | 1 - > Documentation/mips/booting.rst | 28 + > Documentation/mips/index.rst | 1 + > Documentation/powerpc/booting.rst | 110 ++ LGTM. Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) cheers
Hi Rob, Em Thu, 8 Oct 2020 09:24:20 -0500 Rob Herring <robh@kernel.org> escreveu: > booting-without-of.rstt is an ancient document that first outlined > Flattened DeviceTree on PowerPC initially. The DT world has evolved a > lot in the 15 years since and booting-without-of.rst is pretty stale. > The name of the document itself is confusing if you don't understand the > evolution from real 'OpenFirmware'. Most of what booting-without-of.rst > contains is now in the DT specification (which evolved out of the > ePAPR). The few things that weren't documented in the DT specification > are now. > > All that remains is the boot entry details, so let's move these to arch > specific documents. The exception is arm which already has the same > details documented. Removing this document caused a warning at Documentation/arm/booting.rst: $ ./scripts/documentation-file-ref-check Documentation/arm/booting.rst: Documentation/devicetree/booting-without-of.rst as it mentions that the DTB format is described on booting-without-of.rst: 4b. Setup the device tree ------------------------- The boot loader must load a device tree image (dtb) into system ram at a 64bit aligned address and initialize it with the boot data. The dtb format is documented in Documentation/devicetree/booting-without-of.rst. The kernel will look for the dtb magic value of 0xd00dfeed at the dtb physical address to determine if a dtb has been passed instead of a tagged list. So, I guess that such part of the document needs to be moved to booting.rst. Thanks, Mauro
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