Linux-Watchdog Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema
@ 2019-09-07 14:45 Krzysztof Kozlowski
  2019-09-07 14:45 ` [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog Krzysztof Kozlowski
  2019-09-13 14:36 ` [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Rob Herring
  0 siblings, 2 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2019-09-07 14:45 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
	linux-watchdog, devicetree, linux-kernel
  Cc: Krzysztof Kozlowski

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

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../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

diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
deleted file mode 100644
index 46dcb48e75b4..000000000000
--- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
+++ /dev/null
@@ -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>;
-};
diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
new file mode 100644
index 000000000000..39f1ca3bc4db
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
@@ -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 <krzk@kernel.org>
+
+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
+      and Exynos5420).
+
+  timeout-sec:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Watchdog timeout in seconds.
+
+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>;
+    };
-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog
  2019-09-07 14:45 [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Krzysztof Kozlowski
@ 2019-09-07 14:45 ` Krzysztof Kozlowski
  2019-09-13 14:36   ` Rob Herring
  2019-09-13 14:36 ` [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Rob Herring
  1 sibling, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2019-09-07 14:45 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
	linux-watchdog, devicetree, linux-kernel
  Cc: 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.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../devicetree/bindings/watchdog/samsung-wdt.yaml          | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
index 39f1ca3bc4db..9edde497b040 100644
--- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
@@ -26,6 +26,13 @@ properties:
   reg:
     maxItems: 1
 
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: watchdog
+
   interrupts:
     maxItems: 1
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema
  2019-09-07 14:45 [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Krzysztof Kozlowski
  2019-09-07 14:45 ` [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog Krzysztof Kozlowski
@ 2019-09-13 14:36 ` Rob Herring
  1 sibling, 0 replies; 4+ messages in thread
From: Rob Herring @ 2019-09-13 14:36 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Wim Van Sebroeck, Guenter Roeck, Mark Rutland, linux-watchdog,
	devicetree, linux-kernel

On Sat, Sep 07, 2019 at 04:45:40PM +0200, Krzysztof Kozlowski wrote:
> Convert Samsung S3C/S5P/Exynos watchdog bindings to DT schema format
> using json-schema.
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  .../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


> diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
> new file mode 100644
> index 000000000000..39f1ca3bc4db
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
> @@ -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 <krzk@kernel.org>
> +
> +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
> +      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.

> +
> +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>;
> +    };
> -- 
> 2.17.1
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog
  2019-09-07 14:45 ` [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog Krzysztof Kozlowski
@ 2019-09-13 14:36   ` Rob Herring
  0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2019-09-13 14:36 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Wim Van Sebroeck, Guenter Roeck, Mark Rutland, linux-watchdog,
	devicetree, linux-kernel

On Sat,  7 Sep 2019 16:45:41 +0200, Krzysztof Kozlowski wrote:
> 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.
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  .../devicetree/bindings/watchdog/samsung-wdt.yaml          | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-07 14:45 [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Krzysztof Kozlowski
2019-09-07 14:45 ` [PATCH 2/2] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog Krzysztof Kozlowski
2019-09-13 14:36   ` Rob Herring
2019-09-13 14:36 ` [PATCH 1/2] dt-bindings: watchdog: Convert Samsung SoC watchdog bindings to json-schema Rob Herring

Linux-Watchdog Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-watchdog/0 linux-watchdog/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-watchdog linux-watchdog/ https://lore.kernel.org/linux-watchdog \
		linux-watchdog@vger.kernel.org linux-watchdog@archiver.kernel.org
	public-inbox-index linux-watchdog


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-watchdog


AGPL code for this site: git clone https://public-inbox.org/ public-inbox