Re: [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema

2021-03-05 Thread Rob Herring
On Wed, 17 Feb 2021 12:47:56 +0100, Nicolas Saenz Julienne wrote:
> This converts the brcm,bcm2835-pm bindings from text to proper schema.
> 
> Signed-off-by: Nicolas Saenz Julienne 
> 
> ---
> 
> Changes since v2:
>  - Slightly change things to make it less dependent on next commits
> 
>  .../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
> 

Reviewed-by: Rob Herring 


[PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema

2021-02-17 Thread Nicolas Saenz Julienne
This converts the brcm,bcm2835-pm bindings from text to proper schema.

Signed-off-by: Nicolas Saenz Julienne 

---

Changes since v2:
 - Slightly change things to make it less dependent on next commits

 .../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..
--- 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 = <0x7e10 0x114>,
- <0x7e00a000 0x24>;
-   clocks = < BCM2835_CLOCK_V3D>,
-< BCM2835_CLOCK_PERI_IMAGE>,
-< BCM2835_CLOCK_H264>,
-< 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 ..47b9c266ddd1
--- /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 
+
+allOf:
+  - $ref: ../../watchdog/watchdog.yaml#
+
+properties:
+  compatible:
+items:
+  - const: brcm,bcm2835-pm
+  - const: brcm,bcm2835-pm-wdt
+
+  reg:
+minItems: 1
+maxItems: 2
+items:
+  - description: PM registers
+  - description: ASB registers
+
+  "#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 
+
+watchdog@7e10 {
+compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
+#power-domain-cells = <1>;
+#reset-cells = <1>;
+reg = <0x7e10 0x114>,
+  <0x7e00a000 0x24>;
+clocks = < BCM2835_CLOCK_V3D>,
+< BCM2835_CLOCK_PERI_IMAGE>,
+< BCM2835_CLOCK_H264>,
+< BCM2835_CLOCK_ISP>;
+clock-names = "v3d", "peri_image", "h264", "isp";
+system-power-controller;
+};
-- 
2.30.0