Skip to contentSkip to conversation

dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema

PATCH In review Krzysztof Kozlowski 2 participants 9 messages Sep 7, 2019 – Sep 20, 2019

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.txt deleted +0 -35
deleted file mode 100644
index 46dcb48e75b4..000000000000
@@ -1,35 +0,0 @@
-* Samsung's Watchdog Timer Controller
-
-The Samsung's Watchdog controller is used for resuming system operation
-after a preset amount of time during which the WDT reset event has not
-occurred.
-
-Required properties:
-- compatible : should be one among the following
-	- "samsung,s3c2410-wdt" for S3C2410
-	- "samsung,s3c6410-wdt" for S3C6410, S5PV210 and Exynos4
-	- "samsung,exynos5250-wdt" for Exynos5250
-	- "samsung,exynos5420-wdt" for Exynos5420
-	- "samsung,exynos7-wdt" for Exynos7
-
-- reg : base physical address of the controller and length of memory mapped
-	region.
-- interrupts : interrupt number to the cpu.
-- samsung,syscon-phandle : reference to syscon node (This property required only
-	in case of compatible being "samsung,exynos5250-wdt" or "samsung,exynos5420-wdt".
-	In case of Exynos5250 and 5420 this property points to syscon node holding the PMU
-	base address)
-
-Optional properties:
-- timeout-sec : contains the watchdog timeout in seconds.
-
-Example:
-
-watchdog@101d0000 {
-	compatible = "samsung,exynos5250-wdt";
-	reg = <0x101D0000 0x100>;
-	interrupts = <0 42 0>;
-	clocks = <&clock 336>;
-	clock-names = "watchdog";
-	samsung,syscon-phandle = <&pmu_syscon>;
-};
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +69 -0

69 lines not on this page · raw message

Signature · 1 line
2.17.1
#1 lore raw

PATCH 2/2 dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog

The Samsung SoC watchdog driver always required providing a clock (either through platform data or from DT). However when bindings were added in commit 9487a9cc7140 ("watchdog: s3c2410: Add support for device tree based probe"), they missed the requirement of clock.

---
 .../devicetree/bindings/watchdog/samsung-wdt.yaml          | 7 +++++++
 1 file changed, 7 insertions(+)
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml +7 -0
index 39f1ca3bc4db..9edde497b040 100644
@@ -26,6 +26,13 @@ properties:
   reg:
     maxItems: 1
 
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: watchdog
+
   interrupts:
     maxItems: 1
 
Signature · 1 line
2.17.1
maintainer Reviewed-by on v1 2/2
#2 lore raw

Re: [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog

Quoted 10 lines · Krzysztof Kozlowski

The Samsung SoC watchdog driver always required providing a clock (either through platform data or from DT). However when bindings were added in commit 9487a9cc7140 ("watchdog: s3c2410: Add support for device tree based probe"), they missed the requirement of clock.

---
 .../devicetree/bindings/watchdog/samsung-wdt.yaml          | 7 +++++++
 1 file changed, 7 insertions(+)
maintainer
#3 lore raw
In reply to Krzysztof Kozlowski
Quoted 49 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +31 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 10 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +10 -0
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Also note that anything with a unit suffix already has a type definition, so we don't really need to define it again.

Quoted 31 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +28 -0
+
+required:
+  - compatible
+  - interrupts
+  - reg
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - samsung,exynos5250-wdt
+              - samsung,exynos5420-wdt
+    then:
+      required:
+        - samsung,syscon-phandle
+
+examples:
+  - |
+    watchdog@101d0000 {
+      compatible = "samsung,exynos5250-wdt";
+      reg = <0x101D0000 0x100>;
+      interrupts = <0 42 0>;
+      clocks = <&clock 336>;
+      clock-names = "watchdog";
+      samsung,syscon-phandle = <&pmu_syscon>;
+    };
Signature · 1 line
2.17.1
#4 lore raw
Quoted 55 lines · Rob Herring
Quoted 53 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +35 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
Quoted 8 lines

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 6 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +6 -0
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Common schema in dt-schema or in Linux kernel bindings? If the latter, I can add it.

Quoted 2 lines

Also note that anything with a unit suffix already has a type definition, so we don't really need to define it again.

Right.

Best regards,
Krzysztof

maintainer
#5 lore raw
Quoted 66 lines · Krzysztof Kozlowski
Quoted 55 lines · Rob Herring
Quoted 53 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +35 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
Quoted 8 lines

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 6 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +6 -0
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Quoted 2 lines

Common schema in dt-schema or in Linux kernel bindings? If the latter, I can add it.

In the kernel is fine.

Rob

maintainer
#6 lore raw
Quoted 68 lines · Rob Herring
Quoted 66 lines · Krzysztof Kozlowski
Quoted 63 lines · Rob Herring
Quoted 49 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +31 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 10 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +10 -0
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Quoted 4 lines
Quoted 2 lines

Common schema in dt-schema or in Linux kernel bindings? If the latter, I can add it.

In the kernel is fine.

Actually, Maxime has already done one.

Rob

#7 lore raw
Quoted 69 lines · Rob Herring
Quoted 68 lines · Rob Herring
Quoted 66 lines · Krzysztof Kozlowski
Quoted 63 lines · Rob Herring
Quoted 49 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +31 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 10 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +10 -0
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

Common schema in dt-schema or in Linux kernel bindings? If the latter, I can add it.

In the kernel is fine.

Actually, Maxime has already done one.

I see. I'll use them then.

Best regards,
Krzysztof

#8 lore raw
In reply to Rob Herring
Quoted 67 lines · Rob Herring
Quoted 66 lines · Krzysztof Kozlowski
Quoted 63 lines · Rob Herring
Quoted 49 lines · Krzysztof Kozlowski

Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format using json-schema.

---
 .../bindings/watchdog/samsung-wdt.txt         | 35 ----------
 .../bindings/watchdog/samsung-wdt.yaml        | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 35 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +31 -0
new file mode 100644
index 000000000000..39f1ca3bc4db
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SoC Watchdog Timer Controller
+
+maintainers:
+  - Krzysztof Kozlowski <[email protected]>
+
+description: |+
+  The Samsung's Watchdog controller is used for resuming system operation
+  after a preset amount of time during which the WDT reset event has not
+  occurred.
+
+properties:
+  compatible:
+    enum:
+      - samsung,s3c2410-wdt                   # for S3C2410
+      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
+      - samsung,exynos5250-wdt                # for Exynos5250
+      - samsung,exynos5420-wdt                # for Exynos5420
+      - samsung,exynos7-wdt                   # for Exynos7
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml line 41

Quoted 10 lines
Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml new file +10 -0
+  samsung,syscon-phandle:
+    $ref: '/schemas/types.yaml#/definitions/phandle'
+    description:
+      Phandle to the PMU system controller node (in case of Exynos5250
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.

We need a common schema for this and the node name.

Quoted 4 lines
Quoted 2 lines

Common schema in dt-schema or in Linux kernel bindings? If the latter, I can add it.

In the kernel is fine.

I'll add it in next version then.

Best regards,
Krzysztof