[PATCH 5/5] platform/surface: aggregator_registry: Add support for Surface Pro X

From: Val Packett

Date: Wed Nov 04 2026 - 02:06:31 EST


From: Maximilian Luz <luzmaximilian@xxxxxxxxx>

Add SAM client device nodes for the Surface Pro X.

Signed-off-by: Maximilian Luz <luzmaximilian@xxxxxxxxx>
Signed-off-by: Val Packett <val@xxxxxxxxxxxx>
---
.../surface/surface_aggregator_registry.c | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index cf3ae252b1c4..bec0a87a2a95 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -51,6 +51,12 @@ static const struct software_node ssam_node_hub_base = {
.parent = &ssam_node_root,
};

+/* Real-Time Clock. */
+static const struct software_node ssam_node_rtc = {
+ .name = "ssam:01:01:01:00:00",
+ .parent = &ssam_node_root,
+};
+
/* AC adapter. */
static const struct software_node ssam_node_bat_ac = {
.name = "ssam:01:02:01:01:01",
@@ -352,6 +358,22 @@ static const struct software_node *ssam_node_group_sp7[] = {
NULL,
};

+/* Devices for Surface Pro X */
+static const struct software_node *ssam_node_group_spx[] = {
+ &ssam_node_root,
+ &ssam_node_hub_kip,
+ &ssam_node_rtc,
+ &ssam_node_bat_ac,
+ &ssam_node_bat_main,
+ &ssam_node_tmp_sensors,
+ &ssam_node_kip_tablet_switch,
+ &ssam_node_hid_kip_keyboard,
+ &ssam_node_hid_kip_penstash,
+ &ssam_node_hid_kip_touchpad,
+ &ssam_node_hid_kip_fwupd,
+ NULL,
+};
+
/* Devices for Surface Pro 8 */
static const struct software_node *ssam_node_group_sp8[] = {
&ssam_node_root,
@@ -508,6 +530,10 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);

static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
+ /* Surface Pro X */
+ { .compatible = "microsoft,cambria", (void *)ssam_node_group_spx },
+ { .compatible = "microsoft,carina", (void *)ssam_node_group_spx },
+ { .compatible = "microsoft,caspar", (void *)ssam_node_group_spx },
/* Surface Pro 9 5G (ARM/QCOM) */
{ .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5g },
/* Surface Pro 11 (ARM/QCOM) */
--
2.56.0