linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "André Draszik" <andre.draszik@linaro.org>
To: Tudor Ambarus <tudor.ambarus@linaro.org>,
	Rob Herring <robh@kernel.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	 Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,  Lee Jones <lee@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	 Bartosz Golaszewski <brgl@bgdev.pl>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: "Peter Griffin" <peter.griffin@linaro.org>,
	"Will McVicker" <willmcvicker@google.com>,
	kernel-team@android.com, linux-kernel@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
	linux-gpio@vger.kernel.org,
	"André Draszik" <andre.draszik@linaro.org>
Subject: [PATCH v4 04/20] dt-bindings: mfd: samsung,s2mps11: Split s2mpg10-pmic into separate file
Date: Mon, 10 Nov 2025 19:28:47 +0000	[thread overview]
Message-ID: <20251110-s2mpg1x-regulators-v4-4-94c9e726d4ba@linaro.org> (raw)
In-Reply-To: <20251110-s2mpg1x-regulators-v4-0-94c9e726d4ba@linaro.org>

The samsung,s2mpg10-pmic binding is going to acquire various additional
properties. To avoid making the common samsung,s2mps11 binding file too
complicateddue to additional nesting, split s2mpg10 out into its own
file.

As a side-effect, the oneOf for the interrupts is not required anymore,
as the required: node is at the top-level now.

Signed-off-by: André Draszik <andre.draszik@linaro.org>

---
Note: checkpatch suggests to update MAINTAINERS, but the new file is
covered already due to using a wildcard.

v4:
- make yaml file name match compatible
- add example (Krzysztof)

v3:
- new patch (Krzysztof)
---
 .../bindings/mfd/samsung,s2mpg10-pmic.yaml         | 69 ++++++++++++++++++++++
 .../devicetree/bindings/mfd/samsung,s2mps11.yaml   | 29 +--------
 2 files changed, 70 insertions(+), 28 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mpg10-pmic.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mpg10-pmic.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6475cd1d2d15e07d953c8b302c90c785835985e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/samsung,s2mpg10-pmic.yaml
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/samsung,s2mpg10-pmic.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S2MPG10 Power Management IC
+
+maintainers:
+  - André Draszik <andre.draszik@linaro.org>
+
+description: |
+  This is part of the device tree bindings for the S2MPG family of Power
+  Management IC (PMIC).
+
+  The Samsung S2MPG10 is a Power Management IC for mobile applications with buck
+  converters, various LDOs, power meters, RTC, clock outputs, and additional
+  GPIO interfaces.
+
+properties:
+  compatible:
+    const: samsung,s2mpg10-pmic
+
+  clocks:
+    $ref: /schemas/clock/samsung,s2mps11.yaml
+    description:
+      Child node describing clock provider.
+
+  interrupts:
+    maxItems: 1
+
+  regulators:
+    type: object
+    description:
+      List of child nodes that specify the regulators.
+
+  system-power-controller: true
+
+  wakeup-source: true
+
+required:
+  - compatible
+  - interrupts
+  - regulators
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    pmic {
+        compatible = "samsung,s2mpg10-pmic";
+        interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pmic_int>;
+        system-power-controller;
+        wakeup-source;
+
+        clocks {
+            compatible = "samsung,s2mpg10-clk";
+            #clock-cells = <1>;
+            clock-output-names = "rtc32k_ap", "peri32k1", "peri32k2";
+        };
+
+        regulators {
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
index 31d544a9c05cad878d10a0ae9b99631f08eb04a8..ac5d0c149796b6a4034b5d4245bfa8be0433cfab 100644
--- a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
+++ b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
@@ -20,7 +20,6 @@ description: |
 properties:
   compatible:
     enum:
-      - samsung,s2mpg10-pmic
       - samsung,s2mps11-pmic
       - samsung,s2mps13-pmic
       - samsung,s2mps14-pmic
@@ -59,42 +58,16 @@ properties:
       reset (setting buck voltages to default values).
     type: boolean
 
-  system-power-controller: true
-
   wakeup-source: true
 
 required:
   - compatible
+  - reg
   - regulators
 
 additionalProperties: false
 
 allOf:
-  - if:
-      properties:
-        compatible:
-          contains:
-            const: samsung,s2mpg10-pmic
-    then:
-      properties:
-        reg: false
-        samsung,s2mps11-acokb-ground: false
-        samsung,s2mps11-wrstbi-ground: false
-
-      # oneOf is required, because dtschema's fixups.py doesn't handle this
-      # nesting here. Its special treatment to allow either interrupt property
-      # when only one is specified in the binding works at the top level only.
-      oneOf:
-        - required: [interrupts]
-        - required: [interrupts-extended]
-
-    else:
-      properties:
-        system-power-controller: false
-
-      required:
-        - reg
-
   - if:
       properties:
         compatible:

-- 
2.51.2.1041.gc1ab5b90ca-goog


  parent reply	other threads:[~2025-11-10 19:29 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-10 19:28 [PATCH v4 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers André Draszik
2025-11-10 19:28 ` [PATCH v4 01/20] dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase André Draszik
2025-11-10 19:28 ` [PATCH v4 02/20] regulator: dt-bindings: add s2mpg10-pmic regulators André Draszik
2025-11-12  9:51   ` Krzysztof Kozlowski
2025-11-12 15:00     ` André Draszik
2025-11-13 11:13   ` Krzysztof Kozlowski
2025-11-10 19:28 ` [PATCH v4 03/20] regulator: dt-bindings: add s2mpg11-pmic regulators André Draszik
2025-11-13 11:23   ` Krzysztof Kozlowski
2025-11-10 19:28 ` André Draszik [this message]
2025-11-13 11:27   ` [PATCH v4 04/20] dt-bindings: mfd: samsung,s2mps11: Split s2mpg10-pmic into separate file Krzysztof Kozlowski
2025-11-10 19:28 ` [PATCH v4 05/20] dt-bindings: mfd: samsung,s2mpg10-pmic: Link to its regulators André Draszik
2025-11-12 10:09   ` Krzysztof Kozlowski
2025-11-10 19:28 ` [PATCH v4 06/20] dt-bindings: mfd: Add samsung,s2mpg11-pmic André Draszik
2025-11-12 10:10   ` Krzysztof Kozlowski
2025-11-10 19:28 ` [PATCH v4 07/20] dt-bindings: firmware: google,gs101-acpm-ipc: add S2MPG11 secondary PMIC André Draszik
2025-11-12 10:08   ` Krzysztof Kozlowski
2025-11-10 19:28 ` [PATCH v4 08/20] mfd: sec-common: Instantiate s2mpg10 bucks and ldos separately André Draszik
2025-11-10 19:28 ` [PATCH v4 09/20] mfd: sec: Add support for S2MPG11 PMIC via ACPM André Draszik
2025-11-10 19:28 ` [PATCH v4 10/20] regulator: add REGULATOR_LINEAR_VRANGE macro André Draszik
2025-11-10 19:28 ` [PATCH v4 11/20] regulator: s2mps11: drop two needless variable initialisations André Draszik
2025-11-10 19:28 ` [PATCH v4 12/20] regulator: s2mps11: use dev_err_probe() where appropriate André Draszik
2025-11-10 19:28 ` [PATCH v4 13/20] regulator: s2mps11: place constants on right side of comparison tests André Draszik
2025-11-10 19:28 ` [PATCH v4 14/20] regulator: s2mps11: update node parsing (allow -supply properties) André Draszik
2025-11-10 19:28 ` [PATCH v4 15/20] regulator: s2mps11: refactor handling of external rail control André Draszik
2025-11-10 19:28 ` [PATCH v4 16/20] regulator: s2mps11: add S2MPG10 regulator André Draszik
2025-11-10 19:29 ` [PATCH v4 17/20] regulator: s2mps11: refactor S2MPG10 ::set_voltage_time() for S2MPG11 reuse André Draszik
2025-11-10 19:29 ` [PATCH v4 18/20] regulator: s2mps11: refactor S2MPG10 regulator macros " André Draszik
2025-11-10 19:29 ` [PATCH v4 19/20] regulator: s2mps11: add S2MPG11 regulator André Draszik
2025-11-10 19:29 ` [PATCH v4 20/20] regulator: s2mps11: more descriptive gpio consumer name André Draszik
2025-11-13 13:36 ` [PATCH v4 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers André Draszik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251110-s2mpg1x-regulators-v4-4-94c9e726d4ba@linaro.org \
    --to=andre.draszik@linaro.org \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel-team@android.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=peter.griffin@linaro.org \
    --cc=robh@kernel.org \
    --cc=tudor.ambarus@linaro.org \
    --cc=willmcvicker@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).