dt-bindings: firmware: google,gs101-acpm-ipc: add S2MPG11 secondary PMIC

In a typical system using the Samsung S2MPG10 PMIC, an S2MPG11 is used
as a sub-PMIC.

The interface for both is the ACPM firmware protocol, so update the
binding to allow the relevant node and update the example here to
describe the connection for both PMICs.

Since we have two PMICs here, but can not use the 'reg' property (as
the addressing is based on software, i.e. the ACPM firmware), the node
names reflect that with their respective suffix. The existing 'pmic'
therefore becomes deprecated in favour of 'pmic-1'.

While at it, update the example.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://patch.msgid.link/20260210-s2mpg1x-regulators-v8-1-c429d709c0e0@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
André Draszik
2026-02-10 12:42:32 +00:00
committed by Krzysztof Kozlowski
parent 951b8eee05
commit f2e83070fe

View File

@@ -37,6 +37,7 @@ properties:
maxItems: 1
pmic:
deprecated: true
description: Child node describing the main PMIC.
type: object
additionalProperties: true
@@ -45,6 +46,24 @@ properties:
compatible:
const: samsung,s2mpg10-pmic
pmic-1:
description: Child node describing the main PMIC.
type: object
additionalProperties: true
properties:
compatible:
const: samsung,s2mpg10-pmic
pmic-2:
description: Child node describing the sub PMIC.
type: object
additionalProperties: true
properties:
compatible:
const: samsung,s2mpg11-pmic
shmem:
description:
List of phandle pointing to the shared memory (SHM) area. The memory
@@ -62,7 +81,9 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/samsung,s2mpg10-regulator.h>
power-management {
compatible = "google,gs101-acpm-ipc";
@@ -70,10 +91,12 @@ examples:
mboxes = <&ap2apm_mailbox>;
shmem = <&apm_sram>;
pmic {
pmic-1 {
compatible = "samsung,s2mpg10-pmic";
interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
vinl3m-supply = <&buck8m>;
regulators {
ldo1m {
regulator-name = "vdd_ldo1";
@@ -82,7 +105,13 @@ examples:
regulator-always-on;
};
// ...
ldo20m {
regulator-name = "vdd_dmics";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_LDO20M_EN2>;
};
buck8m {
regulator-name = "vdd_mif";
@@ -93,4 +122,21 @@ examples:
};
};
};
pmic-2 {
compatible = "samsung,s2mpg11-pmic";
interrupts-extended = <&gpa0 7 IRQ_TYPE_LEVEL_LOW>;
vinl1s-supply = <&buck8m>;
vinl2s-supply = <&buck6s>;
regulators {
buckd {
regulator-name = "vcc_ufs";
regulator-ramp-delay = <6250>;
enable-gpios = <&gpp0 1 GPIO_ACTIVE_HIGH>;
samsung,ext-control = <S2MPG11_EXTCTRL_UFS_EN>;
};
};
};
};