* [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 14:46 ` Tudor Ambarus
2026-05-12 23:12 ` [PATCH 2/2] firmware: samsung: acpm: add Exynos850 support Alexey Klimov
1 sibling, 1 reply; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread