devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/1] Add StarFive JH8100 watchdog
@ 2023-12-14  3:30 Ji Sheng Teoh
  2023-12-14  3:30 ` [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100 Ji Sheng Teoh
  0 siblings, 1 reply; 4+ messages in thread
From: Ji Sheng Teoh @ 2023-12-14  3:30 UTC (permalink / raw)
  To: Xingyu Wu, Samin Guo, Wim Van Sebroeck, Guenter Roeck,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Ji Sheng Teoh, Ley Foon Tan, linux-watchdog, devicetree,
	linux-kernel

Changes since v2:
- Express JH8100 compatibility to JH7110 in dt-bindings.
- Rework min/maxItems constraint for JH8100 resets property.

Changes since v1:
- Drop "starfive,jh8100-wdt" compatible field in starfive-wdt.c,
  and express them in dt-bindings.
- Use minItems in resets field to cater for single reset signal
  in JH8100.
- Reword Watchdog reset to Core reset for JH8100.

StarFive's JH8100 watchdog reuses JH7100 register mapping.
DT-binding of JH7100 watchdog is extended to support JH8100.
Since JH8100 only uses 1 reset signal, update the binding to
support one reset for "starfive,jh8100-wdt" compatible.

Ji Sheng Teoh (1):
  dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100

 .../watchdog/starfive,jh7100-wdt.yaml         | 48 ++++++++++++++++---
 1 file changed, 42 insertions(+), 6 deletions(-)

-- 
2.25.1


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

* [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100
  2023-12-14  3:30 [PATCH v3 0/1] Add StarFive JH8100 watchdog Ji Sheng Teoh
@ 2023-12-14  3:30 ` Ji Sheng Teoh
  2023-12-14  7:39   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Ji Sheng Teoh @ 2023-12-14  3:30 UTC (permalink / raw)
  To: Xingyu Wu, Samin Guo, Wim Van Sebroeck, Guenter Roeck,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Ji Sheng Teoh, Ley Foon Tan, linux-watchdog, devicetree,
	linux-kernel

Add "starfive,jh8100-wdt" compatible string for StarFive's JH8100
watchdog.
Since JH8100 watchdog only has 1 reset signal, update binding
document to support one reset for "starfive,jh8100-wdt" compatible.

Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
---
 .../watchdog/starfive,jh7100-wdt.yaml         | 48 ++++++++++++++++---
 1 file changed, 42 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
index 68f3f6fd08a6..79082c5f9971 100644
--- a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
@@ -19,14 +19,17 @@ description:
   isn't cleared, the watchdog will reset the system unless the watchdog
   reset is disabled.
 
-allOf:
-  - $ref: watchdog.yaml#
-
 properties:
   compatible:
-    enum:
-      - starfive,jh7100-wdt
-      - starfive,jh7110-wdt
+    oneOf:
+      - items:
+          - enum:
+              - starfive,jh7100-wdt
+              - starfive,jh7110-wdt
+      - items:
+          - enum:
+              - starfive,jh8100-wdt
+          - const: starfive,jh7110-wdt
 
   reg:
     maxItems: 1
@@ -45,10 +48,33 @@ properties:
       - const: core
 
   resets:
+    minItems: 1
     items:
       - description: APB reset
       - description: Core reset
 
+allOf:
+  - $ref: watchdog.yaml#
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - starfive,jh8100-wdt
+    then:
+      properties:
+        resets:
+          description: |
+            Must contain Core reset entry.
+          maxItems: 1
+    else:
+      properties:
+        resets:
+          description: |
+            Must contain APB reset and Core reset entry.
+          minItems: 2
+
 required:
   - compatible
   - reg
@@ -69,3 +95,13 @@ examples:
         resets = <&rst 99>,
                  <&rst 100>;
     };
+
+  - |
+    watchdog@12270000 {
+        compatible = "starfive,jh8100-wdt", "starfive,jh7110-wdt";
+        reg = <0x12270000 0x10000>;
+        clocks = <&clk 78>,
+                 <&clk 79>;
+        clock-names = "apb", "core";
+        resets = <&rst 15>;
+    };
-- 
2.25.1


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

* Re: [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100
  2023-12-14  3:30 ` [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100 Ji Sheng Teoh
@ 2023-12-14  7:39   ` Krzysztof Kozlowski
  2023-12-15  7:25     ` Ji Sheng Teoh
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-14  7:39 UTC (permalink / raw)
  To: Ji Sheng Teoh, Xingyu Wu, Samin Guo, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Ley Foon Tan, linux-watchdog, devicetree, linux-kernel

On 14/12/2023 04:30, Ji Sheng Teoh wrote:
> Add "starfive,jh8100-wdt" compatible string for StarFive's JH8100
> watchdog.
> Since JH8100 watchdog only has 1 reset signal, update binding
> document to support one reset for "starfive,jh8100-wdt" compatible.
> 
> Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
> Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
> ---
>  .../watchdog/starfive,jh7100-wdt.yaml         | 48 ++++++++++++++++---
>  1 file changed, 42 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> index 68f3f6fd08a6..79082c5f9971 100644
> --- a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> @@ -19,14 +19,17 @@ description:
>    isn't cleared, the watchdog will reset the system unless the watchdog
>    reset is disabled.
>  
> -allOf:
> -  - $ref: watchdog.yaml#
> -
>  properties:
>    compatible:
> -    enum:
> -      - starfive,jh7100-wdt
> -      - starfive,jh7110-wdt
> +    oneOf:
> +      - items:

Drop items, it wasn't here in the first place.

> +          - enum:
> +              - starfive,jh7100-wdt
> +              - starfive,jh7110-wdt
> +      - items:
> +          - enum:
> +              - starfive,jh8100-wdt
> +          - const: starfive,jh7110-wdt
>  
>    reg:
>      maxItems: 1
> @@ -45,10 +48,33 @@ properties:
>        - const: core
>  
>    resets:
> +    minItems: 1
>      items:
>        - description: APB reset
>        - description: Core reset

This is not valid for jh8100. Move it to else: part. Here maxItems: 2.

>  
> +allOf:

allOf goes after required:, see example-schema

> +  - $ref: watchdog.yaml#
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - starfive,jh8100-wdt
> +    then:
> +      properties:
> +        resets:
> +          description: |
> +            Must contain Core reset entry.
> +          maxItems: 1

Instead of both, items: with description.

> +    else:
> +      properties:
> +        resets:
> +          description: |
> +            Must contain APB reset and Core reset entry.
> +          minItems: 2
> +
>  required:
>    - compatible
>    - reg
> @@ -69,3 +95,13 @@ examples:
>          resets = <&rst 99>,
>                   <&rst 100>;
>      };
> +
> +  - |
> +    watchdog@12270000 {
> +        compatible = "starfive,jh8100-wdt", "starfive,jh7110-wdt";
> +        reg = <0x12270000 0x10000>;
> +        clocks = <&clk 78>,
> +                 <&clk 79>;

No need for new example with difference in one property.

Best regards,
Krzysztof


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

* Re: [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100
  2023-12-14  7:39   ` Krzysztof Kozlowski
@ 2023-12-15  7:25     ` Ji Sheng Teoh
  0 siblings, 0 replies; 4+ messages in thread
From: Ji Sheng Teoh @ 2023-12-15  7:25 UTC (permalink / raw)
  To: krzysztof.kozlowski
  Cc: conor+dt, devicetree, jisheng.teoh, krzysztof.kozlowski+dt,
	leyfoon.tan, linux-kernel, linux-watchdog, linux, robh+dt,
	samin.guo, wim, xingyu.wu

On Thu, 14 Dec 2023 08:39:46 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:

> On 14/12/2023 04:30, Ji Sheng Teoh wrote:
> > Add "starfive,jh8100-wdt" compatible string for StarFive's JH8100
> > watchdog.
> > Since JH8100 watchdog only has 1 reset signal, update binding
> > document to support one reset for "starfive,jh8100-wdt" compatible.
> > 
> > Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
> > Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
> > ---
> >  .../watchdog/starfive,jh7100-wdt.yaml         | 48
> > ++++++++++++++++--- 1 file changed, 42 insertions(+), 6 deletions(-)
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> > b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> > index 68f3f6fd08a6..79082c5f9971 100644 ---
> > a/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> > +++
> > b/Documentation/devicetree/bindings/watchdog/starfive,jh7100-wdt.yaml
> > @@ -19,14 +19,17 @@ description: isn't cleared, the watchdog will
> > reset the system unless the watchdog reset is disabled. -allOf:
> > -  - $ref: watchdog.yaml#
> > -
> >  properties:
> >    compatible:
> > -    enum:
> > -      - starfive,jh7100-wdt
> > -      - starfive,jh7110-wdt
> > +    oneOf:
> > +      - items:  
> 
> Drop items, it wasn't here in the first place.

Ok, will drop.
> 
> > +          - enum:
> > +              - starfive,jh7100-wdt
> > +              - starfive,jh7110-wdt
> > +      - items:
> > +          - enum:
> > +              - starfive,jh8100-wdt
> > +          - const: starfive,jh7110-wdt
> >  
> >    reg:
> >      maxItems: 1
> > @@ -45,10 +48,33 @@ properties:
> >        - const: core
> >  
> >    resets:
> > +    minItems: 1
> >      items:
> >        - description: APB reset
> >        - description: Core reset  
> 
> This is not valid for jh8100. Move it to else: part. Here maxItems: 2.
>
Sure, will replace with maxItems.
 
> >  
> > +allOf:  
> 
> allOf goes after required:, see example-schema
> 
Ok, will move it after required.

> > +  - $ref: watchdog.yaml#
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - starfive,jh8100-wdt
> > +    then:
> > +      properties:
> > +        resets:
> > +          description: |
> > +            Must contain Core reset entry.
> > +          maxItems: 1  
> 
> Instead of both, items: with description.
> 
Sure, will use items instead.

> > +    else:
> > +      properties:
> > +        resets:
> > +          description: |
> > +            Must contain APB reset and Core reset entry.
> > +          minItems: 2
> > +
> >  required:
> >    - compatible
> >    - reg
> > @@ -69,3 +95,13 @@ examples:
> >          resets = <&rst 99>,
> >                   <&rst 100>;
> >      };
> > +
> > +  - |
> > +    watchdog@12270000 {
> > +        compatible = "starfive,jh8100-wdt", "starfive,jh7110-wdt";
> > +        reg = <0x12270000 0x10000>;
> > +        clocks = <&clk 78>,
> > +                 <&clk 79>;  
> 
> No need for new example with difference in one property.

Ok, will drop the new example. Thanks
> 
> Best regards,
> Krzysztof
> 


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

end of thread, other threads:[~2023-12-15  7:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-14  3:30 [PATCH v3 0/1] Add StarFive JH8100 watchdog Ji Sheng Teoh
2023-12-14  3:30 ` [PATCH v3 1/1] dt-bindings: watchdog: starfive,jh7100-wdt: Add compatible for JH8100 Ji Sheng Teoh
2023-12-14  7:39   ` Krzysztof Kozlowski
2023-12-15  7:25     ` Ji Sheng Teoh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).