Skip to content

Commit f2e8307

Browse files
andredkrzk
authored andcommitted
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>
1 parent 951b8ee commit f2e8307

1 file changed

Lines changed: 48 additions & 2 deletions

File tree

Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ properties:
3737
maxItems: 1
3838

3939
pmic:
40+
deprecated: true
4041
description: Child node describing the main PMIC.
4142
type: object
4243
additionalProperties: true
@@ -45,6 +46,24 @@ properties:
4546
compatible:
4647
const: samsung,s2mpg10-pmic
4748

49+
pmic-1:
50+
description: Child node describing the main PMIC.
51+
type: object
52+
additionalProperties: true
53+
54+
properties:
55+
compatible:
56+
const: samsung,s2mpg10-pmic
57+
58+
pmic-2:
59+
description: Child node describing the sub PMIC.
60+
type: object
61+
additionalProperties: true
62+
63+
properties:
64+
compatible:
65+
const: samsung,s2mpg11-pmic
66+
4867
shmem:
4968
description:
5069
List of phandle pointing to the shared memory (SHM) area. The memory
@@ -62,18 +81,22 @@ additionalProperties: false
6281

6382
examples:
6483
- |
84+
#include <dt-bindings/gpio/gpio.h>
6585
#include <dt-bindings/interrupt-controller/irq.h>
86+
#include <dt-bindings/regulator/samsung,s2mpg10-regulator.h>
6687
6788
power-management {
6889
compatible = "google,gs101-acpm-ipc";
6990
#clock-cells = <1>;
7091
mboxes = <&ap2apm_mailbox>;
7192
shmem = <&apm_sram>;
7293
73-
pmic {
94+
pmic-1 {
7495
compatible = "samsung,s2mpg10-pmic";
7596
interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
7697
98+
vinl3m-supply = <&buck8m>;
99+
77100
regulators {
78101
ldo1m {
79102
regulator-name = "vdd_ldo1";
@@ -82,7 +105,13 @@ examples:
82105
regulator-always-on;
83106
};
84107
85-
// ...
108+
ldo20m {
109+
regulator-name = "vdd_dmics";
110+
regulator-min-microvolt = <700000>;
111+
regulator-max-microvolt = <1300000>;
112+
regulator-always-on;
113+
samsung,ext-control = <S2MPG10_EXTCTRL_LDO20M_EN2>;
114+
};
86115
87116
buck8m {
88117
regulator-name = "vdd_mif";
@@ -93,4 +122,21 @@ examples:
93122
};
94123
};
95124
};
125+
126+
pmic-2 {
127+
compatible = "samsung,s2mpg11-pmic";
128+
interrupts-extended = <&gpa0 7 IRQ_TYPE_LEVEL_LOW>;
129+
130+
vinl1s-supply = <&buck8m>;
131+
vinl2s-supply = <&buck6s>;
132+
133+
regulators {
134+
buckd {
135+
regulator-name = "vcc_ufs";
136+
regulator-ramp-delay = <6250>;
137+
enable-gpios = <&gpp0 1 GPIO_ACTIVE_HIGH>;
138+
samsung,ext-control = <S2MPG11_EXTCTRL_UFS_EN>;
139+
};
140+
};
141+
};
96142
};

0 commit comments

Comments
 (0)