summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Yuan <jasonyuan@google.com>2022-11-17 13:30:03 -0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-29 22:25:22 +0000
commitf8de1825d4e008c0059f8c995b948c3ffc457423 (patch)
treeec109bc0b061e84d492173493b05a912314c0280
parent88684b2a25d0349bcd57cdba2a5aadb60d7bef07 (diff)
downloadchrome-ec-f8de1825d4e008c0059f8c995b948c3ffc457423.tar.gz
zephyr: Project organization - skyrim
Organized the skyrim program into folders for projects. Similar .dtsi files in project directory will be merged into program directory in a followup CL. BUG=b:254097911 TEST=Ran zmake compare-builds BRANCH=none Signed-off-by: Jason Yuan <jasonyuan@google.com> Change-Id: I1e0b9b4ea096f2e4ffa97067fe8aecdea171fc00 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4035057 Tested-by: zhi cheng yuan <jasonyuan@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: zhi cheng yuan <jasonyuan@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--zephyr/program/skyrim/BUILD.py67
-rw-r--r--zephyr/program/skyrim/CMakeLists.txt46
-rw-r--r--zephyr/program/skyrim/adc.dtsi (renamed from zephyr/program/skyrim/adc.dts)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/CMakeLists.txt12
-rw-r--r--zephyr/program/skyrim/crystaldrift/battery.dtsi (renamed from zephyr/program/skyrim/battery_crystaldrift.dts)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/crystaldrift.dtsi (renamed from zephyr/program/skyrim/crystaldrift.dts)2
-rw-r--r--zephyr/program/skyrim/crystaldrift/led_pins.dtsi (renamed from zephyr/program/skyrim/led_pins_crystaldrift.dts)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/led_policy.dtsi (renamed from zephyr/program/skyrim/led_policy_crystaldrift.dts)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense.dts)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/project.conf (renamed from zephyr/program/skyrim/prj_crystaldrift.conf)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/project.overlay19
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/alt_charger.c (renamed from zephyr/program/skyrim/src/crystaldrift/alt_charger.c)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/fan.c (renamed from zephyr/program/skyrim/src/crystaldrift/fan.c)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/form_factor.c (renamed from zephyr/program/skyrim/src/crystaldrift/form_factor.c)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/ppc_config.c (renamed from zephyr/program/skyrim/src/crystaldrift/ppc_config.c)0
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/usb_mux_config.c (renamed from zephyr/program/skyrim/src/crystaldrift/usb_mux_config.c)0
-rw-r--r--zephyr/program/skyrim/fan.dtsi (renamed from zephyr/program/skyrim/fan.dts)0
-rw-r--r--zephyr/program/skyrim/frostflow/CMakeLists.txt15
-rw-r--r--zephyr/program/skyrim/frostflow/battery.dtsi (renamed from zephyr/program/skyrim/battery_frostflow.dts)0
-rw-r--r--zephyr/program/skyrim/frostflow/frostflow.dtsi (renamed from zephyr/program/skyrim/frostflow.dts)2
-rw-r--r--zephyr/program/skyrim/frostflow/include/keyboard_customization.h (renamed from zephyr/program/skyrim/include/frostflow/keyboard_customization.h)0
-rw-r--r--zephyr/program/skyrim/frostflow/led_pins.dtsi (renamed from zephyr/program/skyrim/led_pins_frostflow.dts)0
-rw-r--r--zephyr/program/skyrim/frostflow/led_policy.dtsi (renamed from zephyr/program/skyrim/led_policy_frostflow.dts)0
-rw-r--r--zephyr/program/skyrim/frostflow/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense_crystaldrift.dts)0
-rw-r--r--zephyr/program/skyrim/frostflow/project.conf (renamed from zephyr/program/skyrim/prj_frostflow.conf)0
-rw-r--r--zephyr/program/skyrim/frostflow/project.overlay19
-rw-r--r--zephyr/program/skyrim/frostflow/src/keyboard.c (renamed from zephyr/program/skyrim/src/frostflow/keyboard.c)0
-rw-r--r--zephyr/program/skyrim/frostflow/src/keyboard_customization.c (renamed from zephyr/program/skyrim/src/frostflow/keyboard_customization.c)0
-rw-r--r--zephyr/program/skyrim/frostflow/src/ppc_config.c (renamed from zephyr/program/skyrim/src/frostflow/ppc_config.c)0
-rw-r--r--zephyr/program/skyrim/frostflow/src/thermal.c (renamed from zephyr/program/skyrim/src/frostflow/thermal.c)0
-rw-r--r--zephyr/program/skyrim/frostflow/src/usb_mux_config.c (renamed from zephyr/program/skyrim/src/frostflow/usb_mux_config.c)0
-rw-r--r--zephyr/program/skyrim/gpio.dtsi (renamed from zephyr/program/skyrim/gpio.dts)0
-rw-r--r--zephyr/program/skyrim/i2c.dtsi (renamed from zephyr/program/skyrim/i2c_common.dtsi)0
-rw-r--r--zephyr/program/skyrim/include/keyboard_customization.h78
-rw-r--r--zephyr/program/skyrim/interrupts.dtsi (renamed from zephyr/program/skyrim/interrupts.dts)0
-rw-r--r--zephyr/program/skyrim/keyboard.dtsi (renamed from zephyr/program/skyrim/keyboard.dts)0
-rw-r--r--zephyr/program/skyrim/morthal/CMakeLists.txt8
-rw-r--r--zephyr/program/skyrim/morthal/battery.dtsi (renamed from zephyr/program/skyrim/battery_morthal.dts)0
-rw-r--r--zephyr/program/skyrim/morthal/led_pins.dtsi (renamed from zephyr/program/skyrim/led_pins_morthal.dts)0
-rw-r--r--zephyr/program/skyrim/morthal/led_policy.dtsi (renamed from zephyr/program/skyrim/led_policy_morthal.dts)0
-rw-r--r--zephyr/program/skyrim/morthal/morthal.dtsi (renamed from zephyr/program/skyrim/morthal.dts)2
-rw-r--r--zephyr/program/skyrim/morthal/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense_frostflow.dts)0
-rw-r--r--zephyr/program/skyrim/morthal/project.conf (renamed from zephyr/program/skyrim/prj_morthal.conf)0
-rw-r--r--zephyr/program/skyrim/morthal/project.overlay19
-rw-r--r--zephyr/program/skyrim/morthal/src/ppc_config.c (renamed from zephyr/program/skyrim/src/morthal/ppc_config.c)0
-rw-r--r--zephyr/program/skyrim/morthal/src/usb_mux_config.c (renamed from zephyr/program/skyrim/src/morthal/usb_mux_config.c)0
-rw-r--r--zephyr/program/skyrim/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense_morthal.dts)0
-rw-r--r--zephyr/program/skyrim/program.conf (renamed from zephyr/program/skyrim/prj.conf)0
-rw-r--r--zephyr/program/skyrim/skyrim/CMakeLists.txt13
-rw-r--r--zephyr/program/skyrim/skyrim/battery.dtsi (renamed from zephyr/program/skyrim/battery_skyrim.dts)0
-rw-r--r--zephyr/program/skyrim/skyrim/led_pins.dtsi (renamed from zephyr/program/skyrim/led_pins_skyrim.dts)0
-rw-r--r--zephyr/program/skyrim/skyrim/led_policy.dtsi (renamed from zephyr/program/skyrim/led_policy_skyrim.dts)0
-rw-r--r--zephyr/program/skyrim/skyrim/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense_skyrim.dts)0
-rw-r--r--zephyr/program/skyrim/skyrim/project.conf (renamed from zephyr/program/skyrim/prj_skyrim.conf)0
-rw-r--r--zephyr/program/skyrim/skyrim/project.overlay19
-rw-r--r--zephyr/program/skyrim/skyrim/skyrim.dtsi (renamed from zephyr/program/skyrim/skyrim.dts)2
-rw-r--r--zephyr/program/skyrim/skyrim/skyrim_vif.xml (renamed from zephyr/program/skyrim/skyrim_vif.xml)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/alt_charger.c (renamed from zephyr/program/skyrim/src/skyrim/alt_charger.c)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/fan.c (renamed from zephyr/program/skyrim/src/skyrim/fan.c)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/form_factor.c (renamed from zephyr/program/skyrim/src/skyrim/form_factor.c)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/keyboard.c (renamed from zephyr/program/skyrim/src/skyrim/keyboard.c)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/ppc_config.c (renamed from zephyr/program/skyrim/src/skyrim/ppc_config.c)0
-rw-r--r--zephyr/program/skyrim/skyrim/src/usb_mux_config.c (renamed from zephyr/program/skyrim/src/skyrim/usb_mux_config.c)0
-rw-r--r--zephyr/program/skyrim/usbc.dtsi (renamed from zephyr/program/skyrim/usbc.dts)0
-rw-r--r--zephyr/program/skyrim/winterhold/CMakeLists.txt12
-rw-r--r--zephyr/program/skyrim/winterhold/battery.dtsi (renamed from zephyr/program/skyrim/battery_winterhold.dts)0
-rw-r--r--zephyr/program/skyrim/winterhold/led_pins.dtsi (renamed from zephyr/program/skyrim/led_pins_winterhold.dts)0
-rw-r--r--zephyr/program/skyrim/winterhold/led_policy.dtsi (renamed from zephyr/program/skyrim/led_policy_winterhold.dts)0
-rw-r--r--zephyr/program/skyrim/winterhold/motionsense.dtsi (renamed from zephyr/program/skyrim/motionsense_winterhold.dts)0
-rw-r--r--zephyr/program/skyrim/winterhold/project.conf (renamed from zephyr/program/skyrim/prj_winterhold.conf)0
-rw-r--r--zephyr/program/skyrim/winterhold/project.overlay19
-rw-r--r--zephyr/program/skyrim/winterhold/src/battery_present.c (renamed from zephyr/program/skyrim/src/winterhold/battery_present.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/src/kb_backlight.c (renamed from zephyr/program/skyrim/src/winterhold/kb_backlight.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/src/keyboard.c (renamed from zephyr/program/skyrim/src/winterhold/keyboard.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/src/ppc_config.c (renamed from zephyr/program/skyrim/src/winterhold/ppc_config.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/src/sensor.c (renamed from zephyr/program/skyrim/src/winterhold/sensor.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/src/usb_mux_config.c (renamed from zephyr/program/skyrim/src/winterhold/usb_mux_config.c)0
-rw-r--r--zephyr/program/skyrim/winterhold/winterhold.dtsi (renamed from zephyr/program/skyrim/winterhold.dts)2
78 files changed, 250 insertions, 106 deletions
diff --git a/zephyr/program/skyrim/BUILD.py b/zephyr/program/skyrim/BUILD.py
index 654c2bf630..08c76c1f13 100644
--- a/zephyr/program/skyrim/BUILD.py
+++ b/zephyr/program/skyrim/BUILD.py
@@ -7,97 +7,42 @@
def register_skyrim_project(
project_name,
- extra_dts_overlays=(),
- extra_kconfig_files=(),
):
"""Register a variant of skyrim."""
register_npcx_project(
project_name=project_name,
zephyr_board="npcx9m3f",
dts_overlays=[
+ here / project_name / "project.overlay",
+ ],
+ kconfig_files=[
# Common to all projects.
- here / "adc.dts",
- here / "fan.dts",
- here / "gpio.dts",
- here / "interrupts.dts",
- here / "keyboard.dts",
- here / "usbc.dts",
- # Project-specific DTS customizations.
- *extra_dts_overlays,
+ here / "program.conf",
+ # Project-specific KConfig customization.
+ here / project_name / "project.conf",
],
- kconfig_files=[here / "prj.conf", *extra_kconfig_files],
)
register_skyrim_project(
project_name="morthal",
- extra_dts_overlays=[
- here / "morthal.dts",
- here / "battery_morthal.dts",
- here / "led_pins_morthal.dts",
- here / "led_policy_morthal.dts",
- here / "motionsense_morthal.dts",
- ],
- extra_kconfig_files=[
- here / "prj_morthal.conf",
- ],
)
register_skyrim_project(
project_name="skyrim",
- extra_dts_overlays=[
- here / "skyrim.dts",
- here / "battery_skyrim.dts",
- here / "led_pins_skyrim.dts",
- here / "led_policy_skyrim.dts",
- here / "motionsense_skyrim.dts",
- ],
- extra_kconfig_files=[
- here / "prj_skyrim.conf",
- ],
)
register_skyrim_project(
project_name="winterhold",
- extra_dts_overlays=[
- here / "winterhold.dts",
- here / "battery_winterhold.dts",
- here / "led_pins_winterhold.dts",
- here / "led_policy_winterhold.dts",
- here / "motionsense_winterhold.dts",
- ],
- extra_kconfig_files=[
- here / "prj_winterhold.conf",
- ],
)
register_skyrim_project(
project_name="frostflow",
- extra_dts_overlays=[
- here / "frostflow.dts",
- here / "battery_frostflow.dts",
- here / "led_pins_frostflow.dts",
- here / "led_policy_frostflow.dts",
- here / "motionsense_frostflow.dts",
- ],
- extra_kconfig_files=[
- here / "prj_frostflow.conf",
- ],
)
register_skyrim_project(
project_name="crystaldrift",
- extra_dts_overlays=[
- here / "crystaldrift.dts",
- here / "battery_crystaldrift.dts",
- here / "led_pins_crystaldrift.dts",
- here / "led_policy_crystaldrift.dts",
- here / "motionsense_crystaldrift.dts",
- ],
- extra_kconfig_files=[
- here / "prj_crystaldrift.conf",
- ],
)
diff --git a/zephyr/program/skyrim/CMakeLists.txt b/zephyr/program/skyrim/CMakeLists.txt
index 375099717e..bb1bde51a8 100644
--- a/zephyr/program/skyrim/CMakeLists.txt
+++ b/zephyr/program/skyrim/CMakeLists.txt
@@ -19,59 +19,25 @@ zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_AMD_STT
if(DEFINED CONFIG_BOARD_MORTHAL)
project(morthal)
- zephyr_library_sources(
- "src/morthal/ppc_config.c"
- "src/morthal/usb_mux_config.c"
-)
+ add_subdirectory(morthal)
endif()
if(DEFINED CONFIG_BOARD_SKYRIM)
project(skyrim)
- cros_ec_library_include_directories_ifdef(CONFIG_BOARD_SKYRIM include)
- zephyr_library_sources(
- "src/skyrim/usb_mux_config.c"
- "src/skyrim/ppc_config.c"
- "src/skyrim/form_factor.c"
- "src/skyrim/alt_charger.c"
- "src/skyrim/keyboard.c"
- )
- zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_FAN "src/skyrim/fan.c")
+ add_subdirectory(skyrim)
endif()
if(DEFINED CONFIG_BOARD_WINTERHOLD)
project(winterhold)
- zephyr_library_sources(
- "src/winterhold/usb_mux_config.c"
- "src/winterhold/ppc_config.c"
- "src/winterhold/kb_backlight.c"
- "src/winterhold/keyboard.c"
- "src/winterhold/sensor.c"
- "src/winterhold/battery_present.c"
- )
+ add_subdirectory(winterhold)
endif()
if(DEFINED CONFIG_BOARD_FROSTFLOW)
project(frostflow)
- cros_ec_library_include_directories_ifdef(CONFIG_BOARD_FROSTFLOW include)
- zephyr_include_directories("include/frostflow")
- zephyr_library_sources(
- "src/frostflow/usb_mux_config.c"
- "src/frostflow/ppc_config.c"
- "src/frostflow/thermal.c"
- )
- zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_KEYBOARD_CUSTOMIZATION
- "src/frostflow/keyboard.c"
- "src/frostflow/keyboard_customization.c")
+ add_subdirectory(frostflow)
endif()
if(DEFINED CONFIG_BOARD_CRYSTALDRIFT)
project(crystaldrift)
- cros_ec_library_include_directories_ifdef(CONFIG_BOARD_CRYSTALDRIFT include)
- zephyr_library_sources(
- "src/crystaldrift/usb_mux_config.c"
- "src/crystaldrift/ppc_config.c"
- "src/crystaldrift/form_factor.c"
- "src/crystaldrift/alt_charger.c"
- )
- zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_FAN "src/crystaldrift/fan.c")
-endif() \ No newline at end of file
+ add_subdirectory(crystaldrift)
+endif()
diff --git a/zephyr/program/skyrim/adc.dts b/zephyr/program/skyrim/adc.dtsi
index 952e5db1d0..952e5db1d0 100644
--- a/zephyr/program/skyrim/adc.dts
+++ b/zephyr/program/skyrim/adc.dtsi
diff --git a/zephyr/program/skyrim/crystaldrift/CMakeLists.txt b/zephyr/program/skyrim/crystaldrift/CMakeLists.txt
new file mode 100644
index 0000000000..6e50c3d40e
--- /dev/null
+++ b/zephyr/program/skyrim/crystaldrift/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+cros_ec_library_include_directories_ifdef(CONFIG_BOARD_CRYSTALDRIFT include)
+zephyr_library_sources(
+ "src/usb_mux_config.c"
+ "src/ppc_config.c"
+ "src/form_factor.c"
+ "src/alt_charger.c"
+)
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_FAN "src/fan.c")
diff --git a/zephyr/program/skyrim/battery_crystaldrift.dts b/zephyr/program/skyrim/crystaldrift/battery.dtsi
index 6b1799c233..6b1799c233 100644
--- a/zephyr/program/skyrim/battery_crystaldrift.dts
+++ b/zephyr/program/skyrim/crystaldrift/battery.dtsi
diff --git a/zephyr/program/skyrim/crystaldrift.dts b/zephyr/program/skyrim/crystaldrift/crystaldrift.dtsi
index 36e5b58e13..812f97a7c7 100644
--- a/zephyr/program/skyrim/crystaldrift.dts
+++ b/zephyr/program/skyrim/crystaldrift/crystaldrift.dtsi
@@ -5,7 +5,7 @@
#include <dt-bindings/usbc_mux.h>
-#include "i2c_common.dtsi"
+#include "../i2c.dtsi"
/ {
named-gpios {
diff --git a/zephyr/program/skyrim/led_pins_crystaldrift.dts b/zephyr/program/skyrim/crystaldrift/led_pins.dtsi
index f778a24a51..f778a24a51 100644
--- a/zephyr/program/skyrim/led_pins_crystaldrift.dts
+++ b/zephyr/program/skyrim/crystaldrift/led_pins.dtsi
diff --git a/zephyr/program/skyrim/led_policy_crystaldrift.dts b/zephyr/program/skyrim/crystaldrift/led_policy.dtsi
index a075c6b0d2..a075c6b0d2 100644
--- a/zephyr/program/skyrim/led_policy_crystaldrift.dts
+++ b/zephyr/program/skyrim/crystaldrift/led_policy.dtsi
diff --git a/zephyr/program/skyrim/motionsense.dts b/zephyr/program/skyrim/crystaldrift/motionsense.dtsi
index f943bea4c8..f943bea4c8 100644
--- a/zephyr/program/skyrim/motionsense.dts
+++ b/zephyr/program/skyrim/crystaldrift/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj_crystaldrift.conf b/zephyr/program/skyrim/crystaldrift/project.conf
index e9339c1c3c..e9339c1c3c 100644
--- a/zephyr/program/skyrim/prj_crystaldrift.conf
+++ b/zephyr/program/skyrim/crystaldrift/project.conf
diff --git a/zephyr/program/skyrim/crystaldrift/project.overlay b/zephyr/program/skyrim/crystaldrift/project.overlay
new file mode 100644
index 0000000000..1192bb0d16
--- /dev/null
+++ b/zephyr/program/skyrim/crystaldrift/project.overlay
@@ -0,0 +1,19 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Skyrim program common DTS includes */
+#include "../adc.dtsi"
+#include "../fan.dtsi"
+#include "../gpio.dtsi"
+#include "../interrupts.dtsi"
+#include "../keyboard.dtsi"
+#include "../usbc.dtsi"
+
+/* Crystaldrift project DTS includes*/
+#include "crystaldrift.dtsi"
+#include "battery.dtsi"
+#include "led_pins.dtsi"
+#include "led_policy.dtsi"
+#include "motionsense.dtsi"
diff --git a/zephyr/program/skyrim/src/crystaldrift/alt_charger.c b/zephyr/program/skyrim/crystaldrift/src/alt_charger.c
index a429457136..a429457136 100644
--- a/zephyr/program/skyrim/src/crystaldrift/alt_charger.c
+++ b/zephyr/program/skyrim/crystaldrift/src/alt_charger.c
diff --git a/zephyr/program/skyrim/src/crystaldrift/fan.c b/zephyr/program/skyrim/crystaldrift/src/fan.c
index 6645e2a495..6645e2a495 100644
--- a/zephyr/program/skyrim/src/crystaldrift/fan.c
+++ b/zephyr/program/skyrim/crystaldrift/src/fan.c
diff --git a/zephyr/program/skyrim/src/crystaldrift/form_factor.c b/zephyr/program/skyrim/crystaldrift/src/form_factor.c
index 688765617b..688765617b 100644
--- a/zephyr/program/skyrim/src/crystaldrift/form_factor.c
+++ b/zephyr/program/skyrim/crystaldrift/src/form_factor.c
diff --git a/zephyr/program/skyrim/src/crystaldrift/ppc_config.c b/zephyr/program/skyrim/crystaldrift/src/ppc_config.c
index 3913fda4dc..3913fda4dc 100644
--- a/zephyr/program/skyrim/src/crystaldrift/ppc_config.c
+++ b/zephyr/program/skyrim/crystaldrift/src/ppc_config.c
diff --git a/zephyr/program/skyrim/src/crystaldrift/usb_mux_config.c b/zephyr/program/skyrim/crystaldrift/src/usb_mux_config.c
index 0e08431360..0e08431360 100644
--- a/zephyr/program/skyrim/src/crystaldrift/usb_mux_config.c
+++ b/zephyr/program/skyrim/crystaldrift/src/usb_mux_config.c
diff --git a/zephyr/program/skyrim/fan.dts b/zephyr/program/skyrim/fan.dtsi
index dff26bcb29..dff26bcb29 100644
--- a/zephyr/program/skyrim/fan.dts
+++ b/zephyr/program/skyrim/fan.dtsi
diff --git a/zephyr/program/skyrim/frostflow/CMakeLists.txt b/zephyr/program/skyrim/frostflow/CMakeLists.txt
new file mode 100644
index 0000000000..dd7eae2384
--- /dev/null
+++ b/zephyr/program/skyrim/frostflow/CMakeLists.txt
@@ -0,0 +1,15 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+cros_ec_library_include_directories_ifdef(CONFIG_BOARD_FROSTFLOW include)
+zephyr_include_directories("include")
+zephyr_library_sources(
+ "src/usb_mux_config.c"
+ "src/ppc_config.c"
+ "src/thermal.c"
+)
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_KEYBOARD_CUSTOMIZATION
+ "src/keyboard.c"
+ "src/keyboard_customization.c"
+)
diff --git a/zephyr/program/skyrim/battery_frostflow.dts b/zephyr/program/skyrim/frostflow/battery.dtsi
index 2d6b28de70..2d6b28de70 100644
--- a/zephyr/program/skyrim/battery_frostflow.dts
+++ b/zephyr/program/skyrim/frostflow/battery.dtsi
diff --git a/zephyr/program/skyrim/frostflow.dts b/zephyr/program/skyrim/frostflow/frostflow.dtsi
index 5e4a21ae57..1cadf7ee2d 100644
--- a/zephyr/program/skyrim/frostflow.dts
+++ b/zephyr/program/skyrim/frostflow/frostflow.dtsi
@@ -5,7 +5,7 @@
#include <dt-bindings/usbc_mux.h>
-#include "i2c_common.dtsi"
+#include "../i2c.dtsi"
/ {
named-gpios {
diff --git a/zephyr/program/skyrim/include/frostflow/keyboard_customization.h b/zephyr/program/skyrim/frostflow/include/keyboard_customization.h
index 2d2a997f91..2d2a997f91 100644
--- a/zephyr/program/skyrim/include/frostflow/keyboard_customization.h
+++ b/zephyr/program/skyrim/frostflow/include/keyboard_customization.h
diff --git a/zephyr/program/skyrim/led_pins_frostflow.dts b/zephyr/program/skyrim/frostflow/led_pins.dtsi
index 78b9a59c40..78b9a59c40 100644
--- a/zephyr/program/skyrim/led_pins_frostflow.dts
+++ b/zephyr/program/skyrim/frostflow/led_pins.dtsi
diff --git a/zephyr/program/skyrim/led_policy_frostflow.dts b/zephyr/program/skyrim/frostflow/led_policy.dtsi
index e5875640fb..e5875640fb 100644
--- a/zephyr/program/skyrim/led_policy_frostflow.dts
+++ b/zephyr/program/skyrim/frostflow/led_policy.dtsi
diff --git a/zephyr/program/skyrim/motionsense_crystaldrift.dts b/zephyr/program/skyrim/frostflow/motionsense.dtsi
index f943bea4c8..f943bea4c8 100644
--- a/zephyr/program/skyrim/motionsense_crystaldrift.dts
+++ b/zephyr/program/skyrim/frostflow/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj_frostflow.conf b/zephyr/program/skyrim/frostflow/project.conf
index 02da02d35d..02da02d35d 100644
--- a/zephyr/program/skyrim/prj_frostflow.conf
+++ b/zephyr/program/skyrim/frostflow/project.conf
diff --git a/zephyr/program/skyrim/frostflow/project.overlay b/zephyr/program/skyrim/frostflow/project.overlay
new file mode 100644
index 0000000000..a1bc7dbb5e
--- /dev/null
+++ b/zephyr/program/skyrim/frostflow/project.overlay
@@ -0,0 +1,19 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Skyrim program common DTS includes */
+#include "../adc.dtsi"
+#include "../fan.dtsi"
+#include "../gpio.dtsi"
+#include "../interrupts.dtsi"
+#include "../keyboard.dtsi"
+#include "../usbc.dtsi"
+
+/* Frostflow project DTS includes*/
+#include "frostflow.dtsi"
+#include "battery.dtsi"
+#include "led_pins.dtsi"
+#include "led_policy.dtsi"
+#include "motionsense.dtsi"
diff --git a/zephyr/program/skyrim/src/frostflow/keyboard.c b/zephyr/program/skyrim/frostflow/src/keyboard.c
index 2905f17941..2905f17941 100644
--- a/zephyr/program/skyrim/src/frostflow/keyboard.c
+++ b/zephyr/program/skyrim/frostflow/src/keyboard.c
diff --git a/zephyr/program/skyrim/src/frostflow/keyboard_customization.c b/zephyr/program/skyrim/frostflow/src/keyboard_customization.c
index bd02940e03..bd02940e03 100644
--- a/zephyr/program/skyrim/src/frostflow/keyboard_customization.c
+++ b/zephyr/program/skyrim/frostflow/src/keyboard_customization.c
diff --git a/zephyr/program/skyrim/src/frostflow/ppc_config.c b/zephyr/program/skyrim/frostflow/src/ppc_config.c
index 513c025dec..513c025dec 100644
--- a/zephyr/program/skyrim/src/frostflow/ppc_config.c
+++ b/zephyr/program/skyrim/frostflow/src/ppc_config.c
diff --git a/zephyr/program/skyrim/src/frostflow/thermal.c b/zephyr/program/skyrim/frostflow/src/thermal.c
index eae8aac25d..eae8aac25d 100644
--- a/zephyr/program/skyrim/src/frostflow/thermal.c
+++ b/zephyr/program/skyrim/frostflow/src/thermal.c
diff --git a/zephyr/program/skyrim/src/frostflow/usb_mux_config.c b/zephyr/program/skyrim/frostflow/src/usb_mux_config.c
index 2ec1dda0be..2ec1dda0be 100644
--- a/zephyr/program/skyrim/src/frostflow/usb_mux_config.c
+++ b/zephyr/program/skyrim/frostflow/src/usb_mux_config.c
diff --git a/zephyr/program/skyrim/gpio.dts b/zephyr/program/skyrim/gpio.dtsi
index 2b79bad222..2b79bad222 100644
--- a/zephyr/program/skyrim/gpio.dts
+++ b/zephyr/program/skyrim/gpio.dtsi
diff --git a/zephyr/program/skyrim/i2c_common.dtsi b/zephyr/program/skyrim/i2c.dtsi
index 460a6bcfd2..460a6bcfd2 100644
--- a/zephyr/program/skyrim/i2c_common.dtsi
+++ b/zephyr/program/skyrim/i2c.dtsi
diff --git a/zephyr/program/skyrim/include/keyboard_customization.h b/zephyr/program/skyrim/include/keyboard_customization.h
new file mode 100644
index 0000000000..2d2a997f91
--- /dev/null
+++ b/zephyr/program/skyrim/include/keyboard_customization.h
@@ -0,0 +1,78 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Keyboard configuration */
+
+#ifndef __KEYBOARD_CUSTOMIZATION_H
+#define __KEYBOARD_CUSTOMIZATION_H
+
+/*
+ * KEYBOARD_COLS_MAX has the build time column size. It's used to allocate
+ * exact spaces for arrays. Actual keyboard scanning is done using
+ * keyboard_cols, which holds a runtime column size.
+ */
+#ifdef CONFIG_KEYBOARD_CUSTOMIZATION
+#undef KEYBOARD_COLS_MAX
+#undef KEYBOARD_ROWS
+
+#define KEYBOARD_COLS_MAX 15
+#define KEYBOARD_ROWS 8
+#endif
+
+/*
+ * WARNING: Do not directly modify it. You should call keyboard_raw_set_cols,
+ * instead. It checks whether you're eligible or not.
+ */
+extern uint8_t keyboard_cols;
+
+#define KEYBOARD_ROW_TO_MASK(r) (1 << (r))
+
+/* Columns and masks for keys we particularly care about */
+#define KEYBOARD_COL_DOWN 11
+#define KEYBOARD_ROW_DOWN 5
+#define KEYBOARD_MASK_DOWN KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_DOWN)
+#define KEYBOARD_COL_ESC 1
+#define KEYBOARD_ROW_ESC 1
+#define KEYBOARD_MASK_ESC KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_ESC)
+#define KEYBOARD_COL_KEY_H 6
+#define KEYBOARD_ROW_KEY_H 1
+#define KEYBOARD_MASK_KEY_H KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_H)
+#define KEYBOARD_COL_KEY_R 3
+#define KEYBOARD_ROW_KEY_R 7
+#define KEYBOARD_MASK_KEY_R KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_R)
+#define KEYBOARD_COL_LEFT_ALT 10
+#define KEYBOARD_ROW_LEFT_ALT 6
+#define KEYBOARD_MASK_LEFT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_ALT)
+#define KEYBOARD_COL_REFRESH 2
+#define KEYBOARD_ROW_REFRESH 3
+#define KEYBOARD_MASK_REFRESH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_REFRESH)
+#define KEYBOARD_COL_RIGHT_ALT 10
+#define KEYBOARD_ROW_RIGHT_ALT 0
+#define KEYBOARD_MASK_RIGHT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_RIGHT_ALT)
+#define KEYBOARD_DEFAULT_COL_VOL_UP 4
+#define KEYBOARD_DEFAULT_ROW_VOL_UP 1
+#define KEYBOARD_COL_LEFT_CTRL 0
+#define KEYBOARD_ROW_LEFT_CTRL 2
+#define KEYBOARD_MASK_LEFT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_CTRL)
+#define KEYBOARD_COL_RIGHT_CTRL 0
+#define KEYBOARD_ROW_RIGHT_CTRL 4
+#define KEYBOARD_MASK_RIGHT_CTRL KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_RIGHT_CTRL)
+#define KEYBOARD_COL_SEARCH 0
+#define KEYBOARD_ROW_SEARCH 3
+#define KEYBOARD_MASK_SEARCH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_SEARCH)
+#define KEYBOARD_COL_KEY_0 9
+#define KEYBOARD_ROW_KEY_0 0
+#define KEYBOARD_MASK_KEY_0 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_0)
+#define KEYBOARD_COL_KEY_1 1
+#define KEYBOARD_ROW_KEY_1 7
+#define KEYBOARD_MASK_KEY_1 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_1)
+#define KEYBOARD_COL_KEY_2 4
+#define KEYBOARD_ROW_KEY_2 6
+#define KEYBOARD_MASK_KEY_2 KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_KEY_2)
+#define KEYBOARD_COL_LEFT_SHIFT 7
+#define KEYBOARD_ROW_LEFT_SHIFT 1
+#define KEYBOARD_MASK_LEFT_SHIFT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_SHIFT)
+
+#endif /* __KEYBOARD_CUSTOMIZATION_H */
diff --git a/zephyr/program/skyrim/interrupts.dts b/zephyr/program/skyrim/interrupts.dtsi
index de4e87986a..de4e87986a 100644
--- a/zephyr/program/skyrim/interrupts.dts
+++ b/zephyr/program/skyrim/interrupts.dtsi
diff --git a/zephyr/program/skyrim/keyboard.dts b/zephyr/program/skyrim/keyboard.dtsi
index aaf305c725..aaf305c725 100644
--- a/zephyr/program/skyrim/keyboard.dts
+++ b/zephyr/program/skyrim/keyboard.dtsi
diff --git a/zephyr/program/skyrim/morthal/CMakeLists.txt b/zephyr/program/skyrim/morthal/CMakeLists.txt
new file mode 100644
index 0000000000..b4819f1e73
--- /dev/null
+++ b/zephyr/program/skyrim/morthal/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+zephyr_library_sources(
+ "src/ppc_config.c"
+ "src/usb_mux_config.c"
+)
diff --git a/zephyr/program/skyrim/battery_morthal.dts b/zephyr/program/skyrim/morthal/battery.dtsi
index 8c87cef7f9..8c87cef7f9 100644
--- a/zephyr/program/skyrim/battery_morthal.dts
+++ b/zephyr/program/skyrim/morthal/battery.dtsi
diff --git a/zephyr/program/skyrim/led_pins_morthal.dts b/zephyr/program/skyrim/morthal/led_pins.dtsi
index 78b9a59c40..78b9a59c40 100644
--- a/zephyr/program/skyrim/led_pins_morthal.dts
+++ b/zephyr/program/skyrim/morthal/led_pins.dtsi
diff --git a/zephyr/program/skyrim/led_policy_morthal.dts b/zephyr/program/skyrim/morthal/led_policy.dtsi
index a075c6b0d2..a075c6b0d2 100644
--- a/zephyr/program/skyrim/led_policy_morthal.dts
+++ b/zephyr/program/skyrim/morthal/led_policy.dtsi
diff --git a/zephyr/program/skyrim/morthal.dts b/zephyr/program/skyrim/morthal/morthal.dtsi
index a0c89e1d5c..99a062220d 100644
--- a/zephyr/program/skyrim/morthal.dts
+++ b/zephyr/program/skyrim/morthal/morthal.dtsi
@@ -5,7 +5,7 @@
#include <dt-bindings/usbc_mux.h>
-#include "i2c_common.dtsi"
+#include "../i2c.dtsi"
/ {
named-gpios {
diff --git a/zephyr/program/skyrim/motionsense_frostflow.dts b/zephyr/program/skyrim/morthal/motionsense.dtsi
index f943bea4c8..f943bea4c8 100644
--- a/zephyr/program/skyrim/motionsense_frostflow.dts
+++ b/zephyr/program/skyrim/morthal/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj_morthal.conf b/zephyr/program/skyrim/morthal/project.conf
index 8a22f58ab8..8a22f58ab8 100644
--- a/zephyr/program/skyrim/prj_morthal.conf
+++ b/zephyr/program/skyrim/morthal/project.conf
diff --git a/zephyr/program/skyrim/morthal/project.overlay b/zephyr/program/skyrim/morthal/project.overlay
new file mode 100644
index 0000000000..a41d358cce
--- /dev/null
+++ b/zephyr/program/skyrim/morthal/project.overlay
@@ -0,0 +1,19 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Skyrim program common DTS includes */
+#include "../adc.dtsi"
+#include "../fan.dtsi"
+#include "../gpio.dtsi"
+#include "../interrupts.dtsi"
+#include "../keyboard.dtsi"
+#include "../usbc.dtsi"
+
+/* Morthal project DTS includes*/
+#include "morthal.dtsi"
+#include "battery.dtsi"
+#include "led_pins.dtsi"
+#include "led_policy.dtsi"
+#include "motionsense.dtsi"
diff --git a/zephyr/program/skyrim/src/morthal/ppc_config.c b/zephyr/program/skyrim/morthal/src/ppc_config.c
index 8108742fdc..8108742fdc 100644
--- a/zephyr/program/skyrim/src/morthal/ppc_config.c
+++ b/zephyr/program/skyrim/morthal/src/ppc_config.c
diff --git a/zephyr/program/skyrim/src/morthal/usb_mux_config.c b/zephyr/program/skyrim/morthal/src/usb_mux_config.c
index f4b6502b35..f4b6502b35 100644
--- a/zephyr/program/skyrim/src/morthal/usb_mux_config.c
+++ b/zephyr/program/skyrim/morthal/src/usb_mux_config.c
diff --git a/zephyr/program/skyrim/motionsense_morthal.dts b/zephyr/program/skyrim/motionsense.dtsi
index f943bea4c8..f943bea4c8 100644
--- a/zephyr/program/skyrim/motionsense_morthal.dts
+++ b/zephyr/program/skyrim/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj.conf b/zephyr/program/skyrim/program.conf
index e879e1153b..e879e1153b 100644
--- a/zephyr/program/skyrim/prj.conf
+++ b/zephyr/program/skyrim/program.conf
diff --git a/zephyr/program/skyrim/skyrim/CMakeLists.txt b/zephyr/program/skyrim/skyrim/CMakeLists.txt
new file mode 100644
index 0000000000..fef1c72a31
--- /dev/null
+++ b/zephyr/program/skyrim/skyrim/CMakeLists.txt
@@ -0,0 +1,13 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+cros_ec_library_include_directories_ifdef(CONFIG_BOARD_SKYRIM include)
+zephyr_library_sources(
+ "src/usb_mux_config.c"
+ "src/ppc_config.c"
+ "src/form_factor.c"
+ "src/alt_charger.c"
+ "src/keyboard.c"
+)
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_FAN "src/fan.c")
diff --git a/zephyr/program/skyrim/battery_skyrim.dts b/zephyr/program/skyrim/skyrim/battery.dtsi
index 8c87cef7f9..8c87cef7f9 100644
--- a/zephyr/program/skyrim/battery_skyrim.dts
+++ b/zephyr/program/skyrim/skyrim/battery.dtsi
diff --git a/zephyr/program/skyrim/led_pins_skyrim.dts b/zephyr/program/skyrim/skyrim/led_pins.dtsi
index 78b9a59c40..78b9a59c40 100644
--- a/zephyr/program/skyrim/led_pins_skyrim.dts
+++ b/zephyr/program/skyrim/skyrim/led_pins.dtsi
diff --git a/zephyr/program/skyrim/led_policy_skyrim.dts b/zephyr/program/skyrim/skyrim/led_policy.dtsi
index a075c6b0d2..a075c6b0d2 100644
--- a/zephyr/program/skyrim/led_policy_skyrim.dts
+++ b/zephyr/program/skyrim/skyrim/led_policy.dtsi
diff --git a/zephyr/program/skyrim/motionsense_skyrim.dts b/zephyr/program/skyrim/skyrim/motionsense.dtsi
index f943bea4c8..f943bea4c8 100644
--- a/zephyr/program/skyrim/motionsense_skyrim.dts
+++ b/zephyr/program/skyrim/skyrim/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj_skyrim.conf b/zephyr/program/skyrim/skyrim/project.conf
index 67b3f0f142..67b3f0f142 100644
--- a/zephyr/program/skyrim/prj_skyrim.conf
+++ b/zephyr/program/skyrim/skyrim/project.conf
diff --git a/zephyr/program/skyrim/skyrim/project.overlay b/zephyr/program/skyrim/skyrim/project.overlay
new file mode 100644
index 0000000000..9b61b2ac9b
--- /dev/null
+++ b/zephyr/program/skyrim/skyrim/project.overlay
@@ -0,0 +1,19 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Skyrim program common DTS includes */
+#include "../adc.dtsi"
+#include "../fan.dtsi"
+#include "../gpio.dtsi"
+#include "../interrupts.dtsi"
+#include "../keyboard.dtsi"
+#include "../usbc.dtsi"
+
+/* Skyrim project DTS includes*/
+#include "skyrim.dtsi"
+#include "battery.dtsi"
+#include "led_pins.dtsi"
+#include "led_policy.dtsi"
+#include "motionsense.dtsi"
diff --git a/zephyr/program/skyrim/skyrim.dts b/zephyr/program/skyrim/skyrim/skyrim.dtsi
index c19f8a5949..1037df1c8c 100644
--- a/zephyr/program/skyrim/skyrim.dts
+++ b/zephyr/program/skyrim/skyrim/skyrim.dtsi
@@ -5,7 +5,7 @@
#include <dt-bindings/usbc_mux.h>
-#include "i2c_common.dtsi"
+#include "../i2c.dtsi"
/ {
named-gpios {
diff --git a/zephyr/program/skyrim/skyrim_vif.xml b/zephyr/program/skyrim/skyrim/skyrim_vif.xml
index 28d6f19049..28d6f19049 100644
--- a/zephyr/program/skyrim/skyrim_vif.xml
+++ b/zephyr/program/skyrim/skyrim/skyrim_vif.xml
diff --git a/zephyr/program/skyrim/src/skyrim/alt_charger.c b/zephyr/program/skyrim/skyrim/src/alt_charger.c
index 91e5af8426..91e5af8426 100644
--- a/zephyr/program/skyrim/src/skyrim/alt_charger.c
+++ b/zephyr/program/skyrim/skyrim/src/alt_charger.c
diff --git a/zephyr/program/skyrim/src/skyrim/fan.c b/zephyr/program/skyrim/skyrim/src/fan.c
index c584022a92..c584022a92 100644
--- a/zephyr/program/skyrim/src/skyrim/fan.c
+++ b/zephyr/program/skyrim/skyrim/src/fan.c
diff --git a/zephyr/program/skyrim/src/skyrim/form_factor.c b/zephyr/program/skyrim/skyrim/src/form_factor.c
index b13d905364..b13d905364 100644
--- a/zephyr/program/skyrim/src/skyrim/form_factor.c
+++ b/zephyr/program/skyrim/skyrim/src/form_factor.c
diff --git a/zephyr/program/skyrim/src/skyrim/keyboard.c b/zephyr/program/skyrim/skyrim/src/keyboard.c
index e261321e86..e261321e86 100644
--- a/zephyr/program/skyrim/src/skyrim/keyboard.c
+++ b/zephyr/program/skyrim/skyrim/src/keyboard.c
diff --git a/zephyr/program/skyrim/src/skyrim/ppc_config.c b/zephyr/program/skyrim/skyrim/src/ppc_config.c
index 047103baee..047103baee 100644
--- a/zephyr/program/skyrim/src/skyrim/ppc_config.c
+++ b/zephyr/program/skyrim/skyrim/src/ppc_config.c
diff --git a/zephyr/program/skyrim/src/skyrim/usb_mux_config.c b/zephyr/program/skyrim/skyrim/src/usb_mux_config.c
index 8d409dffdd..8d409dffdd 100644
--- a/zephyr/program/skyrim/src/skyrim/usb_mux_config.c
+++ b/zephyr/program/skyrim/skyrim/src/usb_mux_config.c
diff --git a/zephyr/program/skyrim/usbc.dts b/zephyr/program/skyrim/usbc.dtsi
index 8486927e8d..8486927e8d 100644
--- a/zephyr/program/skyrim/usbc.dts
+++ b/zephyr/program/skyrim/usbc.dtsi
diff --git a/zephyr/program/skyrim/winterhold/CMakeLists.txt b/zephyr/program/skyrim/winterhold/CMakeLists.txt
new file mode 100644
index 0000000000..ebd01a87e6
--- /dev/null
+++ b/zephyr/program/skyrim/winterhold/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+zephyr_library_sources(
+ "src/usb_mux_config.c"
+ "src/ppc_config.c"
+ "src/kb_backlight.c"
+ "src/keyboard.c"
+ "src/sensor.c"
+ "src/battery_present.c"
+)
diff --git a/zephyr/program/skyrim/battery_winterhold.dts b/zephyr/program/skyrim/winterhold/battery.dtsi
index 8e82e0d1f2..8e82e0d1f2 100644
--- a/zephyr/program/skyrim/battery_winterhold.dts
+++ b/zephyr/program/skyrim/winterhold/battery.dtsi
diff --git a/zephyr/program/skyrim/led_pins_winterhold.dts b/zephyr/program/skyrim/winterhold/led_pins.dtsi
index 78b9a59c40..78b9a59c40 100644
--- a/zephyr/program/skyrim/led_pins_winterhold.dts
+++ b/zephyr/program/skyrim/winterhold/led_pins.dtsi
diff --git a/zephyr/program/skyrim/led_policy_winterhold.dts b/zephyr/program/skyrim/winterhold/led_policy.dtsi
index f1f8aa31ed..f1f8aa31ed 100644
--- a/zephyr/program/skyrim/led_policy_winterhold.dts
+++ b/zephyr/program/skyrim/winterhold/led_policy.dtsi
diff --git a/zephyr/program/skyrim/motionsense_winterhold.dts b/zephyr/program/skyrim/winterhold/motionsense.dtsi
index 60d345c0a2..60d345c0a2 100644
--- a/zephyr/program/skyrim/motionsense_winterhold.dts
+++ b/zephyr/program/skyrim/winterhold/motionsense.dtsi
diff --git a/zephyr/program/skyrim/prj_winterhold.conf b/zephyr/program/skyrim/winterhold/project.conf
index 84be72ec0e..84be72ec0e 100644
--- a/zephyr/program/skyrim/prj_winterhold.conf
+++ b/zephyr/program/skyrim/winterhold/project.conf
diff --git a/zephyr/program/skyrim/winterhold/project.overlay b/zephyr/program/skyrim/winterhold/project.overlay
new file mode 100644
index 0000000000..9a13a1a3cd
--- /dev/null
+++ b/zephyr/program/skyrim/winterhold/project.overlay
@@ -0,0 +1,19 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Skyrim program common DTS includes */
+#include "../adc.dtsi"
+#include "../fan.dtsi"
+#include "../gpio.dtsi"
+#include "../interrupts.dtsi"
+#include "../keyboard.dtsi"
+#include "../usbc.dtsi"
+
+/* winterhold project DTS includes*/
+#include "winterhold.dtsi"
+#include "battery.dtsi"
+#include "led_pins.dtsi"
+#include "led_policy.dtsi"
+#include "motionsense.dtsi"
diff --git a/zephyr/program/skyrim/src/winterhold/battery_present.c b/zephyr/program/skyrim/winterhold/src/battery_present.c
index 290955a242..290955a242 100644
--- a/zephyr/program/skyrim/src/winterhold/battery_present.c
+++ b/zephyr/program/skyrim/winterhold/src/battery_present.c
diff --git a/zephyr/program/skyrim/src/winterhold/kb_backlight.c b/zephyr/program/skyrim/winterhold/src/kb_backlight.c
index cbbfc0a4e9..cbbfc0a4e9 100644
--- a/zephyr/program/skyrim/src/winterhold/kb_backlight.c
+++ b/zephyr/program/skyrim/winterhold/src/kb_backlight.c
diff --git a/zephyr/program/skyrim/src/winterhold/keyboard.c b/zephyr/program/skyrim/winterhold/src/keyboard.c
index d3aebe0f2e..d3aebe0f2e 100644
--- a/zephyr/program/skyrim/src/winterhold/keyboard.c
+++ b/zephyr/program/skyrim/winterhold/src/keyboard.c
diff --git a/zephyr/program/skyrim/src/winterhold/ppc_config.c b/zephyr/program/skyrim/winterhold/src/ppc_config.c
index d6adb145ff..d6adb145ff 100644
--- a/zephyr/program/skyrim/src/winterhold/ppc_config.c
+++ b/zephyr/program/skyrim/winterhold/src/ppc_config.c
diff --git a/zephyr/program/skyrim/src/winterhold/sensor.c b/zephyr/program/skyrim/winterhold/src/sensor.c
index 52cd201705..52cd201705 100644
--- a/zephyr/program/skyrim/src/winterhold/sensor.c
+++ b/zephyr/program/skyrim/winterhold/src/sensor.c
diff --git a/zephyr/program/skyrim/src/winterhold/usb_mux_config.c b/zephyr/program/skyrim/winterhold/src/usb_mux_config.c
index 19153eb676..19153eb676 100644
--- a/zephyr/program/skyrim/src/winterhold/usb_mux_config.c
+++ b/zephyr/program/skyrim/winterhold/src/usb_mux_config.c
diff --git a/zephyr/program/skyrim/winterhold.dts b/zephyr/program/skyrim/winterhold/winterhold.dtsi
index 356aca07e2..a831cd9500 100644
--- a/zephyr/program/skyrim/winterhold.dts
+++ b/zephyr/program/skyrim/winterhold/winterhold.dtsi
@@ -5,7 +5,7 @@
#include <dt-bindings/usbc_mux.h>
-#include "i2c_common.dtsi"
+#include "../i2c.dtsi"
/ {
named-gpios {