.parent = &ssam_node_root,
 };
 
+/* HID keyboard (TID1). */
+static const struct software_node ssam_node_hid_tid1_keyboard = {
+       .name = "ssam:01:15:01:01:00",
+       .parent = &ssam_node_root,
+};
+
+/* HID pen stash (TID1; pen taken / stashed away evens). */
+static const struct software_node ssam_node_hid_tid1_penstash = {
+       .name = "ssam:01:15:01:02:00",
+       .parent = &ssam_node_root,
+};
+
+/* HID touchpad (TID1). */
+static const struct software_node ssam_node_hid_tid1_touchpad = {
+       .name = "ssam:01:15:01:03:00",
+       .parent = &ssam_node_root,
+};
+
+/* HID device instance 6 (TID1, unknown HID device). */
+static const struct software_node ssam_node_hid_tid1_iid6 = {
+       .name = "ssam:01:15:01:06:00",
+       .parent = &ssam_node_root,
+};
+
+/* HID device instance 7 (TID1, unknown HID device). */
+static const struct software_node ssam_node_hid_tid1_iid7 = {
+       .name = "ssam:01:15:01:07:00",
+       .parent = &ssam_node_root,
+};
+
+/* HID system controls (TID1). */
+static const struct software_node ssam_node_hid_tid1_sysctrl = {
+       .name = "ssam:01:15:01:08:00",
+       .parent = &ssam_node_root,
+};
+
 /* HID keyboard. */
 static const struct software_node ssam_node_hid_main_keyboard = {
        .name = "ssam:01:15:02:01:00",
        NULL,
 };
 
+/* Devices for Surface Laptop Studio. */
+static const struct software_node *ssam_node_group_sls[] = {
+       &ssam_node_root,
+       &ssam_node_bat_ac,
+       &ssam_node_bat_main,
+       &ssam_node_tmp_pprof,
+       &ssam_node_hid_tid1_keyboard,
+       &ssam_node_hid_tid1_penstash,
+       &ssam_node_hid_tid1_touchpad,
+       &ssam_node_hid_tid1_iid6,
+       &ssam_node_hid_tid1_iid7,
+       &ssam_node_hid_tid1_sysctrl,
+       NULL,
+};
+
 /* Devices for Surface Laptop Go. */
 static const struct software_node *ssam_node_group_slg1[] = {
        &ssam_node_root,
        /* Surface Laptop Go 1 */
        { "MSHW0118", (unsigned long)ssam_node_group_slg1 },
 
+       /* Surface Laptop Studio */
+       { "MSHW0123", (unsigned long)ssam_node_group_sls },
+
        { },
 };
 MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_match);