Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] Initial Exynos850 ACPM support for exynos-acpm
@ 2026-05-12 23:12 Alexey Klimov
  2026-05-12 23:12 ` [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible Alexey Klimov
  2026-05-12 23:12 ` [PATCH 2/2] firmware: samsung: acpm: add Exynos850 support Alexey Klimov
  0 siblings, 2 replies; 5+ messages in thread
From: Alexey Klimov @ 2026-05-12 23:12 UTC (permalink / raw)
  To: Sam Protsenko, Tudor Ambarus, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Krzysztof Kozlowski, Alim Akhtar
  Cc: Peter Griffin, linux-samsung-soc, devicetree, linux-arm-kernel,
	linux-kernel

This series adds support for the Exynos850 SoC to the Samsung ACPM
firmware IPC driver.

The Exynos850 contains an APM co-processor that handles IPC messages for
clocks, power, thermal management, and PMIC control. While it uses the
same underlying ACPM communication machinery and protocols set as
the GS101, the exact implementation details vary between the two SoCs.

Those protocol-specific differences will be managed individually by the
corresponding protocol drivers. However, a dedicated compatible string
is still required for the core IPC driver because the Exynos850 firmware
utilizes a different initialisation data base offset.

First patch updates the google,gs101-acpm-ipc dt-bindings to include the
new "samsung,exynos850-acpm-ipc" compatible string.

Second patch adds the corresponding match data, base offset, and clock
device name to the exynos-acpm firmware driver.

There is a dependency for driver changes (not for device tree bindings
update) on clk-acpm exynos850 series posted here:
https://lore.kernel.org/linux-samsung-soc/20260512-exynos850-acpm-clk-v1-0-837532ddbf38@linaro.org/

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
Alexey Klimov (2):
      dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible
      firmware: samsung: acpm: add Exynos850 support

 .../devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml    |  4 +++-
 drivers/firmware/samsung/exynos-acpm.c                         | 10 ++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
---
base-commit: 9e0898f1c0f134c6bad146ca8578f73c3e40ac0a
change-id: 20260512-exynos850-acpm-firmware-support-0aefaf4104b6
prerequisite-change-id: 20260512-exynos850-acpm-clk-bed1c23b66eb:v1
prerequisite-patch-id: 223c977406801dde31779f956e33e65e51a0323c
prerequisite-patch-id: 9b11f60e3c53e94e28b5e54fb7bb87e5415d8a05

Best regards,
-- 
Alexey Klimov <alexey.klimov@linaro.org>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible
  2026-05-12 23:12 [PATCH 0/2] Initial Exynos850 ACPM support for exynos-acpm Alexey Klimov
@ 2026-05-12 23:12 ` Alexey Klimov
  2026-05-14  0:21   ` sashiko-bot
  2026-05-14 14:46   ` Tudor Ambarus
  2026-05-12 23:12 ` [PATCH 2/2] firmware: samsung: acpm: add Exynos850 support Alexey Klimov
  1 sibling, 2 replies; 5+ messages in thread
From: Alexey Klimov @ 2026-05-12 23:12 UTC (permalink / raw)
  To: Sam Protsenko, Tudor Ambarus, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Krzysztof Kozlowski, Alim Akhtar
  Cc: Peter Griffin, linux-samsung-soc, devicetree, linux-arm-kernel,
	linux-kernel

The Exynos850 SoC incorporates an APM co-processor. Communication with
this hardware block is done using the ACPM protocol, which handles IPC
messages for clocks, power, thermal management and PMIC control.

Dedicated compatible string is required for the Exynos850 because
its firmware utilizes a different initialisation data base offset
(0x7000) compared to the existing GS101 implementation (0xa000).

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
 Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
index e68f9c3ca5e2..511c873280fe 100644
--- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
+++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
@@ -22,7 +22,9 @@ description: |
 
 properties:
   compatible:
-    const: google,gs101-acpm-ipc
+    enum:
+      - google,gs101-acpm-ipc
+      - samsung,exynos850-acpm-ipc
 
   "#clock-cells":
     const: 1

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] firmware: samsung: acpm: add Exynos850 support
  2026-05-12 23:12 [PATCH 0/2] Initial Exynos850 ACPM support for exynos-acpm Alexey Klimov
  2026-05-12 23:12 ` [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible Alexey Klimov
@ 2026-05-12 23:12 ` Alexey Klimov
  1 sibling, 0 replies; 5+ messages in thread
From: Alexey Klimov @ 2026-05-12 23:12 UTC (permalink / raw)
  To: Sam Protsenko, Tudor Ambarus, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Krzysztof Kozlowski, Alim Akhtar
  Cc: Peter Griffin, linux-samsung-soc, devicetree, linux-arm-kernel,
	linux-kernel

The Exynos850 SoC contains an APM co-processor. Communication
with this hardware block is established using the ACPM protocol,
which handles IPC messages for clocks, power, thermal management,
and PMIC control.

Add the "samsung,exynos850-acpm-ipc" compatible string along with
its associated match data. This includes the specific initialisation
data base offset (which differs from the GS101 offset) and the
"exynos850-acpm-clk" device name required to properly instantiate
the clock provider.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
 drivers/firmware/samsung/exynos-acpm.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/firmware/samsung/exynos-acpm.c b/drivers/firmware/samsung/exynos-acpm.c
index 16c46ed60837..db4138f36038 100644
--- a/drivers/firmware/samsung/exynos-acpm.c
+++ b/drivers/firmware/samsung/exynos-acpm.c
@@ -37,6 +37,7 @@
 #define ACPM_POLL_TIMEOUT_US		(100 * USEC_PER_MSEC)
 #define ACPM_TX_TIMEOUT_US		500000
 
+#define ACPM_EXYNOS850_INITDATA_BASE	0x7000
 #define ACPM_GS101_INITDATA_BASE	0xa000
 
 /**
@@ -766,6 +767,11 @@ struct acpm_handle *devm_acpm_get_by_node(struct device *dev,
 }
 EXPORT_SYMBOL_GPL(devm_acpm_get_by_node);
 
+static const struct acpm_match_data acpm_exynos850 = {
+	.initdata_base = ACPM_EXYNOS850_INITDATA_BASE,
+	.acpm_clk_dev_name = "exynos850-acpm-clk",
+};
+
 static const struct acpm_match_data acpm_gs101 = {
 	.initdata_base = ACPM_GS101_INITDATA_BASE,
 	.acpm_clk_dev_name = "gs101-acpm-clk",
@@ -776,6 +782,10 @@ static const struct of_device_id acpm_match[] = {
 		.compatible = "google,gs101-acpm-ipc",
 		.data = &acpm_gs101,
 	},
+	{
+		.compatible = "samsung,exynos850-acpm-ipc",
+		.data = &acpm_exynos850,
+	},
 	{},
 };
 MODULE_DEVICE_TABLE(of, acpm_match);

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible
  2026-05-12 23:12 ` [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible Alexey Klimov
@ 2026-05-14  0:21   ` sashiko-bot
  2026-05-14 14:46   ` Tudor Ambarus
  1 sibling, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-05-14  0:21 UTC (permalink / raw)
  To: Alexey Klimov; +Cc: conor+dt, robh, devicetree, krzk+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The device tree binding schema incorrectly applies GS101-specific PMIC constraints to the Exynos850 compatible string, preventing Exynos850 from legally defining its own PMIC child nodes.
--

commit 2c572cafffcf509acd05fb4e87547a118f399795
Author: Alexey Klimov <alexey.klimov@linaro.org>

dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible

This commit adds a new compatible string, samsung,exynos850-acpm-ipc, to the
ACPM IPC binding for the Exynos850 SoC. The hardware block requires a dedicated
compatible string due to differences in the initialization data base offset.

> diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> index e68f9c3ca5e26..511c873280fed 100644
> --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> @@ -22,7 +22,9 @@ description: |
>  
>  properties:
>    compatible:
> -    const: google,gs101-acpm-ipc
> +    enum:
> +      - google,gs101-acpm-ipc
> +      - samsung,exynos850-acpm-ipc

Does this introduce a regression by unintentionally applying GS101-specific
PMIC constraints to the Exynos850 hardware?

Looking at the rest of the binding schema, pmic-1 is constrained to
samsung,s2mpg10-pmic and pmic-2 is constrained to samsung,s2mpg11-pmic. With
additionalProperties set to false at the top level and no conditional blocks
to distinguish between compatible strings, an Exynos850 device tree cannot
legally define its own hardware-specific PMIC child nodes without failing
schema validation.

Should there be conditional blocks to ensure the GS101 PMIC constraints only
apply when google,gs101-acpm-ipc is used?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260513-exynos850-acpm-firmware-support-v1-0-3858d097e433@linaro.org?part=1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible
  2026-05-12 23:12 ` [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible Alexey Klimov
  2026-05-14  0:21   ` sashiko-bot
@ 2026-05-14 14:46   ` Tudor Ambarus
  1 sibling, 0 replies; 5+ messages in thread
From: Tudor Ambarus @ 2026-05-14 14:46 UTC (permalink / raw)
  To: Alexey Klimov, Sam Protsenko, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Krzysztof Kozlowski, Alim Akhtar
  Cc: Peter Griffin, linux-samsung-soc, devicetree, linux-arm-kernel,
	linux-kernel

Hi, Alexey,

Please check sashiko's review from:
https://sashiko.dev/#/patchset/20260513-exynos850-acpm-firmware-support-v1-0-3858d097e433%40linaro.org

does the gs101 pmic constraints apply to e850?

Cheers,
ta

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-05-14 14:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 23:12 [PATCH 0/2] Initial Exynos850 ACPM support for exynos-acpm Alexey Klimov
2026-05-12 23:12 ` [PATCH 1/2] dt-bindings: firmware: google,gs101-acpm-ipc: document Exynos850 compatible Alexey Klimov
2026-05-14  0:21   ` sashiko-bot
2026-05-14 14:46   ` Tudor Ambarus
2026-05-12 23:12 ` [PATCH 2/2] firmware: samsung: acpm: add Exynos850 support Alexey Klimov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox