Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

André Draszik and committed by
Krzysztof Kozlowski
f2e83070 951b8eee

+48 -2
+48 -2
Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
··· 37 37 maxItems: 1 38 38 39 39 pmic: 40 + deprecated: true 40 41 description: Child node describing the main PMIC. 41 42 type: object 42 43 additionalProperties: true ··· 45 44 properties: 46 45 compatible: 47 46 const: samsung,s2mpg10-pmic 47 + 48 + pmic-1: 49 + description: Child node describing the main PMIC. 50 + type: object 51 + additionalProperties: true 52 + 53 + properties: 54 + compatible: 55 + const: samsung,s2mpg10-pmic 56 + 57 + pmic-2: 58 + description: Child node describing the sub PMIC. 59 + type: object 60 + additionalProperties: true 61 + 62 + properties: 63 + compatible: 64 + const: samsung,s2mpg11-pmic 48 65 49 66 shmem: 50 67 description: ··· 81 62 82 63 examples: 83 64 - | 65 + #include <dt-bindings/gpio/gpio.h> 84 66 #include <dt-bindings/interrupt-controller/irq.h> 67 + #include <dt-bindings/regulator/samsung,s2mpg10-regulator.h> 85 68 86 69 power-management { 87 70 compatible = "google,gs101-acpm-ipc"; ··· 91 70 mboxes = <&ap2apm_mailbox>; 92 71 shmem = <&apm_sram>; 93 72 94 - pmic { 73 + pmic-1 { 95 74 compatible = "samsung,s2mpg10-pmic"; 96 75 interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>; 76 + 77 + vinl3m-supply = <&buck8m>; 97 78 98 79 regulators { 99 80 ldo1m { ··· 105 82 regulator-always-on; 106 83 }; 107 84 108 - // ... 85 + ldo20m { 86 + regulator-name = "vdd_dmics"; 87 + regulator-min-microvolt = <700000>; 88 + regulator-max-microvolt = <1300000>; 89 + regulator-always-on; 90 + samsung,ext-control = <S2MPG10_EXTCTRL_LDO20M_EN2>; 91 + }; 109 92 110 93 buck8m { 111 94 regulator-name = "vdd_mif"; ··· 119 90 regulator-max-microvolt = <1300000>; 120 91 regulator-always-on; 121 92 regulator-boot-on; 93 + }; 94 + }; 95 + }; 96 + 97 + pmic-2 { 98 + compatible = "samsung,s2mpg11-pmic"; 99 + interrupts-extended = <&gpa0 7 IRQ_TYPE_LEVEL_LOW>; 100 + 101 + vinl1s-supply = <&buck8m>; 102 + vinl2s-supply = <&buck6s>; 103 + 104 + regulators { 105 + buckd { 106 + regulator-name = "vcc_ufs"; 107 + regulator-ramp-delay = <6250>; 108 + enable-gpios = <&gpp0 1 GPIO_ACTIVE_HIGH>; 109 + samsung,ext-control = <S2MPG11_EXTCTRL_UFS_EN>; 122 110 }; 123 111 }; 124 112 };