All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
@ 2023-12-06 15:57 Biju Das
  2023-12-06 15:57 ` [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description Biju Das
                   ` (8 more replies)
  0 siblings, 9 replies; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Biju Das, Support Opensource, Rafael J. Wysocki, Daniel Lezcano,
	Zhang Rui, Lukasz Luba, Steve Twiss, linux-input, devicetree,
	linux-pm, Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

Convert the below bindings to json-schema
1) DA906{1,2} mfd bindings
2) DA906{1,2,3} onkey bindings
3) DA906{1,2,3} thermal bindings

Also add fallback for DA9061 watchdog device and document
DA9063 watchdog device.

Note:

This patch series is same as v3.1 as it allows the tools (PW, b4)
to compare against previous versions.

The review comments/tags received for v4 + (a.k.a v3.1) will be
addressed in the next version(v5).

Link to v3.1: https://lore.kernel.org/all/20231204172510.35041-1-biju.das.jz@bp.renesas.com/

v3->v4:
 * Patch#1 is merge of patch#1 from v2 + patch#8 from v2.
 * Dropped comment for d9061 watchdog fallback
 * Replaced enum->const for dlg,da9061-watchdog and its fallback.
 * Restored patch#4 in series 1 and dropped the thermal example
 * Added Ack from Conor Dooley for da9063 watchdog binding support.
 * Updated title DA9062/61->DA906{1,2,3} as it supports DA9063.
 * Retained Rb tag since the changes are trivial.
 * Added Ack from Conor for updating watchdog property
 * Dropped link to product information.
 * Patch#5(onkey) is squashed with patch#6 and patch#9 from v2.
 * Replaced enum->const for dlg,da9061-onkey and its fallback.
 * Dropped example
 * Restored the thermal binding patch from v2.
 * Dropped example
 * Replaced enum->const for compatible property.
 * Added Rb tag from Rob and retained Rb tag as changes are trivial.
 * Added Ack from Conor Dooley for patch#7.
 * Split the thermal binding patch separate
 * Updated the description
v2->v3:
 * Updated Maintainer entries for watchdog,onkey and thermal bindings
 * Fixed bot errors related to MAINTAINERS entry, invalid doc
   references and thermal examples by merging patch#4. 
v1->v2:
 Link: https://lore.kernel.org/all/20231201110840.37408-5-biju.das.jz@bp.renesas.com/
 * DA9062 and DA9061 merged with DA9063
 * Sorted the child devices
 * mfd,onkey and thermal are pointing to child bindings

Biju Das (8):
  dt-bindings: mfd: da9062: Update watchdog description
  dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061
    watchdog
  dt-bindings: watchdog: dlg,da9062-watchdog: Document DA9063 watchdog
  dt-bindings: mfd: dlg,da9063: Update watchdog property
  dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
  dt-bindings: thermal: Convert da906{1,2} thermal to json-schema
  dt-bindings: mfd: dlg,da9063: Sort child devices
  dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema

 .../bindings/input/da9062-onkey.txt           |  47 ----
 .../bindings/input/dlg,da9062-onkey.yaml      |  39 ++++
 .../devicetree/bindings/mfd/da9062.txt        | 124 ----------
 .../devicetree/bindings/mfd/dlg,da9063.yaml   | 221 +++++++++++++++---
 .../bindings/thermal/da9062-thermal.txt       |  36 ---
 .../bindings/thermal/dlg,da9062-thermal.yaml  |  35 +++
 .../watchdog/dlg,da9062-watchdog.yaml         |  13 +-
 MAINTAINERS                                   |   6 +-
 8 files changed, 272 insertions(+), 249 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/da9062-onkey.txt
 create mode 100644 Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/da9062.txt
 delete mode 100644 Documentation/devicetree/bindings/thermal/da9062-thermal.txt
 create mode 100644 Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml

-- 
2.39.2


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

* [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-07  8:34   ` Krzysztof Kozlowski
  2023-12-06 15:57 ` [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog Biju Das
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, devicetree, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc

Update watchdog description by referring to dlg,da9062-watchdog binding
file.

Update MAINTAINERS entries.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v4:
 Merged with patch#8 from v2.
v3:
 New patch
---
 Documentation/devicetree/bindings/mfd/da9062.txt | 2 +-
 MAINTAINERS                                      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
index e4eedd3bd233..18463b7fbb42 100644
--- a/Documentation/devicetree/bindings/mfd/da9062.txt
+++ b/Documentation/devicetree/bindings/mfd/da9062.txt
@@ -86,7 +86,7 @@ Sub-nodes:
 
 - onkey : See ../input/da9062-onkey.txt
 
-- watchdog: See ../watchdog/da9062-wdt.txt
+- watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
 
 - thermal : See ../thermal/da9062-thermal.txt
 
diff --git a/MAINTAINERS b/MAINTAINERS
index 2f1cbb9917ec..fa3965f1bf0e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6119,7 +6119,7 @@ F:	Documentation/devicetree/bindings/regulator/dlg,da9*.yaml
 F:	Documentation/devicetree/bindings/regulator/dlg,slg51000.yaml
 F:	Documentation/devicetree/bindings/sound/da[79]*.txt
 F:	Documentation/devicetree/bindings/thermal/da90??-thermal.txt
-F:	Documentation/devicetree/bindings/watchdog/da90??-wdt.txt
+F:	Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
 F:	Documentation/hwmon/da90??.rst
 F:	drivers/gpio/gpio-da90??.c
 F:	drivers/hwmon/da90??-hwmon.c
-- 
2.39.2


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

* [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
  2023-12-06 15:57 ` [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-07  8:35   ` Krzysztof Kozlowski
  2023-12-06 15:57 ` [PATCH v4 3/8] dt-bindings: watchdog: dlg,da9062-watchdog: Document DA9063 watchdog Biju Das
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Wim Van Sebroeck, Guenter Roeck, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, Steve Twiss, linux-watchdog,
	devicetree, Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

The DA9061 watchdog is identical to DA9062 watchdog, so no driver changes
are required. The fallback compatible string "dlg,da9062-watchdog" will be
used on DA9061 watchdog.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
 * Dropped comment for d9061 watchdog fallback.
 * Replaced enum->const for dlg,da9061-watchdog and its fallback.
v2->v3:
 * No change
v2:
 * New patch
---
 .../bindings/watchdog/dlg,da9062-watchdog.yaml         | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
index f058628bb632..7c63b99dac85 100644
--- a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
+++ b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
@@ -14,9 +14,13 @@ allOf:
 
 properties:
   compatible:
-    enum: 
-      - dlg,da9061-watchdog
-      - dlg,da9062-watchdog
+    oneOf:
+      - items:
+          - enum:
+              - dlg,da9062-watchdog
+      - items:
+          - const: dlg,da9061-watchdog
+          - const: dlg,da9062-watchdog
 
   dlg,use-sw-pm:
     type: boolean
-- 
2.39.2


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

* [PATCH v4 3/8] dt-bindings: watchdog: dlg,da9062-watchdog: Document DA9063 watchdog
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
  2023-12-06 15:57 ` [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description Biju Das
  2023-12-06 15:57 ` [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-06 15:57 ` [PATCH v4 4/8] dt-bindings: mfd: dlg,da9063: Update watchdog property Biju Das
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Wim Van Sebroeck, Guenter Roeck, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, Steve Twiss, linux-watchdog,
	devicetree, Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc, Conor Dooley

Document DA9063 watchdog device as it is similar to DA9062 watchdog.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
v3->v4:
 * Added Ack from Conor Dooley.
 * Updated title DA9062/61->DA906{1,2,3} as it supports DA9063.
 * Retained Rb tag since the changes are trivial.
v2->v3:
 * No change
v2:
 * New patch
---
 .../devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
index 7c63b99dac85..d2088e308b45 100644
--- a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
+++ b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
@@ -4,7 +4,7 @@
 $id: http://devicetree.org/schemas/watchdog/dlg,da9062-watchdog.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Dialog Semiconductor DA9062/61 Watchdog Timer
+title: Dialog Semiconductor DA906{1,2,3} Watchdog Timer
 
 maintainers:
   - Steve Twiss <stwiss.opensource@diasemi.com>
@@ -18,6 +18,7 @@ properties:
       - items:
           - enum:
               - dlg,da9062-watchdog
+              - dlg,da9063-watchdog
       - items:
           - const: dlg,da9061-watchdog
           - const: dlg,da9062-watchdog
-- 
2.39.2


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

* [PATCH v4 4/8] dt-bindings: mfd: dlg,da9063: Update watchdog property
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (2 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 3/8] dt-bindings: watchdog: dlg,da9062-watchdog: Document DA9063 watchdog Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-06 15:57 ` [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema Biju Das
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, Steve Twiss, devicetree,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc, Conor Dooley

Update watchdog property by referring to dlg,da9062-watchdog binding file
and drop its definition from this file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
v3->v4:
 * Added Ack from Conor
 * Dropped link to product information.
v2->v3:
 * No change
v2:
 * New patch
---
 .../devicetree/bindings/mfd/dlg,da9063.yaml    | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
index c5a7e10d7d80..ce81e0b029cc 100644
--- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
@@ -35,21 +35,6 @@ properties:
   "#interrupt-cells":
     const: 2
 
-  dlg,use-sw-pm:
-    type: boolean
-    description:
-      Disable the watchdog during suspend.
-      Only use this option if you can't use the watchdog automatic suspend
-      function during a suspend (see register CONTROL_B).
-
-  watchdog:
-    type: object
-    $ref: /schemas/watchdog/watchdog.yaml#
-    unevaluatedProperties: false
-    properties:
-      compatible:
-        const: dlg,da9063-watchdog
-
   rtc:
     type: object
     $ref: /schemas/rtc/rtc.yaml#
@@ -82,6 +67,9 @@ properties:
         $ref: /schemas/regulator/regulator.yaml
         unevaluatedProperties: false
 
+  watchdog:
+    $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
+
 required:
   - compatible
   - reg
-- 
2.39.2


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

* [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (3 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 4/8] dt-bindings: mfd: dlg,da9063: Update watchdog property Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-07  8:37   ` Krzysztof Kozlowski
  2023-12-06 15:57 ` [PATCH v4 6/8] dt-bindings: thermal: Convert da906{1,2} thermal " Biju Das
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, linux-input, devicetree,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

Convert the da906{1,2,3} onkey device tree binding documentation to
json-schema.

Update MAINTAINERS entries, description and onkey property by
referring to dlg,da9062-onkey binding file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
 * Squashed with patch#6 and patch#9 from v2.
 * Replaced enum->const for dlg,da9061-onkey and its fallback.
 * Dropped example
v2->v3:
 * Updated MAINTAINERS entries.
v2:
 * New patch
---
 .../bindings/input/da9062-onkey.txt           | 47 -------------------
 .../bindings/input/dlg,da9062-onkey.yaml      | 40 ++++++++++++++++
 .../devicetree/bindings/mfd/da9062.txt        |  2 +-
 .../devicetree/bindings/mfd/dlg,da9063.yaml   | 15 +-----
 MAINTAINERS                                   |  2 +-
 5 files changed, 43 insertions(+), 63 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/da9062-onkey.txt
 create mode 100644 Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml

diff --git a/Documentation/devicetree/bindings/input/da9062-onkey.txt b/Documentation/devicetree/bindings/input/da9062-onkey.txt
deleted file mode 100644
index e5eef59a93dc..000000000000
--- a/Documentation/devicetree/bindings/input/da9062-onkey.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-* Dialog DA9061/62/63 OnKey Module
-
-This module is part of the DA9061/DA9062/DA9063. For more details about entire
-DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
-For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
-
-This module provides the KEY_POWER event.
-
-Required properties:
-
-- compatible: should be one of the following valid compatible string lines:
-	"dlg,da9061-onkey", "dlg,da9062-onkey"
-	"dlg,da9062-onkey"
-	"dlg,da9063-onkey"
-
-Optional properties:
-
-- dlg,disable-key-power : Disable power-down using a long key-press. If this
-    entry exists the OnKey driver will remove support for the KEY_POWER key
-    press when triggered using a long press of the OnKey.
-
-Example: DA9063
-
-	pmic0: da9063@58 {
-		onkey {
-			compatible = "dlg,da9063-onkey";
-			dlg,disable-key-power;
-		};
-	};
-
-Example: DA9062
-
-	pmic0: da9062@58 {
-		onkey {
-			compatible = "dlg,da9062-onkey";
-			dlg,disable-key-power;
-		};
-	};
-
-Example: DA9061 using a fall-back compatible for the DA9062 onkey driver
-
-	pmic0: da9061@58 {
-		onkey {
-			compatible = "dlg,da9061-onkey", "dlg,da9062-onkey";
-			dlg,disable-key-power;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
new file mode 100644
index 000000000000..4cff91f4bd34
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/dlg,da9062-onkey.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dialog DA9061/62/63 OnKey Module
+
+maintainers:
+  - Biju Das <biju.das.jz@bp.renesas.com>
+
+description: |
+  This module is part of the DA9061/DA9062/DA9063. For more details about entire
+  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
+  For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+
+  This module provides the KEY_POWER event.
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - dlg,da9062-onkey
+              - dlg,da9063-onkey
+      - items:
+          - const: dlg,da9061-onkey
+          - const: dlg,da9062-onkey
+
+  dlg,disable-key-power:
+    type: boolean
+    description:
+      Disable power-down using a long key-press. If this entry exists
+      the OnKey driver will remove support for the KEY_POWER key press
+      when triggered using a long press of the OnKey.
+
+required:
+  - compatible
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
index 18463b7fbb42..154c31fa4443 100644
--- a/Documentation/devicetree/bindings/mfd/da9062.txt
+++ b/Documentation/devicetree/bindings/mfd/da9062.txt
@@ -84,7 +84,7 @@ Sub-nodes:
   with the DA9062. There are currently no entries in this binding, however
   compatible = "dlg,da9062-rtc" should be added if a node is created.
 
-- onkey : See ../input/da9062-onkey.txt
+- onkey : See ../input/dlg,da9062-onkey.yaml
 
 - watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
 
diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
index ce81e0b029cc..1e5a847a6be2 100644
--- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
@@ -44,20 +44,7 @@ properties:
         const: dlg,da9063-rtc
 
   onkey:
-    type: object
-    $ref: /schemas/input/input.yaml#
-    unevaluatedProperties: false
-    properties:
-      compatible:
-        const: dlg,da9063-onkey
-
-      dlg,disable-key-power:
-        type: boolean
-        description: |
-          Disable power-down using a long key-press.
-          If this entry does not exist then by default the key-press triggered
-          power down is enabled and the OnKey will support both KEY_POWER and
-          KEY_SLEEP.
+    $ref: /schemas/input/dlg,da9062-onkey.yaml
 
   regulators:
     type: object
diff --git a/MAINTAINERS b/MAINTAINERS
index fa3965f1bf0e..ea171a18217c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6110,8 +6110,8 @@ DIALOG SEMICONDUCTOR DRIVERS
 M:	Support Opensource <support.opensource@diasemi.com>
 S:	Supported
 W:	http://www.dialog-semiconductor.com/products
-F:	Documentation/devicetree/bindings/input/da90??-onkey.txt
 F:	Documentation/devicetree/bindings/input/dlg,da72??.txt
+F:	Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
 F:	Documentation/devicetree/bindings/mfd/da90*.txt
 F:	Documentation/devicetree/bindings/mfd/dlg,da90*.yaml
 F:	Documentation/devicetree/bindings/regulator/da92*.txt
-- 
2.39.2


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

* [PATCH v4 6/8] dt-bindings: thermal: Convert da906{1,2} thermal to json-schema
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (4 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-06 15:57 ` [PATCH v4 7/8] dt-bindings: mfd: dlg,da9063: Sort child devices Biju Das
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, Rafael J. Wysocki, Daniel Lezcano,
	Zhang Rui, Lukasz Luba, devicetree, linux-pm, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc, Rob Herring

Convert the da906{1,2} thermal device tree binding documentation to
json-schema.

Update MAINTAINERS entries and description by referring to
dlg,da9062-thermal.yaml binding file.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
v3->v4:
 * Restored the patch from v2.
 * Dropped example
 * Replaced enum->const for compatible property.
 * Added Rb tag from Rob and retained Rb tag as changes are trivial.
v2->v3:
 * Fixed bot errors related to MAINTAINERS entry, invalid doc
   references and thermal examples by merging patch#4.
v2:
 * New patch
---
 .../devicetree/bindings/mfd/da9062.txt        |  2 +-
 .../bindings/thermal/da9062-thermal.txt       | 36 -------------------
 .../bindings/thermal/dlg,da9062-thermal.yaml  | 35 ++++++++++++++++++
 MAINTAINERS                                   |  2 +-
 4 files changed, 37 insertions(+), 38 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/thermal/da9062-thermal.txt
 create mode 100644 Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml

diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
index 154c31fa4443..c8a7f119ac84 100644
--- a/Documentation/devicetree/bindings/mfd/da9062.txt
+++ b/Documentation/devicetree/bindings/mfd/da9062.txt
@@ -88,7 +88,7 @@ Sub-nodes:
 
 - watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
 
-- thermal : See ../thermal/da9062-thermal.txt
+- thermal : See ../thermal/dlg,da9062-thermal.yaml
 
 Example:
 
diff --git a/Documentation/devicetree/bindings/thermal/da9062-thermal.txt b/Documentation/devicetree/bindings/thermal/da9062-thermal.txt
deleted file mode 100644
index e241bb5a5584..000000000000
--- a/Documentation/devicetree/bindings/thermal/da9062-thermal.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-* Dialog DA9062/61 TJUNC Thermal Module
-
-This module is part of the DA9061/DA9062. For more details about entire
-DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
-
-Junction temperature thermal module uses an interrupt signal to identify
-high THERMAL_TRIP_HOT temperatures for the PMIC device.
-
-Required properties:
-
-- compatible: should be one of the following valid compatible string lines:
-        "dlg,da9061-thermal", "dlg,da9062-thermal"
-        "dlg,da9062-thermal"
-
-Optional properties:
-
-- polling-delay-passive : Specify the polling period, measured in
-    milliseconds, between thermal zone device update checks.
-
-Example: DA9062
-
-	pmic0: da9062@58 {
-		thermal {
-			compatible = "dlg,da9062-thermal";
-			polling-delay-passive = <3000>;
-		};
-	};
-
-Example: DA9061 using a fall-back compatible for the DA9062 onkey driver
-
-	pmic0: da9061@58 {
-		thermal {
-			compatible = "dlg,da9061-thermal", "dlg,da9062-thermal";
-			polling-delay-passive = <3000>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml b/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
new file mode 100644
index 000000000000..206635f74850
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/dlg,da9062-thermal.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dialog DA9062/61 TJUNC Thermal Module
+
+maintainers:
+  - Biju Das <biju.das.jz@bp.renesas.com>
+
+description: |
+  This module is part of the DA9061/DA9062. For more details about entire
+  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
+
+  Junction temperature thermal module uses an interrupt signal to identify
+  high THERMAL_TRIP_HOT temperatures for the PMIC device.
+
+properties:
+  compatible:
+    oneOf:
+      - const: dlg,da9062-thermal
+      - items:
+          - const: dlg,da9061-thermal
+          - const: dlg,da9062-thermal
+
+  polling-delay-passive:
+    description:
+      Specify the polling period, measured in milliseconds, between
+      thermal zone device update checks.
+
+required:
+  - compatible
+
+additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index ea171a18217c..2676bda79de3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6118,7 +6118,7 @@ F:	Documentation/devicetree/bindings/regulator/da92*.txt
 F:	Documentation/devicetree/bindings/regulator/dlg,da9*.yaml
 F:	Documentation/devicetree/bindings/regulator/dlg,slg51000.yaml
 F:	Documentation/devicetree/bindings/sound/da[79]*.txt
-F:	Documentation/devicetree/bindings/thermal/da90??-thermal.txt
+F:	Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
 F:	Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
 F:	Documentation/hwmon/da90??.rst
 F:	drivers/gpio/gpio-da90??.c
-- 
2.39.2


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

* [PATCH v4 7/8] dt-bindings: mfd: dlg,da9063: Sort child devices
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (5 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 6/8] dt-bindings: thermal: Convert da906{1,2} thermal " Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-06 15:57 ` [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema Biju Das
  2023-12-07  8:38 ` [PATCH v4 0/8] Convert DA906{1,2} bindings " Krzysztof Kozlowski
  8 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Support Opensource, Steve Twiss, devicetree,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc, Conor Dooley

Sort child devices alphabetically.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
v3->v4:
 * Added Ack from Conor Dooley.
v2->v3:
 * No change
v2:
 * New patch
---
 .../devicetree/bindings/mfd/dlg,da9063.yaml      | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
index 1e5a847a6be2..676b4f2566ae 100644
--- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
@@ -35,14 +35,6 @@ properties:
   "#interrupt-cells":
     const: 2
 
-  rtc:
-    type: object
-    $ref: /schemas/rtc/rtc.yaml#
-    unevaluatedProperties: false
-    properties:
-      compatible:
-        const: dlg,da9063-rtc
-
   onkey:
     $ref: /schemas/input/dlg,da9062-onkey.yaml
 
@@ -54,6 +46,14 @@ properties:
         $ref: /schemas/regulator/regulator.yaml
         unevaluatedProperties: false
 
+  rtc:
+    type: object
+    $ref: /schemas/rtc/rtc.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: dlg,da9063-rtc
+
   watchdog:
     $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
 
-- 
2.39.2


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

* [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (6 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 7/8] dt-bindings: mfd: dlg,da9063: Sort child devices Biju Das
@ 2023-12-06 15:57 ` Biju Das
  2023-12-07  8:43   ` Krzysztof Kozlowski
  2023-12-07  8:38 ` [PATCH v4 0/8] Convert DA906{1,2} bindings " Krzysztof Kozlowski
  8 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-06 15:57 UTC (permalink / raw)
  To: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Lee Jones
  Cc: Biju Das, Support Opensource, Rafael J. Wysocki, Daniel Lezcano,
	Zhang Rui, Lukasz Luba, Steve Twiss, linux-input, devicetree,
	linux-pm, Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

Convert the da9062 PMIC device tree binding documentation to json-schema.

Update the example to match reality.

While at it, update description with link to product information.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
 * Split the thermal binding patch separate.
 * Updated the description.
v2->v3:
 * Fixed bot errors related to MAINTAINERS entry, invalid doc
   references and thermal examples by merging patch#4.
v2:
 * New patch
---
 .../bindings/input/dlg,da9062-onkey.yaml      |   3 +-
 .../devicetree/bindings/mfd/da9062.txt        | 124 ------------
 .../devicetree/bindings/mfd/dlg,da9063.yaml   | 186 +++++++++++++++++-
 .../bindings/thermal/dlg,da9062-thermal.yaml  |   2 +-
 4 files changed, 183 insertions(+), 132 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/da9062.txt

diff --git a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
index 4cff91f4bd34..18b6a3f02c07 100644
--- a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
+++ b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
@@ -11,8 +11,7 @@ maintainers:
 
 description: |
   This module is part of the DA9061/DA9062/DA9063. For more details about entire
-  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
-  For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+  DA906{1,2,3} chips see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
 
   This module provides the KEY_POWER event.
 
diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
deleted file mode 100644
index c8a7f119ac84..000000000000
--- a/Documentation/devicetree/bindings/mfd/da9062.txt
+++ /dev/null
@@ -1,124 +0,0 @@
-* Dialog DA9062 Power Management Integrated Circuit (PMIC)
-
-Product information for the DA9062 and DA9061 devices can be found here:
-- https://www.dialog-semiconductor.com/products/da9062
-- https://www.dialog-semiconductor.com/products/da9061
-
-The DA9062 PMIC consists of:
-
-Device                   Supply Names    Description
-------                   ------------    -----------
-da9062-regulator        :               : LDOs & BUCKs
-da9062-rtc              :               : Real-Time Clock
-da9062-onkey            :               : On Key
-da9062-watchdog         :               : Watchdog Timer
-da9062-thermal          :               : Thermal
-da9062-gpio             :               : GPIOs
-
-The DA9061 PMIC consists of:
-
-Device                   Supply Names    Description
-------                   ------------    -----------
-da9062-regulator        :               : LDOs & BUCKs
-da9062-onkey            :               : On Key
-da9062-watchdog         :               : Watchdog Timer
-da9062-thermal          :               : Thermal
-
-======
-
-Required properties:
-
-- compatible : Should be
-    "dlg,da9062" for DA9062
-    "dlg,da9061" for DA9061
-- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
-  modified to match the chip's OTP settings).
-
-Optional properties:
-
-- gpio-controller : Marks the device as a gpio controller.
-- #gpio-cells     : Should be two. The first cell is the pin number and the
-                    second cell is used to specify the gpio polarity.
-
-See Documentation/devicetree/bindings/gpio/gpio.txt for further information on
-GPIO bindings.
-
-- interrupts : IRQ line information.
-- interrupt-controller
-
-See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
-further information on IRQ bindings.
-
-Sub-nodes:
-
-- regulators : This node defines the settings for the LDOs and BUCKs.
-  The DA9062 regulators are bound using their names listed below:
-
-    buck1    : BUCK_1
-    buck2    : BUCK_2
-    buck3    : BUCK_3
-    buck4    : BUCK_4
-    ldo1     : LDO_1
-    ldo2     : LDO_2
-    ldo3     : LDO_3
-    ldo4     : LDO_4
-
-  The DA9061 regulators are bound using their names listed below:
-
-    buck1    : BUCK_1
-    buck2    : BUCK_2
-    buck3    : BUCK_3
-    ldo1     : LDO_1
-    ldo2     : LDO_2
-    ldo3     : LDO_3
-    ldo4     : LDO_4
-
-  The component follows the standard regulator framework and the bindings
-  details of individual regulator device can be found in:
-  Documentation/devicetree/bindings/regulator/regulator.txt
-
-  regulator-initial-mode may be specified for buck regulators using mode values
-  from include/dt-bindings/regulator/dlg,da9063-regulator.h.
-
-- rtc : This node defines settings required for the Real-Time Clock associated
-  with the DA9062. There are currently no entries in this binding, however
-  compatible = "dlg,da9062-rtc" should be added if a node is created.
-
-- onkey : See ../input/dlg,da9062-onkey.yaml
-
-- watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
-
-- thermal : See ../thermal/dlg,da9062-thermal.yaml
-
-Example:
-
-	pmic0: da9062@58 {
-		compatible = "dlg,da9062";
-		reg = <0x58>;
-		interrupt-parent = <&gpio6>;
-		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
-		interrupt-controller;
-
-		rtc {
-			compatible = "dlg,da9062-rtc";
-		};
-
-		regulators {
-			DA9062_BUCK1: buck1 {
-				regulator-name = "BUCK1";
-				regulator-min-microvolt = <300000>;
-				regulator-max-microvolt = <1570000>;
-				regulator-min-microamp = <500000>;
-				regulator-max-microamp = <2000000>;
-				regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
-				regulator-boot-on;
-			};
-			DA9062_LDO1: ldo1 {
-				regulator-name = "LDO_1";
-				regulator-min-microvolt = <900000>;
-				regulator-max-microvolt = <3600000>;
-				regulator-boot-on;
-			};
-		};
-	};
-
diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
index 676b4f2566ae..54bb23dbc73f 100644
--- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
+++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
@@ -4,7 +4,7 @@
 $id: http://devicetree.org/schemas/mfd/dlg,da9063.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)
+title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit (PMIC)
 
 maintainers:
   - Steve Twiss <stwiss.opensource@diasemi.com>
@@ -17,10 +17,17 @@ description: |
   moment where all voltage monitors are disabled. Next, as da9063 only supports
   UV *and* OV monitoring, both must be set to the same severity and value
   (0: disable, 1: enable).
+  Product information for the DA906{3L,3,2,1} devices can be found here:
+  - https://www.dialog-semiconductor.com/products/da9063l
+  - https://www.dialog-semiconductor.com/products/da9063
+  - https://www.dialog-semiconductor.com/products/da9062
+  - https://www.dialog-semiconductor.com/products/da9061
 
 properties:
   compatible:
     enum:
+      - dlg,da9061
+      - dlg,da9062
       - dlg,da9063
       - dlg,da9063l
 
@@ -35,6 +42,19 @@ properties:
   "#interrupt-cells":
     const: 2
 
+  gpio:
+    type: object
+    $ref: /schemas/gpio/gpio.yaml#
+    unevaluatedProperties: false
+    properties:
+      compatible:
+        const: dlg,da9062-gpio
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+
   onkey:
     $ref: /schemas/input/dlg,da9062-onkey.yaml
 
@@ -42,7 +62,7 @@ properties:
     type: object
     additionalProperties: false
     patternProperties:
-      "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$":
+      "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
         $ref: /schemas/regulator/regulator.yaml
         unevaluatedProperties: false
 
@@ -52,7 +72,12 @@ properties:
     unevaluatedProperties: false
     properties:
       compatible:
-        const: dlg,da9063-rtc
+        enum:
+          - dlg,da9063-rtc
+          - dlg,da9062-rtc
+
+  thermal:
+    $ref: /schemas/thermal/dlg,da9062-thermal.yaml
 
   watchdog:
     $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
@@ -60,8 +85,65 @@ properties:
 required:
   - compatible
   - reg
-  - interrupts
-  - interrupt-controller
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - dlg,da9063
+              - dlg,da9063l
+    then:
+      properties:
+        thermal: false
+        gpio: false
+        gpio-controller: false
+        "#gpio-cells": false
+        regulators:
+          patternProperties:
+            "^buck[1-4]$": false
+      required:
+        - interrupts
+        - interrupt-controller
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - dlg,da9062
+    then:
+      properties:
+        regulators:
+          patternProperties:
+            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
+      required:
+        - gpio
+        - onkey
+        - rtc
+        - thermal
+        - watchdog
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - dlg,da9061
+    then:
+      properties:
+        gpio: false
+        gpio-controller: false
+        "#gpio-cells": false
+        regulators:
+          patternProperties:
+            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
+        rtc: false
+      required:
+        - onkey
+        - thermal
+        - watchdog
 
 additionalProperties: false
 
@@ -118,4 +200,98 @@ examples:
         };
       };
     };
+
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+      pmic@58 {
+        compatible = "dlg,da9062";
+        reg = <0x58>;
+        #interrupt-cells = <2>;
+        interrupt-parent = <&gpio1>;
+        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+        interrupt-controller;
+
+        gpio {
+          compatible = "dlg,da9062-gpio";
+          status = "disabled";
+        };
+
+        onkey {
+          compatible = "dlg,da9062-onkey";
+        };
+
+        regulators {
+          buck1 {
+            regulator-name = "vdd_arm";
+            regulator-min-microvolt = <925000>;
+            regulator-max-microvolt = <1380000>;
+            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
+            regulator-always-on;
+          };
+          buck2 {
+            regulator-name = "vdd_soc";
+            regulator-min-microvolt = <1150000>;
+            regulator-max-microvolt = <1380000>;
+            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
+            regulator-always-on;
+          };
+          buck3 {
+            regulator-name = "vdd_ddr3";
+            regulator-min-microvolt = <1500000>;
+            regulator-max-microvolt = <1500000>;
+            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
+            regulator-always-on;
+          };
+          buck4 {
+            regulator-name = "vdd_eth";
+            regulator-min-microvolt = <1200000>;
+            regulator-max-microvolt = <1200000>;
+            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
+            regulator-always-on;
+          };
+          ldo1 {
+            regulator-name = "vdd_snvs";
+            regulator-min-microvolt = <3000000>;
+            regulator-max-microvolt = <3000000>;
+            regulator-always-on;
+          };
+          ldo2 {
+            regulator-name = "vdd_high";
+            regulator-min-microvolt = <3000000>;
+            regulator-max-microvolt = <3000000>;
+            regulator-always-on;
+          };
+          ldo3 {
+            regulator-name = "vdd_eth_io";
+            regulator-min-microvolt = <2500000>;
+            regulator-max-microvolt = <2500000>;
+          };
+          ldo4 {
+            regulator-name = "vdd_emmc";
+            regulator-min-microvolt = <1800000>;
+            regulator-max-microvolt = <1800000>;
+            regulator-always-on;
+          };
+        };
+
+        rtc {
+          compatible = "dlg,da9062-rtc";
+          status = "disabled";
+        };
+
+        thermal {
+          compatible = "dlg,da9062-thermal";
+          status = "disabled";
+        };
+
+        watchdog {
+          compatible = "dlg,da9062-watchdog";
+          dlg,use-sw-pm;
+        };
+      };
+    };
 ...
diff --git a/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml b/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
index 206635f74850..e8b2cac41084 100644
--- a/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
+++ b/Documentation/devicetree/bindings/thermal/dlg,da9062-thermal.yaml
@@ -11,7 +11,7 @@ maintainers:
 
 description: |
   This module is part of the DA9061/DA9062. For more details about entire
-  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
+  DA906{1,2} chips see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
 
   Junction temperature thermal module uses an interrupt signal to identify
   high THERMAL_TRIP_HOT temperatures for the PMIC device.
-- 
2.39.2


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

* Re: [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description
  2023-12-06 15:57 ` [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description Biju Das
@ 2023-12-07  8:34   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  8:34 UTC (permalink / raw)
  To: Biju Das, Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, devicetree, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc

On 06/12/2023 16:57, Biju Das wrote:
> Update watchdog description by referring to dlg,da9062-watchdog binding
> file.
> 
> Update MAINTAINERS entries.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v4:
>  Merged with patch#8 from v2.
> v3:
>  New patch
> ---
>  Documentation/devicetree/bindings/mfd/da9062.txt | 2 +-
>  MAINTAINERS                                      | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog
  2023-12-06 15:57 ` [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog Biju Das
@ 2023-12-07  8:35   ` Krzysztof Kozlowski
  2023-12-07 16:41     ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  8:35 UTC (permalink / raw)
  To: Biju Das, Lee Jones, Wim Van Sebroeck, Guenter Roeck,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Steve Twiss, linux-watchdog, devicetree,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

On 06/12/2023 16:57, Biju Das wrote:
> The DA9061 watchdog is identical to DA9062 watchdog, so no driver changes
> are required. The fallback compatible string "dlg,da9062-watchdog" will be
> used on DA9061 watchdog.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v3->v4:
>  * Dropped comment for d9061 watchdog fallback.
>  * Replaced enum->const for dlg,da9061-watchdog and its fallback.
> v2->v3:
>  * No change
> v2:
>  * New patch
> ---
>  .../bindings/watchdog/dlg,da9062-watchdog.yaml         | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> index f058628bb632..7c63b99dac85 100644
> --- a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> @@ -14,9 +14,13 @@ allOf:
>  
>  properties:
>    compatible:
> -    enum: 
> -      - dlg,da9061-watchdog
> -      - dlg,da9062-watchdog
> +    oneOf:
> +      - items:

Drop items, just enum. Easier to read so usually we keep such syntax for
compatibles.

> +          - enum:
> +              - dlg,da9062-watchdog
> +      - items:
> +          - const: dlg,da9061-watchdog
> +          - const: dlg,da9062-watchdog


Best regards,
Krzysztof


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

* Re: [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
  2023-12-06 15:57 ` [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema Biju Das
@ 2023-12-07  8:37   ` Krzysztof Kozlowski
  2023-12-07 16:42     ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  8:37 UTC (permalink / raw)
  To: Biju Das, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Support Opensource, linux-input, devicetree, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc

On 06/12/2023 16:57, Biju Das wrote:
> Convert the da906{1,2,3} onkey device tree binding documentation to
> json-schema.
> 
> Update MAINTAINERS entries, description and onkey property by
> referring to dlg,da9062-onkey binding file.
> 

...

> +---
> +$id: http://devicetree.org/schemas/input/dlg,da9062-onkey.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Dialog DA9061/62/63 OnKey Module
> +
> +maintainers:
> +  - Biju Das <biju.das.jz@bp.renesas.com>
> +
> +description: |
> +  This module is part of the DA9061/DA9062/DA9063. For more details about entire
> +  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
> +  For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> +
> +  This module provides the KEY_POWER event.
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:

Drop items


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof


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

* Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
  2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
                   ` (7 preceding siblings ...)
  2023-12-06 15:57 ` [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema Biju Das
@ 2023-12-07  8:38 ` Krzysztof Kozlowski
  2023-12-07  9:01   ` Biju Das
  8 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  8:38 UTC (permalink / raw)
  To: Biju Das, Lee Jones, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

On 06/12/2023 16:57, Biju Das wrote:
> Convert the below bindings to json-schema
> 1) DA906{1,2} mfd bindings
> 2) DA906{1,2,3} onkey bindings
> 3) DA906{1,2,3} thermal bindings
> 
> Also add fallback for DA9061 watchdog device and document
> DA9063 watchdog device.

Please explain here dependencies and make clear merging strategy. The
patches cannot be taken independently.

Best regards,
Krzysztof


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

* Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-06 15:57 ` [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema Biju Das
@ 2023-12-07  8:43   ` Krzysztof Kozlowski
  2023-12-07 17:03     ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  8:43 UTC (permalink / raw)
  To: Biju Das, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, Biju Das,
	linux-renesas-soc

On 06/12/2023 16:57, Biju Das wrote:
> Convert the da9062 PMIC device tree binding documentation to json-schema.
> 
> Update the example to match reality.
> 
> While at it, update description with link to product information.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v3->v4:
>  * Split the thermal binding patch separate.
>  * Updated the description.
> v2->v3:
>  * Fixed bot errors related to MAINTAINERS entry, invalid doc
>    references and thermal examples by merging patch#4.
> v2:
>  * New patch
> ---
>  .../bindings/input/dlg,da9062-onkey.yaml      |   3 +-
>  .../devicetree/bindings/mfd/da9062.txt        | 124 ------------
>  .../devicetree/bindings/mfd/dlg,da9063.yaml   | 186 +++++++++++++++++-
>  .../bindings/thermal/dlg,da9062-thermal.yaml  |   2 +-
>  4 files changed, 183 insertions(+), 132 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/da9062.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> index 4cff91f4bd34..18b6a3f02c07 100644
> --- a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> +++ b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> @@ -11,8 +11,7 @@ maintainers:
>  
>  description: |
>    This module is part of the DA9061/DA9062/DA9063. For more details about entire
> -  DA9062 and DA9061 chips see Documentation/devicetree/bindings/mfd/da9062.txt
> -  For DA9063 see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> +  DA906{1,2,3} chips see Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
>  
>    This module provides the KEY_POWER event.
>  
> diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
> deleted file mode 100644
> index c8a7f119ac84..000000000000
> --- a/Documentation/devicetree/bindings/mfd/da9062.txt
> +++ /dev/null
> @@ -1,124 +0,0 @@
> -* Dialog DA9062 Power Management Integrated Circuit (PMIC)
> -
> -Product information for the DA9062 and DA9061 devices can be found here:
> -- https://www.dialog-semiconductor.com/products/da9062
> -- https://www.dialog-semiconductor.com/products/da9061
> -
> -The DA9062 PMIC consists of:
> -
> -Device                   Supply Names    Description
> -------                   ------------    -----------
> -da9062-regulator        :               : LDOs & BUCKs
> -da9062-rtc              :               : Real-Time Clock
> -da9062-onkey            :               : On Key
> -da9062-watchdog         :               : Watchdog Timer
> -da9062-thermal          :               : Thermal
> -da9062-gpio             :               : GPIOs
> -
> -The DA9061 PMIC consists of:
> -
> -Device                   Supply Names    Description
> -------                   ------------    -----------
> -da9062-regulator        :               : LDOs & BUCKs
> -da9062-onkey            :               : On Key
> -da9062-watchdog         :               : Watchdog Timer
> -da9062-thermal          :               : Thermal
> -
> -======
> -
> -Required properties:
> -
> -- compatible : Should be
> -    "dlg,da9062" for DA9062
> -    "dlg,da9061" for DA9061
> -- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
> -  modified to match the chip's OTP settings).
> -
> -Optional properties:
> -
> -- gpio-controller : Marks the device as a gpio controller.
> -- #gpio-cells     : Should be two. The first cell is the pin number and the
> -                    second cell is used to specify the gpio polarity.
> -
> -See Documentation/devicetree/bindings/gpio/gpio.txt for further information on
> -GPIO bindings.
> -
> -- interrupts : IRQ line information.
> -- interrupt-controller
> -
> -See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
> -further information on IRQ bindings.
> -
> -Sub-nodes:
> -
> -- regulators : This node defines the settings for the LDOs and BUCKs.
> -  The DA9062 regulators are bound using their names listed below:
> -
> -    buck1    : BUCK_1
> -    buck2    : BUCK_2
> -    buck3    : BUCK_3
> -    buck4    : BUCK_4
> -    ldo1     : LDO_1
> -    ldo2     : LDO_2
> -    ldo3     : LDO_3
> -    ldo4     : LDO_4
> -
> -  The DA9061 regulators are bound using their names listed below:
> -
> -    buck1    : BUCK_1
> -    buck2    : BUCK_2
> -    buck3    : BUCK_3
> -    ldo1     : LDO_1
> -    ldo2     : LDO_2
> -    ldo3     : LDO_3
> -    ldo4     : LDO_4
> -
> -  The component follows the standard regulator framework and the bindings
> -  details of individual regulator device can be found in:
> -  Documentation/devicetree/bindings/regulator/regulator.txt
> -
> -  regulator-initial-mode may be specified for buck regulators using mode values
> -  from include/dt-bindings/regulator/dlg,da9063-regulator.h.
> -
> -- rtc : This node defines settings required for the Real-Time Clock associated
> -  with the DA9062. There are currently no entries in this binding, however
> -  compatible = "dlg,da9062-rtc" should be added if a node is created.
> -
> -- onkey : See ../input/dlg,da9062-onkey.yaml
> -
> -- watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
> -
> -- thermal : See ../thermal/dlg,da9062-thermal.yaml
> -
> -Example:
> -
> -	pmic0: da9062@58 {
> -		compatible = "dlg,da9062";
> -		reg = <0x58>;
> -		interrupt-parent = <&gpio6>;
> -		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
> -		interrupt-controller;
> -
> -		rtc {
> -			compatible = "dlg,da9062-rtc";
> -		};
> -
> -		regulators {
> -			DA9062_BUCK1: buck1 {
> -				regulator-name = "BUCK1";
> -				regulator-min-microvolt = <300000>;
> -				regulator-max-microvolt = <1570000>;
> -				regulator-min-microamp = <500000>;
> -				regulator-max-microamp = <2000000>;
> -				regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
> -				regulator-boot-on;
> -			};
> -			DA9062_LDO1: ldo1 {
> -				regulator-name = "LDO_1";
> -				regulator-min-microvolt = <900000>;
> -				regulator-max-microvolt = <3600000>;
> -				regulator-boot-on;
> -			};
> -		};
> -	};
> -
> diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> index 676b4f2566ae..54bb23dbc73f 100644
> --- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> +++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> @@ -4,7 +4,7 @@
>  $id: http://devicetree.org/schemas/mfd/dlg,da9063.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)
> +title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit (PMIC)
>  
>  maintainers:
>    - Steve Twiss <stwiss.opensource@diasemi.com>
> @@ -17,10 +17,17 @@ description: |
>    moment where all voltage monitors are disabled. Next, as da9063 only supports
>    UV *and* OV monitoring, both must be set to the same severity and value
>    (0: disable, 1: enable).
> +  Product information for the DA906{3L,3,2,1} devices can be found here:
> +  - https://www.dialog-semiconductor.com/products/da9063l
> +  - https://www.dialog-semiconductor.com/products/da9063
> +  - https://www.dialog-semiconductor.com/products/da9062
> +  - https://www.dialog-semiconductor.com/products/da9061
>  
>  properties:
>    compatible:
>      enum:
> +      - dlg,da9061
> +      - dlg,da9062
>        - dlg,da9063
>        - dlg,da9063l
>  
> @@ -35,6 +42,19 @@ properties:
>    "#interrupt-cells":
>      const: 2
>  
> +  gpio:

Old binding did not have such node and nothing in commit msg explained
changes from pure conversion.

> +    type: object
> +    $ref: /schemas/gpio/gpio.yaml#

?!? Why? First: It's always selected. Second, so you have two gpio
controllers? And original binding had 0? Why this is not explained at
all? Open the binding and look at its properties.


> +    unevaluatedProperties: false
> +    properties:
> +      compatible:
> +        const: dlg,da9062-gpio
> +
> +  gpio-controller: true

And here is the second gpio-controller...

> +
> +  "#gpio-cells":
> +    const: 2
> +
>    onkey:
>      $ref: /schemas/input/dlg,da9062-onkey.yaml
>  
> @@ -42,7 +62,7 @@ properties:
>      type: object
>      additionalProperties: false
>      patternProperties:
> -      "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$":
> +      "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
>          $ref: /schemas/regulator/regulator.yaml
>          unevaluatedProperties: false
>  
> @@ -52,7 +72,12 @@ properties:
>      unevaluatedProperties: false
>      properties:
>        compatible:
> -        const: dlg,da9063-rtc
> +        enum:
> +          - dlg,da9063-rtc
> +          - dlg,da9062-rtc
> +
> +  thermal:
> +    $ref: /schemas/thermal/dlg,da9062-thermal.yaml
>  
>    watchdog:
>      $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
> @@ -60,8 +85,65 @@ properties:
>  required:
>    - compatible
>    - reg
> -  - interrupts
> -  - interrupt-controller
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - dlg,da9063
> +              - dlg,da9063l
> +    then:
> +      properties:
> +        thermal: false
> +        gpio: false
> +        gpio-controller: false
> +        "#gpio-cells": false
> +        regulators:
> +          patternProperties:
> +            "^buck[1-4]$": false
> +      required:
> +        - interrupts
> +        - interrupt-controller
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - dlg,da9062
> +    then:
> +      properties:
> +        regulators:
> +          patternProperties:
> +            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
> +      required:
> +        - gpio
> +        - onkey
> +        - rtc
> +        - thermal
> +        - watchdog
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - dlg,da9061
> +    then:
> +      properties:
> +        gpio: false
> +        gpio-controller: false
> +        "#gpio-cells": false
> +        regulators:
> +          patternProperties:
> +            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
> +        rtc: false
> +      required:
> +        - onkey
> +        - thermal
> +        - watchdog
>  
>  additionalProperties: false
>  
> @@ -118,4 +200,98 @@ examples:
>          };
>        };
>      };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
> +    i2c {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +      pmic@58 {
> +        compatible = "dlg,da9062";
> +        reg = <0x58>;
> +        #interrupt-cells = <2>;
> +        interrupt-parent = <&gpio1>;
> +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> +        interrupt-controller;
> +
> +        gpio {
> +          compatible = "dlg,da9062-gpio";
> +          status = "disabled";

Why?
Where are gpio-controller and cells? For this node and for parent? Why
this example is incomplete?

> +        };
> +
> +        onkey {
> +          compatible = "dlg,da9062-onkey";
> +        };


Best regards,
Krzysztof


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

* RE: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
  2023-12-07  8:38 ` [PATCH v4 0/8] Convert DA906{1,2} bindings " Krzysztof Kozlowski
@ 2023-12-07  9:01   ` Biju Das
  2023-12-07  9:16     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-07  9:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Lee Jones, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski, Lee Jones,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, December 7, 2023 8:38 AM
> Subject: Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
> 
> On 06/12/2023 16:57, Biju Das wrote:
> > Convert the below bindings to json-schema
> > 1) DA906{1,2} mfd bindings
> > 2) DA906{1,2,3} onkey bindings
> > 3) DA906{1,2,3} thermal bindings
> >
> > Also add fallback for DA9061 watchdog device and document
> > DA9063 watchdog device.
> 
> Please explain here dependencies and make clear merging strategy. The
> patches cannot be taken independently.

Rob mentioned it needs to be taken through MFD tree. See [1]

[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20231202192536.266885-9-biju.das.jz@bp.renesas.com/#25620636

Cheers,
Biju

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

* Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
  2023-12-07  9:01   ` Biju Das
@ 2023-12-07  9:16     ` Krzysztof Kozlowski
  2023-12-07  9:20       ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  9:16 UTC (permalink / raw)
  To: Biju Das, Lee Jones, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

On 07/12/2023 10:01, Biju Das wrote:
> Hi Krzysztof Kozlowski, Lee Jones,
> 
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Thursday, December 7, 2023 8:38 AM
>> Subject: Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
>>
>> On 06/12/2023 16:57, Biju Das wrote:
>>> Convert the below bindings to json-schema
>>> 1) DA906{1,2} mfd bindings
>>> 2) DA906{1,2,3} onkey bindings
>>> 3) DA906{1,2,3} thermal bindings
>>>
>>> Also add fallback for DA9061 watchdog device and document
>>> DA9063 watchdog device.
>>
>> Please explain here dependencies and make clear merging strategy. The
>> patches cannot be taken independently.
> 
> Rob mentioned it needs to be taken through MFD tree. See [1]
> 

This I know, but you must explain it here - not in my reply, but in the
cover letter. No one will remember what was agreed days ago, not
mentioning that not everyone could read Rob's message. So how anyone
reading your cover letter could know it?

Best regards,
Krzysztof


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

* RE: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
  2023-12-07  9:16     ` Krzysztof Kozlowski
@ 2023-12-07  9:20       ` Biju Das
  0 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-07  9:20 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Lee Jones, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, December 7, 2023 9:16 AM
> Subject: Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema
> 
> On 07/12/2023 10:01, Biju Das wrote:
> > Hi Krzysztof Kozlowski, Lee Jones,
> >
> >> -----Original Message-----
> >> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >> Sent: Thursday, December 7, 2023 8:38 AM
> >> Subject: Re: [PATCH v4 0/8] Convert DA906{1,2} bindings to
> >> json-schema
> >>
> >> On 06/12/2023 16:57, Biju Das wrote:
> >>> Convert the below bindings to json-schema
> >>> 1) DA906{1,2} mfd bindings
> >>> 2) DA906{1,2,3} onkey bindings
> >>> 3) DA906{1,2,3} thermal bindings
> >>>
> >>> Also add fallback for DA9061 watchdog device and document
> >>> DA9063 watchdog device.
> >>
> >> Please explain here dependencies and make clear merging strategy. The
> >> patches cannot be taken independently.
> >
> > Rob mentioned it needs to be taken through MFD tree. See [1]
> >
> 
> This I know, but you must explain it here - not in my reply, but in the
> cover letter. No one will remember what was agreed days ago, not
> mentioning that not everyone could read Rob's message. So how anyone
> reading your cover letter could know it?

Agreed, Will mention it in cover letter.

Cheers,
Biju

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

* RE: [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog
  2023-12-07  8:35   ` Krzysztof Kozlowski
@ 2023-12-07 16:41     ` Biju Das
  0 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-07 16:41 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Lee Jones, Wim Van Sebroeck, Guenter Roeck,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, Steve Twiss, linux-watchdog, devicetree,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, December 7, 2023 8:35 AM
> Subject: Re: [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog:
> Add fallback for DA9061 watchdog
> 
> On 06/12/2023 16:57, Biju Das wrote:
> > The DA9061 watchdog is identical to DA9062 watchdog, so no driver
> > changes are required. The fallback compatible string
> > "dlg,da9062-watchdog" will be used on DA9061 watchdog.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v3->v4:
> >  * Dropped comment for d9061 watchdog fallback.
> >  * Replaced enum->const for dlg,da9061-watchdog and its fallback.
> > v2->v3:
> >  * No change
> > v2:
> >  * New patch
> > ---
> >  .../bindings/watchdog/dlg,da9062-watchdog.yaml         | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> > b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> > index f058628bb632..7c63b99dac85 100644
> > ---
> > a/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.yaml
> > +++ b/Documentation/devicetree/bindings/watchdog/dlg,da9062-watchdog.y
> > +++ aml
> > @@ -14,9 +14,13 @@ allOf:
> >
> >  properties:
> >    compatible:
> > -    enum:
> > -      - dlg,da9061-watchdog
> > -      - dlg,da9062-watchdog
> > +    oneOf:
> > +      - items:
> 
> Drop items, just enum. Easier to read so usually we keep such syntax for
> compatibles.

OK will do.

Cheers,
Biju

> 
> > +          - enum:
> > +              - dlg,da9062-watchdog
> > +      - items:
> > +          - const: dlg,da9061-watchdog
> > +          - const: dlg,da9062-watchdog
> 
> 
> Best regards,
> Krzysztof


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

* RE: [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
  2023-12-07  8:37   ` Krzysztof Kozlowski
@ 2023-12-07 16:42     ` Biju Das
  0 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-07 16:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Support Opensource, linux-input, devicetree, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, biju.das.au, linux-renesas-soc

Hi Krzysztof Kozlowski,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, December 7, 2023 8:37 AM
> Subject: Re: [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey
> to json-schema
> 
> On 06/12/2023 16:57, Biju Das wrote:
> > Convert the da906{1,2,3} onkey device tree binding documentation to
> > json-schema.
> >
> > Update MAINTAINERS entries, description and onkey property by
> > referring to dlg,da9062-onkey binding file.
> >
> 
> ...
> 
> > +---
> > +$id:
> > +
> > +title: Dialog DA9061/62/63 OnKey Module
> > +
> > +maintainers:
> > +  - Biju Das <biju.das.jz@bp.renesas.com>
> > +
> > +description: |
> > +  This module is part of the DA9061/DA9062/DA9063. For more details
> > +about entire
> > +  DA9062 and DA9061 chips see
> > +Documentation/devicetree/bindings/mfd/da9062.txt
> > +  For DA9063 see
> > +Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > +
> > +  This module provides the KEY_POWER event.
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> 
> Drop items

Agreed.

Cheers,
Biju

> 
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best
> regards, Krzysztof


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

* RE: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-07  8:43   ` Krzysztof Kozlowski
@ 2023-12-07 17:03     ` Biju Das
  2023-12-08  7:55       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-07 17:03 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski,

Thanks for the feedback.

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, December 7, 2023 8:44 AM
> Subject: Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062
> to json-schema
> 
> On 06/12/2023 16:57, Biju Das wrote:
> > Convert the da9062 PMIC device tree binding documentation to json-
> schema.
> >
> > Update the example to match reality.
> >
> > While at it, update description with link to product information.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v3->v4:
> >  * Split the thermal binding patch separate.
> >  * Updated the description.
> > v2->v3:
> >  * Fixed bot errors related to MAINTAINERS entry, invalid doc
> >    references and thermal examples by merging patch#4.
> > v2:
> >  * New patch
> > ---
> >  .../bindings/input/dlg,da9062-onkey.yaml      |   3 +-
> >  .../devicetree/bindings/mfd/da9062.txt        | 124 ------------
> >  .../devicetree/bindings/mfd/dlg,da9063.yaml   | 186 +++++++++++++++++-
> >  .../bindings/thermal/dlg,da9062-thermal.yaml  |   2 +-
> >  4 files changed, 183 insertions(+), 132 deletions(-)  delete mode
> > 100644 Documentation/devicetree/bindings/mfd/da9062.txt
> >
> > diff --git
> > a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> > b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> > index 4cff91f4bd34..18b6a3f02c07 100644
> > --- a/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> > +++ b/Documentation/devicetree/bindings/input/dlg,da9062-onkey.yaml
> > @@ -11,8 +11,7 @@ maintainers:
> >
> >  description: |
> >    This module is part of the DA9061/DA9062/DA9063. For more details
> > about entire
> > -  DA9062 and DA9061 chips see
> > Documentation/devicetree/bindings/mfd/da9062.txt
> > -  For DA9063 see
> > Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > +  DA906{1,2,3} chips see
> > + Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> >
> >    This module provides the KEY_POWER event.
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt
> > b/Documentation/devicetree/bindings/mfd/da9062.txt
> > deleted file mode 100644
> > index c8a7f119ac84..000000000000
> > --- a/Documentation/devicetree/bindings/mfd/da9062.txt
> > +++ /dev/null
> > @@ -1,124 +0,0 @@
> > -* Dialog DA9062 Power Management Integrated Circuit (PMIC)
> > -
> > -Product information for the DA9062 and DA9061 devices can be found
> here:
> > --
&sdata=yWQlq55fIMgsfBxaNXCj4zwBiK14xZcd6l3NYKVnAWM%3D&re
> > served=0
> > -
> > -The DA9062 PMIC consists of:
> > -
> > -Device                   Supply Names    Description
> > -------                   ------------    -----------
> > -da9062-regulator        :               : LDOs & BUCKs
> > -da9062-rtc              :               : Real-Time Clock
> > -da9062-onkey            :               : On Key
> > -da9062-watchdog         :               : Watchdog Timer
> > -da9062-thermal          :               : Thermal
> > -da9062-gpio             :               : GPIOs
> > -
> > -The DA9061 PMIC consists of:
> > -
> > -Device                   Supply Names    Description
> > -------                   ------------    -----------
> > -da9062-regulator        :               : LDOs & BUCKs
> > -da9062-onkey            :               : On Key
> > -da9062-watchdog         :               : Watchdog Timer
> > -da9062-thermal          :               : Thermal
> > -
> > -======
> > -
> > -Required properties:
> > -
> > -- compatible : Should be
> > -    "dlg,da9062" for DA9062
> > -    "dlg,da9061" for DA9061
> > -- reg : Specifies the I2C slave address (this defaults to 0x58 but it
> > can be
> > -  modified to match the chip's OTP settings).
> > -
> > -Optional properties:
> > -
> > -- gpio-controller : Marks the device as a gpio controller.
> > -- #gpio-cells     : Should be two. The first cell is the pin number and
> the
> > -                    second cell is used to specify the gpio polarity.
> > -
> > -See Documentation/devicetree/bindings/gpio/gpio.txt for further
> > information on -GPIO bindings.
> > -
> > -- interrupts : IRQ line information.
> > -- interrupt-controller
> > -
> > -See
> > Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
> for -further information on IRQ bindings.
> > -
> > -Sub-nodes:
> > -
> > -- regulators : This node defines the settings for the LDOs and BUCKs.
> > -  The DA9062 regulators are bound using their names listed below:
> > -
> > -    buck1    : BUCK_1
> > -    buck2    : BUCK_2
> > -    buck3    : BUCK_3
> > -    buck4    : BUCK_4
> > -    ldo1     : LDO_1
> > -    ldo2     : LDO_2
> > -    ldo3     : LDO_3
> > -    ldo4     : LDO_4
> > -
> > -  The DA9061 regulators are bound using their names listed below:
> > -
> > -    buck1    : BUCK_1
> > -    buck2    : BUCK_2
> > -    buck3    : BUCK_3
> > -    ldo1     : LDO_1
> > -    ldo2     : LDO_2
> > -    ldo3     : LDO_3
> > -    ldo4     : LDO_4
> > -
> > -  The component follows the standard regulator framework and the
> > bindings
> > -  details of individual regulator device can be found in:
> > -  Documentation/devicetree/bindings/regulator/regulator.txt
> > -
> > -  regulator-initial-mode may be specified for buck regulators using
> > mode values
> > -  from include/dt-bindings/regulator/dlg,da9063-regulator.h.
> > -
> > -- rtc : This node defines settings required for the Real-Time Clock
> > associated
> > -  with the DA9062. There are currently no entries in this binding,
> > however
> > -  compatible = "dlg,da9062-rtc" should be added if a node is created.
> > -
> > -- onkey : See ../input/dlg,da9062-onkey.yaml
> > -
> > -- watchdog: See ../watchdog/dlg,da9062-watchdog.yaml
> > -
> > -- thermal : See ../thermal/dlg,da9062-thermal.yaml
> > -
> > -Example:
> > -
> > -	pmic0: da9062@58 {
> > -		compatible = "dlg,da9062";
> > -		reg = <0x58>;
> > -		interrupt-parent = <&gpio6>;
> > -		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
> > -		interrupt-controller;
> > -
> > -		rtc {
> > -			compatible = "dlg,da9062-rtc";
> > -		};
> > -
> > -		regulators {
> > -			DA9062_BUCK1: buck1 {
> > -				regulator-name = "BUCK1";
> > -				regulator-min-microvolt = <300000>;
> > -				regulator-max-microvolt = <1570000>;
> > -				regulator-min-microamp = <500000>;
> > -				regulator-max-microamp = <2000000>;
> > -				regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
> > -				regulator-boot-on;
> > -			};
> > -			DA9062_LDO1: ldo1 {
> > -				regulator-name = "LDO_1";
> > -				regulator-min-microvolt = <900000>;
> > -				regulator-max-microvolt = <3600000>;
> > -				regulator-boot-on;
> > -			};
> > -		};
> > -	};
> > -
> > diff --git a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > index 676b4f2566ae..54bb23dbc73f 100644
> > --- a/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/dlg,da9063.yaml
> > @@ -4,7 +4,7 @@
> >  $id:
> >
> > -title: Dialog DA9063/DA9063L Power Management Integrated Circuit
> > (PMIC)
> > +title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit
> > +(PMIC)
> >
> >  maintainers:
> >    - Steve Twiss <stwiss.opensource@diasemi.com> @@ -17,10 +17,17 @@
> > description: |
> >    moment where all voltage monitors are disabled. Next, as da9063 only
> supports
> >    UV *and* OV monitoring, both must be set to the same severity and
> value
> >    (0: disable, 1: enable).
> > +  Product information for the DA906{3L,3,2,1} devices can be found
> here:
> > +  -
> >
> >  properties:
> >    compatible:
> >      enum:
> > +      - dlg,da9061
> > +      - dlg,da9062
> >        - dlg,da9063
> >        - dlg,da9063l
> >
> > @@ -35,6 +42,19 @@ properties:
> >    "#interrupt-cells":
> >      const: 2
> >
> > +  gpio:
> 
> Old binding did not have such node and nothing in commit msg explained
> changes from pure conversion.

OK will update the commit message. Check patch complained about undocumented compatible.

> 
> > +    type: object
> > +    $ref: /schemas/gpio/gpio.yaml#
> 
> ?!? Why? First: It's always selected. Second, so you have two gpio
> controllers? And original binding had 0? Why this is not explained at all?
> Open the binding and look at its properties.


I have referred[1] and [2] to add gpio controller property. 


[1]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi?h=next-20231207#n95

[2]

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/mfd/da9062.txt?h=next-20231207#n38

> 
> 
> > +    unevaluatedProperties: false
> > +    properties:
> > +      compatible:
> > +        const: dlg,da9062-gpio
> > +
> > +  gpio-controller: true
> 
> And here is the second gpio-controller...

So you mean it is redundant as $ref: /schemas/gpio/gpio.yaml
has already defined gpio-controller for this object??

> 
> > +
> > +  "#gpio-cells":
> > +    const: 2
> > +
> >    onkey:
> >      $ref: /schemas/input/dlg,da9062-onkey.yaml
> >
> > @@ -42,7 +62,7 @@ properties:
> >      type: object
> >      additionalProperties: false
> >      patternProperties:
> > -      "^(ldo([1-9]|1[01])|bcore([1-2]|s-
> merged)|b(pro|mem|io|peri)|bmem-bio-merged)$":
> > +      "^(ldo([1-9]|1[01])|bcore([1-2]|s-
> merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
> >          $ref: /schemas/regulator/regulator.yaml
> >          unevaluatedProperties: false
> >
> > @@ -52,7 +72,12 @@ properties:
> >      unevaluatedProperties: false
> >      properties:
> >        compatible:
> > -        const: dlg,da9063-rtc
> > +        enum:
> > +          - dlg,da9063-rtc
> > +          - dlg,da9062-rtc
> > +
> > +  thermal:
> > +    $ref: /schemas/thermal/dlg,da9062-thermal.yaml
> >
> >    watchdog:
> >      $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
> > @@ -60,8 +85,65 @@ properties:
> >  required:
> >    - compatible
> >    - reg
> > -  - interrupts
> > -  - interrupt-controller
> > +
> > +allOf:
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - dlg,da9063
> > +              - dlg,da9063l
> > +    then:
> > +      properties:
> > +        thermal: false
> > +        gpio: false
> > +        gpio-controller: false
> > +        "#gpio-cells": false
> > +        regulators:
> > +          patternProperties:
> > +            "^buck[1-4]$": false
> > +      required:
> > +        - interrupts
> > +        - interrupt-controller
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - dlg,da9062
> > +    then:
> > +      properties:
> > +        regulators:
> > +          patternProperties:
> > +            "^(ldo([5-9]|10|11)|bcore([1-2]|s-
> merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
> > +      required:
> > +        - gpio
> > +        - onkey
> > +        - rtc
> > +        - thermal
> > +        - watchdog
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - dlg,da9061
> > +    then:
> > +      properties:
> > +        gpio: false
> > +        gpio-controller: false
> > +        "#gpio-cells": false
> > +        regulators:
> > +          patternProperties:
> > +            "^(ldo([5-9]|10|11)|bcore([1-2]|s-
> merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
> > +        rtc: false
> > +      required:
> > +        - onkey
> > +        - thermal
> > +        - watchdog
> >
> >  additionalProperties: false
> >
> > @@ -118,4 +200,98 @@ examples:
> >          };
> >        };
> >      };
> > +
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/irq.h>
> > +    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
> > +    i2c {
> > +      #address-cells = <1>;
> > +      #size-cells = <0>;
> > +      pmic@58 {
> > +        compatible = "dlg,da9062";
> > +        reg = <0x58>;
> > +        #interrupt-cells = <2>;
> > +        interrupt-parent = <&gpio1>;
> > +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> > +        interrupt-controller;
> > +
> > +        gpio {
> > +          compatible = "dlg,da9062-gpio";
> > +          status = "disabled";
> 
> Why?
> Where are gpio-controller and cells? For this node and for parent? Why
> this example is incomplete?

I have used a real example [1] here.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi?h=next-20231207#n95

Currently I don't see any driver is using this compatible other than MFD.

Cheers,
Biju

> 
> > +        };
> > +
> > +        onkey {
> > +          compatible = "dlg,da9062-onkey";
> > +        };
> 
> 
> Best regards,
> Krzysztof


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

* Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-07 17:03     ` Biju Das
@ 2023-12-08  7:55       ` Krzysztof Kozlowski
  2023-12-09 15:41         ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-08  7:55 UTC (permalink / raw)
  To: Biju Das, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

On 07/12/2023 18:03, Biju Das wrote:

Trim the quote from irrelevant context, especially if your email client
malforms replies... (because it does)

>>> @@ -35,6 +42,19 @@ properties:
>>>    "#interrupt-cells":
>>>      const: 2
>>>
>>> +  gpio:
>>
>> Old binding did not have such node and nothing in commit msg explained
>> changes from pure conversion.
> 
> OK will update the commit message. Check patch complained about undocumented compatible.
> 
>>
>>> +    type: object
>>> +    $ref: /schemas/gpio/gpio.yaml#
>>
>> ?!? Why? First: It's always selected. Second, so you have two gpio
>> controllers? And original binding had 0? Why this is not explained at all?
>> Open the binding and look at its properties.
> 
> 
> I have referred[1] and [2] to add gpio controller property. 
> 
> 
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi?h=next-20231207#n95
> 
> [2]
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/mfd/da9062.txt?h=next-20231207#n38

But does it make sense? Don't just blindly copy things, but actually
investigate whether this is correct DTS.

> 
>>
>>
>>> +    unevaluatedProperties: false
>>> +    properties:
>>> +      compatible:
>>> +        const: dlg,da9062-gpio
>>> +
>>> +  gpio-controller: true
>>
>> And here is the second gpio-controller...
> 
> So you mean it is redundant as $ref: /schemas/gpio/gpio.yaml
> has already defined gpio-controller for this object??

I meant this would mean you have two GPIO controllers. Why one device
would have two GPIO controllers? Please answer to this in commit msg, so
there will be no questions/concerns. You have entire commit msg to
explain all weird and unexpected things with this binding.

...

>>> +    #include <dt-bindings/interrupt-controller/irq.h>
>>> +    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
>>> +    i2c {
>>> +      #address-cells = <1>;
>>> +      #size-cells = <0>;
>>> +      pmic@58 {
>>> +        compatible = "dlg,da9062";
>>> +        reg = <0x58>;
>>> +        #interrupt-cells = <2>;
>>> +        interrupt-parent = <&gpio1>;
>>> +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
>>> +        interrupt-controller;
>>> +
>>> +        gpio {
>>> +          compatible = "dlg,da9062-gpio";
>>> +          status = "disabled";
>>
>> Why?

Why disabling? Drop all statuses from all your binding examples.

>> Where are gpio-controller and cells? For this node and for parent? Why
>> this example is incomplete?
> 
> I have used a real example [1] here.
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi?h=next-20231207#n95
> 
> Currently I don't see any driver is using this compatible other than MFD.

Open the MFD so you will see it...


Best regards,
Krzysztof


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

* RE: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-08  7:55       ` Krzysztof Kozlowski
@ 2023-12-09 15:41         ` Biju Das
  2023-12-09 16:07           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 24+ messages in thread
From: Biju Das @ 2023-12-09 15:41 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski,

Thanks for the feedback.

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Friday, December 8, 2023 7:56 AM
> Subject: Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062
> to json-schema
> 
> On 07/12/2023 18:03, Biju Das wrote:
> 
> Trim the quote from irrelevant context, especially if your email client
> malforms replies... (because it does)
> 
> >>> @@ -35,6 +42,19 @@ properties:
> >>>    "#interrupt-cells":
> >>>      const: 2
> >>>
> >>> +  gpio:
> >>
> >> Old binding did not have such node and nothing in commit msg
> >> explained changes from pure conversion.
> >
> > OK will update the commit message. Check patch complained about
> undocumented compatible.
> >
> >>
> >>> +    type: object
> >>> +    $ref: /schemas/gpio/gpio.yaml#
> >>
> >> ?!? Why? First: It's always selected. Second, so you have two gpio
> >> controllers? And original binding had 0? Why this is not explained at
> all?
> >> Open the binding and look at its properties.
> >
> >
> > I have referred[1] and [2] to add gpio controller property.
> >
> 
> But does it make sense? Don't just blindly copy things, but actually
> investigate whether this is correct DTS.

It is indeed incorrect. 

I have tested GPIO on my board. The gpio controller must be defined in parent node.
Otherwise gpio probe will fail.

the dt example is as below

da9062: pmic@58 {
		compatible = "dlg,da9062";
		reg = <0x58>;
		gpio-controller;
 		#gpio-cells = <2>;

		sd0-pwr-sel {
			gpio-hog;
			gpios = <1 0>;
			input;
			line-name = "SD0_PWR_SEL";
		};

		sd1-pwr-sel {
			gpio-hog;
			gpios = <2 0>;
			input;
			line-name = "SD1_PWR_SEL";
		};

		sw-et0-en {
			gpio-hog;
			gpios = <3 0>;
			input;
			line-name = "SW_ET0_EN#";
		};

		pmic-good {
			gpio-hog;
			gpios = <4 0>;
			output-high;
			line-name = "PMIC_PGOOD";
		};

		da9062_rtc: rtc {
			compatible = "dlg,da9062-rtc";
		};

		da9062_onkey: onkey {
			compatible = "dlg,da9062-onkey";
			status = "disabled";
		};

		watchdog {
			compatible = "dlg,da9062-watchdog";
			status = "disabled";
		};

		thermal {
			compatible = "dlg,da9062-thermal";
			status = "disabled";
		};

		gpio {
			compatible = "dlg,da9062-gpio";
		};
	};


> 
> >
> >>
> >>
> >>> +    unevaluatedProperties: false
> >>> +    properties:
> >>> +      compatible:
> >>> +        const: dlg,da9062-gpio
> >>> +
> >>> +  gpio-controller: true
> >>
> >> And here is the second gpio-controller...
> >
> > So you mean it is redundant as $ref: /schemas/gpio/gpio.yaml has
> > already defined gpio-controller for this object??
> 
> I meant this would mean you have two GPIO controllers. Why one device
> would have two GPIO controllers? Please answer to this in commit msg, so
> there will be no questions/concerns. You have entire commit msg to explain
> all weird and unexpected things with this binding.

This is correct. gpio-controller should be defined in the parent node.
Otherwise gpio probe will fail.

> 
> ...
> 
> >>> +    #include <dt-bindings/interrupt-controller/irq.h>
> >>> +    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
> >>> +    i2c {
> >>> +      #address-cells = <1>;
> >>> +      #size-cells = <0>;
> >>> +      pmic@58 {
> >>> +        compatible = "dlg,da9062";
> >>> +        reg = <0x58>;
> >>> +        #interrupt-cells = <2>;
> >>> +        interrupt-parent = <&gpio1>;
> >>> +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> >>> +        interrupt-controller;
> >>> +
> >>> +        gpio {
> >>> +          compatible = "dlg,da9062-gpio";
> >>> +          status = "disabled";
> >>
> >> Why?
> 
> Why disabling? Drop all statuses from all your binding examples.
> 
> >> Where are gpio-controller and cells? For this node and for parent?
> >> Why this example is incomplete?
> >
> > Currently I don't see any driver is using this compatible other than
> MFD.
> 
> Open the MFD so you will see it...

Actually, found the driver and tested GPIOs, 
For input gpio, I can see the sd1_pwr_sel values are 
toggled during card insert/removal. 
For outout gpio,
System is entering into reset mode, if I set output-low in DT. So set
Init state as output-high to avoid reset.

drivers/pinctrl/pinctrl-da9062.c

Cheers,
Biju


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

* Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-09 15:41         ` Biju Das
@ 2023-12-09 16:07           ` Krzysztof Kozlowski
  2023-12-09 16:38             ` Biju Das
  0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-09 16:07 UTC (permalink / raw)
  To: Biju Das, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

On 09/12/2023 16:41, Biju Das wrote:
>>
>> Why disabling? Drop all statuses from all your binding examples.
>>
>>>> Where are gpio-controller and cells? For this node and for parent?
>>>> Why this example is incomplete?
>>>
>>> Currently I don't see any driver is using this compatible other than
>> MFD.
>>
>> Open the MFD so you will see it...
> 
> Actually, found the driver and tested GPIOs, 
> For input gpio, I can see the sd1_pwr_sel values are 
> toggled during card insert/removal. 
> For outout gpio,
> System is entering into reset mode, if I set output-low in DT. So set
> Init state as output-high to avoid reset.
> 
> drivers/pinctrl/pinctrl-da9062.c

Anyway there is a GPIO child node and driver which binds to it. What's
its purpose in such case?

Best regards,
Krzysztof


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

* RE: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
  2023-12-09 16:07           ` Krzysztof Kozlowski
@ 2023-12-09 16:38             ` Biju Das
  0 siblings, 0 replies; 24+ messages in thread
From: Biju Das @ 2023-12-09 16:38 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Torokhov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones
  Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
	Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
	Geert Uytterhoeven, Prabhakar Mahadev Lad, biju.das.au,
	linux-renesas-soc

Hi Krzysztof Kozlowski,


> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Saturday, December 9, 2023 4:08 PM
> Subject: Re: [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062
> to json-schema
> 
> On 09/12/2023 16:41, Biju Das wrote:
> >>
> >> Why disabling? Drop all statuses from all your binding examples.
> >>
> >>>> Where are gpio-controller and cells? For this node and for parent?
> >>>> Why this example is incomplete?
> >>>
> >>> Currently I don't see any driver is using this compatible other than
> >> MFD.
> >>
> >> Open the MFD so you will see it...
> >
> > Actually, found the driver and tested GPIOs, For input gpio, I can see
> > the sd1_pwr_sel values are toggled during card insert/removal.
> > For outout gpio,
> > System is entering into reset mode, if I set output-low in DT. So set
> > Init state as output-high to avoid reset.
> >
> > drivers/pinctrl/pinctrl-da9062.c
> 
> Anyway there is a GPIO child node and driver which binds to it. What's its
> purpose in such case?


The pinctrl-da9062driver is instantiated from the parent, since there is a
GPIO child node with matching compatible.

MFD_CELL_OF("da9062-gpio", da9062_gpio_resources, NULL, 0, 0,
		    "dlg,da9062-gpio"),


root@smarc-rzg2ul:~# cat /sys/kernel/debug/gpio | grep da9062 -A5
gpiochip1: GPIOs 664-668, parent: platform/da9062-gpio, da9062-gpio, can sleep:
 gpio-665 (                    |SD0_PWR_SEL         ) in  lo
 gpio-666 (                    |SD1_PWR_SEL         ) in  lo
 gpio-667 (                    |SW_ET0_EN#          ) in  hi
 gpio-668 (                    |PMIC_PGOOD          ) out hi
root@smarc-rzg2ul:~#



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

end of thread, other threads:[~2023-12-09 16:38 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-06 15:57 [PATCH v4 0/8] Convert DA906{1,2} bindings to json-schema Biju Das
2023-12-06 15:57 ` [PATCH v4 1/8] dt-bindings: mfd: da9062: Update watchdog description Biju Das
2023-12-07  8:34   ` Krzysztof Kozlowski
2023-12-06 15:57 ` [PATCH v4 2/8] dt-bindings: watchdog: dlg,da9062-watchdog: Add fallback for DA9061 watchdog Biju Das
2023-12-07  8:35   ` Krzysztof Kozlowski
2023-12-07 16:41     ` Biju Das
2023-12-06 15:57 ` [PATCH v4 3/8] dt-bindings: watchdog: dlg,da9062-watchdog: Document DA9063 watchdog Biju Das
2023-12-06 15:57 ` [PATCH v4 4/8] dt-bindings: mfd: dlg,da9063: Update watchdog property Biju Das
2023-12-06 15:57 ` [PATCH v4 5/8] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema Biju Das
2023-12-07  8:37   ` Krzysztof Kozlowski
2023-12-07 16:42     ` Biju Das
2023-12-06 15:57 ` [PATCH v4 6/8] dt-bindings: thermal: Convert da906{1,2} thermal " Biju Das
2023-12-06 15:57 ` [PATCH v4 7/8] dt-bindings: mfd: dlg,da9063: Sort child devices Biju Das
2023-12-06 15:57 ` [PATCH v4 8/8] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema Biju Das
2023-12-07  8:43   ` Krzysztof Kozlowski
2023-12-07 17:03     ` Biju Das
2023-12-08  7:55       ` Krzysztof Kozlowski
2023-12-09 15:41         ` Biju Das
2023-12-09 16:07           ` Krzysztof Kozlowski
2023-12-09 16:38             ` Biju Das
2023-12-07  8:38 ` [PATCH v4 0/8] Convert DA906{1,2} bindings " Krzysztof Kozlowski
2023-12-07  9:01   ` Biju Das
2023-12-07  9:16     ` Krzysztof Kozlowski
2023-12-07  9:20       ` Biju Das

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.