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, power meters, and additional GPIO interfaces
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@linaro.org>
---
v2:
- add | to vinb*-supply description for better formatting to mark as
literal style
- mention GPIOs in commit message
---
.../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..a6a10d23a480b460c66be2df5bfdef5ea3024ce1 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.50.0.rc0.604.gd4ff7b7c86-goog