[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250604-s2mpg1x-regulators-v1-5-6038740f49ae@linaro.org>
Date: Wed, 04 Jun 2025 16:25:44 +0100
From: André Draszik <andre.draszik@...aro.org>
To: Tudor Ambarus <tudor.ambarus@...aro.org>, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Krzysztof Kozlowski <krzk@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Lee Jones <lee@...nel.org>, Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>
Cc: Peter Griffin <peter.griffin@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com,
linux-kernel@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
devicetree@...r.kernel.org, linux-gpio@...r.kernel.org,
André Draszik <andre.draszik@...aro.org>
Subject: [PATCH 05/17] dt-bindings: mfd: samsung,s2mps11: add s2mpg11-pmic
The Samsung S2MPG11 PMIC is similar to the existing S2MPG10 PMIC
supported by this binding.
It is a Power Management IC for mobile applications with buck
converters, various LDOs, and power meters and typically complements an
S2MPG10 PMIC in a main/sub configuration as the sub-PMIC.
Like S2MPG10, communication is not via I2C, but via the Samsung ACPM
firmware, it therefore doesn't need a 'reg' property but needs to be a
child of the ACPM firmware node instead.
Add the PMIC, the regulators node, and the supply inputs of the
regulator rails, with the supply names matching the datasheet.
Note: S2MPG11 is typically used as the sub-PMIC together with an
S2MPG10 PMIC in a main/sub configuration, hence the datasheet and the
binding both suffix the supplies with an 's'.
Signed-off-by: André Draszik <andre.draszik@...aro.org>
---
.../devicetree/bindings/mfd/samsung,s2mps11.yaml | 70 ++++++++++++++++++----
1 file changed, 58 insertions(+), 12 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
index 0b834a02368f7867a2d093cbb3a9f374bb2acf41..f859a7e4a962a6013712ac6c62dd04eeadc5e0f4 100644
--- a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
+++ b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
@@ -21,6 +21,7 @@ properties:
compatible:
enum:
- samsung,s2mpg10-pmic
+ - samsung,s2mpg11-pmic
- samsung,s2mps11-pmic
- samsung,s2mps13-pmic
- samsung,s2mps14-pmic
@@ -70,21 +71,46 @@ required:
unevaluatedProperties: false
allOf:
+ - if:
+ not:
+ properties:
+ compatible:
+ const: samsung,s2mpg10-pmic
+ then:
+ properties:
+ system-power-controller: false
+
- if:
properties:
compatible:
contains:
- const: samsung,s2mpg10-pmic
+ enum:
+ - samsung,s2mpg10-pmic
+ - samsung,s2mpg11-pmic
then:
properties:
reg: false
+ samsung,s2mps11-acokb-ground: false
+ samsung,s2mps11-wrstbi-ground: false
+
+ oneOf:
+ - required: [interrupts]
+ - required: [interrupts-extended]
+
+ else:
+ required:
+ - reg
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,s2mpg10-pmic
+ then:
+ properties:
regulators:
$ref: /schemas/regulator/samsung,s2mpg10-regulator.yaml
- samsung,s2mps11-acokb-ground: false
- samsung,s2mps11-wrstbi-ground: false
-
patternProperties:
"^vinb([1-9]|10)m-supply$":
description:
@@ -112,16 +138,36 @@ allOf:
vinl14m - ldo21m
vinl15m - ldo10m, ldo22m, ldo26m, ldo27m
- oneOf:
- - required: [interrupts]
- - required: [interrupts-extended]
-
- else:
+ - if:
properties:
- system-power-controller: false
+ compatible:
+ contains:
+ const: samsung,s2mpg11-pmic
+ then:
+ properties:
+ regulators:
+ $ref: /schemas/regulator/samsung,s2mpg11-regulator.yaml
- required:
- - reg
+ patternProperties:
+ "^vinb(([1-9]|10)s|[abd])-supply$":
+ description:
+ Phandle to the power supply for each buck rail of this PMIC. There
+ is a 1:1 mapping of numbered supply to rail, e.g. vinb1s-supply
+ supplies buck1s. The remaining mapping is as follows
+ vinba - bucka
+ vinbb - buck boost
+ vinbd - buckd
+
+ "^vinl[1-6]s-supply$":
+ description: |
+ Phandle to the power supply for one or multiple LDO rails of this
+ PMIC. The mapping of supply to rail(s) is as follows
+ vinl1s - ldo1s, ldo2s
+ vinl2s - ldo8s, ldo9s
+ vinl3s - ldo3s, ldo5s, ldo7s, ldo15s
+ vinl4s - ldo10s, ldo11s, ldo12s, ldo14s
+ vinl5s - ldo4s, ldo6s
+ vinl6s - ldo13s
- if:
properties:
--
2.49.0.1204.g71687c7c1d-goog
Powered by blists - more mailing lists