From nobody Thu Apr 2 14:09:56 2026 Received: from mail-ej1-f66.google.com (mail-ej1-f66.google.com [209.85.218.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E1DF1CD2C for ; Tue, 10 Feb 2026 12:42:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.66 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770727361; cv=none; b=ghmYRD+sKKn5KBYjMVDNIVXqytB29CsRVH1WMhwFQLc49/s0WXLVTshGoNkANfrXO39GZyvZ2FbC1q4f3Rj7CGX/wK6IQ0Np1cp8qN9M/AREdXBOz+Nz6MfwyNZ7+mOsHTR2nVhK/BuQCU+WKSJ9Rvb7hiS2RTtR2uG+q5g5Xxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770727361; c=relaxed/simple; bh=CVJsmgxavod5vW/XmANPcXXcBuMVTgl2hshMIAup3VI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=m5GhnVU7h0IKDN9pXUgA3XjgKs0nfPcVQp/gZO+rRry5EDMXAbaDnkqgpOGtl4ejP2/h0lIFjpKDY2kngxEonFBvmxQuUYGW2y+A4PUB5rKrIx/JqbbDr7JW0ffSu3OMSPM0mPdg0HOhOqdg9+QbNit3X8b7/CddMF37YE+lv5Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=mRaTPEp+; arc=none smtp.client-ip=209.85.218.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="mRaTPEp+" Received: by mail-ej1-f66.google.com with SMTP id a640c23a62f3a-b883c8dfb00so132138166b.1 for ; Tue, 10 Feb 2026 04:42:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1770727358; x=1771332158; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=M4PaNzsG4CVMOxWuwLS+sVgkhMu+9HTz+VMHIXKiHZ4=; b=mRaTPEp+6fVnekQ0IiZ4T79vKYQJd9Qmonlhb3WvTZQvJBlt0fp6lqxc9tx/sveI+Z 6w68uKsgBJJft6xsGqnZF/uHIgw2uDuQQlqejfBtrscS7+W8PcR3mCBLVN4UEvSfP3TP jdQb0hQOgaRE2Z4zoWrDMmm2nuVxR9o7xABSbAGl17BS/gJGc7GVzTAlfDYWt8DFg5+R ZSmmZe+4BNM/QAJA2h8uED6HOgDoE2VczdhE3pSMxgDsHsM7qq9xAfaPPfikAYXn5MYn gQxcDQb2eV9MEH1bnGSPLz3LKGlzssTIHNTk62o4kjFkr8yfD9PAjB0vMX9KhXanuS8M ZFKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770727358; x=1771332158; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M4PaNzsG4CVMOxWuwLS+sVgkhMu+9HTz+VMHIXKiHZ4=; b=LF9k0+uL8FTO4XqRdDwj5lAIKUK1VkuHeDd7ue8O2MsIjEvjBNPNEBI7mvApwtvqfV U+oyV0ITZ6pppR+fmw+7hAYI3xM8wlsTv4C55jHmWwqt8jpc/DU+T7a4X8E5lgw0AHyB 183TLvZLWLPVn72UbHhPm6T3aEnddv6UE5lRMHWj1zUd1S36Z17b45sFHgIJfBmxt67l n/eWAkVmD8GrlDHKMJ4xDBBFpzmln2pBb3w/kgirg+Z98jCRPd+zjOhY9ooVhHQfciQS Oo2YdupcsyRSNjXy2IpWY5CMypGpUOJ8a3F8jnJdvTz1b+suOYTm0ssw3cEzD9Qz1LyR q90w== X-Forwarded-Encrypted: i=1; AJvYcCUcx3MXzU7mSVPHUyfuUX0xk7JwSHyJnzgJzrjUrlyFShp9VFrIecxHVPD/gqtE4ezLjRHCzm+5icOyQIA=@vger.kernel.org X-Gm-Message-State: AOJu0YwW0+bZJPNvgNdQm8uJPJXgElb230uRHMe04h9C8mIARIiIxuw3 uaRYQDRQp00jdvmr+g5iQA87DRmhh13wgXc/AMVbBx3URfL4SkD+3b4fH1L+DZ2Z7+w= X-Gm-Gg: AZuq6aICWRpmGMrymXvDsEsj2vpgKJOY6NQ1Cr7ppydCTgbs3c0ym9l0MVJga9OWyjp 9D7M5kPFjvXJdi+ZQkLYWF4ZgYM1/HeR0iJf4HiLmBEEqGYrTbrrizITd2kx2HD+vEoLjlRQMMe t7dwlyS5zLfzKLQ6/CXhtZKVmTIhqqkWyw7br2vH1fSxitV7T1z3vk4onL8ITxmYvTT4EOAsExC kglETthaj0NMg0EuSrROF8Y12QMZLH41itvF8bjALy8bYdAhO+/rTtjHOfDqLvqtOFrxHKFJwAt YTy9TcRWal/dlwBPXaoHerIphxperLO+5vAPY5Xjk/Co3/gBt8aLklGPoQvnLVH+ulb97VcIlbs cMefiRMj8h/Gb2IElTUnHTWpqGGI5Q9WUjatmhC5IYMVfiQkQtpdYIW9z+icvm4pt3vuQqSuj9V SMe2iTiYv7e+7BlvKOcjisHKdSa+mHG0bd6IQyiAbwOW3RDeY3ABy+6itwlMtMZQ3YAJmyys2wo ArVJdOhUAHudem5yQ== X-Received: by 2002:a17:907:c23:b0:b8d:bf4d:7463 with SMTP id a640c23a62f3a-b8edf378331mr970231466b.31.1770727357750; Tue, 10 Feb 2026 04:42:37 -0800 (PST) Received: from puffmais2.c.googlers.com (244.175.141.34.bc.googleusercontent.com. [34.141.175.244]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8ef25388dcsm440823366b.54.2026.02.10.04.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 04:42:37 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Tue, 10 Feb 2026 12:42:32 +0000 Subject: [PATCH v8] dt-bindings: firmware: google,gs101-acpm-ipc: add S2MPG11 secondary PMIC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260210-s2mpg1x-regulators-v8-1-c429d709c0e0@linaro.org> X-B4-Tracking: v=1; b=H4sIALgni2kC/23SS27DIBAG4KtErEs1PMwjq96j6gJscJBSO4XES hX57h2nTevKLH/EfCNmuJEScgqF7Hc3ksOUShoHDOZpR9qDG/pAU4eZcOANKBC08PdTz640h/5 ydOcxF6qdZK0R1jofCRaecojpekdf3zAfUsF7n/ceE1tOH5yscROjQLGV0RKitC68HNPg8vg85 p4s3sTXhqoaHA0PIoYYO6442xji12Cs/qxJLIbxVnltAzRmY8iVwaBqSDSsbG3QXHXSu43R/Bm c66rRoAEtSC8UeLQ2hnoYChg0VUOhYXCcXnXMR9ttDL0yOK8aGg3hWbRGsIhz/WfM34vP4eOCn +j8s/15/gJQ0lR2YgIAAA== X-Change-ID: 20250603-s2mpg1x-regulators-7a41c8399abf To: Tudor Ambarus , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Liam Girdwood , Mark Brown , Lee Jones , Bartosz Golaszewski , Krzysztof Kozlowski , Linus Walleij , Bartosz Golaszewski Cc: Peter Griffin , Will McVicker , Juan Yescas , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Signed-off-by: Andr=C3=A9 Draszik --- This is the last patch to be applied from the original series. Ideally it should be applied on top of commit 914809c666d6 ("Samsung S2MPG10 regulator and S2MPG11 PMIC drivers") from https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git/ or any child thereof due to patch context. That commit exists in linux-next. Original cover letter below: This series extends the existing S2MPG10 PMIC driver to add support for the regulators, and adds new S2MPG11 core and regulator drivers. --- dependency note --- This series must be applied in-order, due to the regulator drivers depending on headers & definitions added by the bindings and core drivers. Due to patch context, there are dependencies on previous Samsung MFD patches, hence this series is against current for-mfd-next. While these patches compile, regulator probe will only be successful with my deferrable regulators patches from https://lore.kernel.org/r/20251227-regulators-defer-v1-0-3104b22d84cb@linar= o.org (already in linux-next). I think patches up to and including mfd changes could go via the MFD tree, and regulator patches using an immutable branch via the regulator tree on top. --- end --- The patches are kept together in one series, due to S2MPG11 and its regulators being very similar to S2MPG10. The Samsung S2MPG11 PMIC is a Power Management IC for mobile applications with buck converters, various LDOs, power meters, and additional GPIO interfaces. It typically complements an S2MPG10 PMIC in a main/sub configuration as the sub-PMIC and both are used on the Google Pixel 6 and 6 Pro (oriole / raven). A DT update for Oriole / Raven to enable these is required which I will send out separately. Cheers, Andre' --- Changes in v8: - resend patch 7 only with updated commit message, as all others are merged already - Link to v7: https://lore.kernel.org/r/20260122-s2mpg1x-regulators-v7-0-3b= 1f9831fffd@linaro.org Changes in v7: - rebase against for-mfd-next - add 'domain_suffix' to s2mpg11_irq_chip_pmic (patch 9) - Link to v6: https://lore.kernel.org/r/20260105-s2mpg1x-regulators-v6-0-80= f4b6d1bf9d@linaro.org Changes in v6: - merge patch 21 into 15 (Bartosz) - merge 'con-id' handling into patch 15 - collect tags - Link to v5: https://lore.kernel.org/r/20251227-s2mpg1x-regulators-v5-0-0c= 04b360b4c9@linaro.org Changes in v5: - rebase against mfd/sec alarm IRQ rework https://lore.kernel.org/all/20251217-s5m-alarm-v2-0-b7bff003e94c@linaro.o= rg/ - switch to async probe for mfd - Mark: one MFD cell per PMIC, not per PMIC rail - drop or update related patches - making the series runtime depend on https://lore.kernel.org/r/20251227-regulators-defer-v1-0-3104b22d84cb@l= inaro.org - new patch: - mfd: sec: s2mpg10: reorder regulators for better probe performance - collect tags - Link to v4: https://lore.kernel.org/r/20251110-s2mpg1x-regulators-v4-0-94= c9e726d4ba@linaro.org Changes in v4: - Krzysztof: - s2mpg10-regulator.yaml: move additionalProperties to after allOf - s2mpg10-regulator.yaml: use $defs, not definitions - split samsung,s2mpg10-pmic.yaml and samsung,s2mpg11-pmic.yaml - add full example for samsung,s2mpg10-pmic.yaml and 11 - acpm binding: commit message update - acpm binding: pmic -> pmic-1, pmic2 -> pmic-2 - ensure binding file names match bindings - fix typos in s2mpg11-regulator.yaml description text - collect tags - Link to v3: https://lore.kernel.org/r/20251103-s2mpg1x-regulators-v3-0-b8= b96b79e058@linaro.org Changes in v3: - Krzysztof: - split s2mpg10 core binding into separate file - drop PCTRLSEL values that can be described using standard properties, and update remaining macro names (self) - drop maxItems:1 where not needed (Krzysztof) - samsung,ext-control-gpios -> enable-gpios - fix LDO20M_EN pin name -> VLDO20M_EN - move all binding patternProperties to top-level - one (driver) instance per actual rail, not per rail type (LDO or buck) - new macro REGULATOR_LINEAR_VRANGE() (patch 10) - address some (pre-existing) checkpatch warnings - various updates to regulator driver (patch 16 & 19).See footer there - more descriptive commit messages - Link to v2: https://lore.kernel.org/r/20250606-s2mpg1x-regulators-v2-0-b0= 3feffd2621@linaro.org Changes in v2: - s2mpg11 also exposes additional GPIOs, update all relevant commit messages (nevertheless, GPIOs are out of scope in this series) - fix some commit message typos: s2mp1 -> s2mpg1 - patch2: drop | (literal style mark) from samsung,ext-control-gpios - patch5: add | to vinb*-supply description for better formatting - patch13: update ::of_parse_cb assignment - patch15: drop duplicated ::of_parse_cb assignment - Link to v1: https://lore.kernel.org/r/20250604-s2mpg1x-regulators-v1-0-60= 38740f49ae@linaro.org --- v4: - Krzysztof: - update commit message / subject - pmic -> pmic-1, pmic2 -> pmic-2 --- .../bindings/firmware/google,gs101-acpm-ipc.yaml | 50 ++++++++++++++++++= +++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-i= pc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.= yaml index 4a1e3e3c0505aad6669cadf9b7b58aa4c7f284cb..e68f9c3ca5e2619bacc0c8d843e= c4984c0947fd8 100644 --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml @@ -37,6 +37,7 @@ properties: maxItems: 1 =20 pmic: + deprecated: true description: Child node describing the main PMIC. type: object additionalProperties: true @@ -45,6 +46,24 @@ properties: compatible: const: samsung,s2mpg10-pmic =20 + 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 =20 examples: - | + #include #include + #include =20 power-management { compatible =3D "google,gs101-acpm-ipc"; @@ -70,10 +91,12 @@ examples: mboxes =3D <&ap2apm_mailbox>; shmem =3D <&apm_sram>; =20 - pmic { + pmic-1 { compatible =3D "samsung,s2mpg10-pmic"; interrupts-extended =3D <&gpa0 6 IRQ_TYPE_LEVEL_LOW>; =20 + vinl3m-supply =3D <&buck8m>; + regulators { ldo1m { regulator-name =3D "vdd_ldo1"; @@ -82,7 +105,13 @@ examples: regulator-always-on; }; =20 - // ... + ldo20m { + regulator-name =3D "vdd_dmics"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1300000>; + regulator-always-on; + samsung,ext-control =3D ; + }; =20 buck8m { regulator-name =3D "vdd_mif"; @@ -93,4 +122,21 @@ examples: }; }; }; + + pmic-2 { + compatible =3D "samsung,s2mpg11-pmic"; + interrupts-extended =3D <&gpa0 7 IRQ_TYPE_LEVEL_LOW>; + + vinl1s-supply =3D <&buck8m>; + vinl2s-supply =3D <&buck6s>; + + regulators { + buckd { + regulator-name =3D "vcc_ufs"; + regulator-ramp-delay =3D <6250>; + enable-gpios =3D <&gpp0 1 GPIO_ACTIVE_HIGH>; + samsung,ext-control =3D ; + }; + }; + }; }; --- base-commit: 9845cf73f7db6094c0d8419d6adb848028f4a921 change-id: 20250603-s2mpg1x-regulators-7a41c8399abf Best regards, --=20 Andr=C3=A9 Draszik