Message ID | 20210209125912.3398-2-nsaenzjulienne@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Raspberry PI 4 V3D enablement | expand |
On Tue, Feb 09, 2021 at 01:58:57PM +0100, Nicolas Saenz Julienne wrote: > This converts the brcm,bcm2835-pm bindings from text to proper schema. > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> > --- > .../bindings/soc/bcm/brcm,bcm2835-pm.txt | 46 ----------- > .../bindings/soc/bcm/brcm,bcm2835-pm.yaml | 79 +++++++++++++++++++ > 2 files changed, 79 insertions(+), 46 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt > create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml > > diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt > deleted file mode 100644 > index 72ff033565e5..000000000000 > --- a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt > +++ /dev/null > @@ -1,46 +0,0 @@ > -BCM2835 PM (Power domains, watchdog) > - > -The PM block controls power domains and some reset lines, and includes > -a watchdog timer. This binding supersedes the brcm,bcm2835-pm-wdt > -binding which covered some of PM's register range and functionality. > - > -Required properties: > - > -- compatible: Should be "brcm,bcm2835-pm" > -- reg: Specifies base physical address and size of the two > - register ranges ("PM" and "ASYNC_BRIDGE" in that > - order) > -- clocks: a) v3d: The V3D clock from CPRMAN > - b) peri_image: The PERI_IMAGE clock from CPRMAN > - c) h264: The H264 clock from CPRMAN > - d) isp: The ISP clock from CPRMAN > -- #reset-cells: Should be 1. This property follows the reset controller > - bindings[1]. > -- #power-domain-cells: Should be 1. This property follows the power domain > - bindings[2]. > - > -Optional properties: > - > -- timeout-sec: Contains the watchdog timeout in seconds > -- system-power-controller: Whether the watchdog is controlling the > - system power. This node follows the power controller bindings[3]. > - > -[1] Documentation/devicetree/bindings/reset/reset.txt > -[2] Documentation/devicetree/bindings/power/power-domain.yaml > -[3] Documentation/devicetree/bindings/power/power-controller.txt > - > -Example: > - > -pm { > - compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; > - #power-domain-cells = <1>; > - #reset-cells = <1>; > - reg = <0x7e100000 0x114>, > - <0x7e00a000 0x24>; > - clocks = <&clocks BCM2835_CLOCK_V3D>, > - <&clocks BCM2835_CLOCK_PERI_IMAGE>, > - <&clocks BCM2835_CLOCK_H264>, > - <&clocks BCM2835_CLOCK_ISP>; > - clock-names = "v3d", "peri_image", "h264", "isp"; > - system-power-controller; > -}; > diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml > new file mode 100644 > index 000000000000..8bc65e5f62a7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml > @@ -0,0 +1,79 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: BCM2835 PM (Power domains, watchdog) > + > +description: | > + The PM block controls power domains and some reset lines, and includes a > + watchdog timer. > + > +maintainers: > + - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> > + > +allOf: > + - $ref: ../../watchdog/watchdog.yaml# > + > +properties: > + compatible: > + items: > + - enum: > + - brcm,bcm2835-pm > + - const: brcm,bcm2835-pm-wdt Odd... > + > + reg: > + minItems: 1 > + maxItems: 2 > + description: Specifies base physical address and size of the two register > + ranges, "PM" and "ASYNC_BRIDGE" in that order. The number, what they are and order are captured with: items: - description: PM registers - description: ASYNC_BRIDGE registers 'Specifies base physical address and size' is every 'reg'. > + > + "#power-domain-cells": > + const: 1 > + > + "#reset-cells": > + const: 1 > + > + clocks: > + minItems: 4 > + maxItems: 4 > + > + clock-names: > + items: > + - const: v3d > + - const: peri_image > + - const: h264 > + - const: isp > + > + system-power-controller: > + type: boolean > + > + timeout-sec: true > + > +required: > + - compatible > + - reg > + - "#power-domain-cells" > + - "#reset-cells" > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/bcm2835.h> > + > + watchdog@7e100000 { > + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; > + #power-domain-cells = <1>; > + #reset-cells = <1>; > + reg = <0x7e100000 0x114>, > + <0x7e00a000 0x24>; > + clocks = <&clocks BCM2835_CLOCK_V3D>, > + <&clocks BCM2835_CLOCK_PERI_IMAGE>, > + <&clocks BCM2835_CLOCK_H264>, > + <&clocks BCM2835_CLOCK_ISP>; > + clock-names = "v3d", "peri_image", "h264", "isp"; > + system-power-controller; > + }; > -- > 2.30.0 >
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt deleted file mode 100644 index 72ff033565e5..000000000000 --- a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt +++ /dev/null @@ -1,46 +0,0 @@ -BCM2835 PM (Power domains, watchdog) - -The PM block controls power domains and some reset lines, and includes -a watchdog timer. This binding supersedes the brcm,bcm2835-pm-wdt -binding which covered some of PM's register range and functionality. - -Required properties: - -- compatible: Should be "brcm,bcm2835-pm" -- reg: Specifies base physical address and size of the two - register ranges ("PM" and "ASYNC_BRIDGE" in that - order) -- clocks: a) v3d: The V3D clock from CPRMAN - b) peri_image: The PERI_IMAGE clock from CPRMAN - c) h264: The H264 clock from CPRMAN - d) isp: The ISP clock from CPRMAN -- #reset-cells: Should be 1. This property follows the reset controller - bindings[1]. -- #power-domain-cells: Should be 1. This property follows the power domain - bindings[2]. - -Optional properties: - -- timeout-sec: Contains the watchdog timeout in seconds -- system-power-controller: Whether the watchdog is controlling the - system power. This node follows the power controller bindings[3]. - -[1] Documentation/devicetree/bindings/reset/reset.txt -[2] Documentation/devicetree/bindings/power/power-domain.yaml -[3] Documentation/devicetree/bindings/power/power-controller.txt - -Example: - -pm { - compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; - #power-domain-cells = <1>; - #reset-cells = <1>; - reg = <0x7e100000 0x114>, - <0x7e00a000 0x24>; - clocks = <&clocks BCM2835_CLOCK_V3D>, - <&clocks BCM2835_CLOCK_PERI_IMAGE>, - <&clocks BCM2835_CLOCK_H264>, - <&clocks BCM2835_CLOCK_ISP>; - clock-names = "v3d", "peri_image", "h264", "isp"; - system-power-controller; -}; diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml new file mode 100644 index 000000000000..8bc65e5f62a7 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: BCM2835 PM (Power domains, watchdog) + +description: | + The PM block controls power domains and some reset lines, and includes a + watchdog timer. + +maintainers: + - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> + +allOf: + - $ref: ../../watchdog/watchdog.yaml# + +properties: + compatible: + items: + - enum: + - brcm,bcm2835-pm + - const: brcm,bcm2835-pm-wdt + + reg: + minItems: 1 + maxItems: 2 + description: Specifies base physical address and size of the two register + ranges, "PM" and "ASYNC_BRIDGE" in that order. + + "#power-domain-cells": + const: 1 + + "#reset-cells": + const: 1 + + clocks: + minItems: 4 + maxItems: 4 + + clock-names: + items: + - const: v3d + - const: peri_image + - const: h264 + - const: isp + + system-power-controller: + type: boolean + + timeout-sec: true + +required: + - compatible + - reg + - "#power-domain-cells" + - "#reset-cells" + - clocks + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/bcm2835.h> + + watchdog@7e100000 { + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; + #power-domain-cells = <1>; + #reset-cells = <1>; + reg = <0x7e100000 0x114>, + <0x7e00a000 0x24>; + clocks = <&clocks BCM2835_CLOCK_V3D>, + <&clocks BCM2835_CLOCK_PERI_IMAGE>, + <&clocks BCM2835_CLOCK_H264>, + <&clocks BCM2835_CLOCK_ISP>; + clock-names = "v3d", "peri_image", "h264", "isp"; + system-power-controller; + };
This converts the brcm,bcm2835-pm bindings from text to proper schema. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> --- .../bindings/soc/bcm/brcm,bcm2835-pm.txt | 46 ----------- .../bindings/soc/bcm/brcm,bcm2835-pm.yaml | 79 +++++++++++++++++++ 2 files changed, 79 insertions(+), 46 deletions(-) delete mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml