diff --git a/BUILD.bazel b/BUILD.bazel
index 072a1dd..90d9741 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -12,440 +12,23 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@bazel_skylib//rules/directory:subdirectory.bzl", "subdirectory")
-load("//:defs.bzl", "zephyr_includes")
+load("@rules_cc//cc:defs.bzl", "cc_library")
 
 package(default_visibility = ["//visibility:public"])
 
-filegroup(
-  name = "dt_bindings",
-  srcs = [
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32e10x.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/numaker_m46x_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32wb_l_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32u5_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/intel_socfpga_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/npcx4_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32f4xx.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32vf103.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32l0_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32wba_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32h5_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32l1_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32h7_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32mp1_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32f2_4_7_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32f3x0.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32f0_1_3_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32c0_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32l23x.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32e50x.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32g4_l4_5_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/numaker_m2l31x_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32a50x.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/ast10x0_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/npcx9_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/stm32g0_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/gd32f403.h",
-    "@zephyr//:include/zephyr/dt-bindings/reset/npcx7_reset.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/nrf-adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/b91-adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/ads114s0x_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/smartbond-adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/mcux-lpadc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32f1_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32f4_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/gd32f3x0.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32h7_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32l4_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/adc/stm32u5_adc.h",
-    "@zephyr//:include/zephyr/dt-bindings/dt-util.h",
-    "@zephyr//:include/zephyr/dt-bindings/inputmux/inputmux_trigger_ports.h",
-    "@zephyr//:include/zephyr/dt-bindings/pm/imx_spc.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/infineon-xmc4xxx-intc.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/esp32s2-xtensa-intmux.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/openisa-intmux.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/intel-ioapic.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/esp-xtensa-intmux.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/ti-vim.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/renesas-ra-icu.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/arm-gic.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/esp32s3-xtensa-intmux.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/esp-esp32c3-intmux.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/ite-intc.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/it8xxx2-wuc.h",
-    "@zephyr//:include/zephyr/dt-bindings/interrupt-controller/mchp-xec-ecia.h",
-    "@zephyr//:include/zephyr/dt-bindings/led/worldsemi_ws2812c.h",
-    "@zephyr//:include/zephyr/dt-bindings/led/seagate_legend_b1414.h",
-    "@zephyr//:include/zephyr/dt-bindings/led/led.h",
-    "@zephyr//:include/zephyr/dt-bindings/input/input-event-codes.h",
-    "@zephyr//:include/zephyr/dt-bindings/input/esp32-touch-sensor-input.h",
-    "@zephyr//:include/zephyr/dt-bindings/input/keymap.h",
-    "@zephyr//:include/zephyr/dt-bindings/misc/nordic-nrf-ficr-nrf54h20.h",
-    "@zephyr//:include/zephyr/dt-bindings/dma/gd32_dma.h",
-    "@zephyr//:include/zephyr/dt-bindings/dma/infineon-xmc4xxx-dma.h",
-    "@zephyr//:include/zephyr/dt-bindings/dma/rpi_pico_dma.h",
-    "@zephyr//:include/zephyr/dt-bindings/dma/stm32_dma.h",
-    "@zephyr//:include/zephyr/dt-bindings/i2c/i2c.h",
-    "@zephyr//:include/zephyr/dt-bindings/i2c/it8xxx2-i2c.h",
-    "@zephyr//:include/zephyr/dt-bindings/ipc_service/static_vrings.h",
-    "@zephyr//:include/zephyr/dt-bindings/gnss/u_blox_m10.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32g0_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f3_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32wl_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32wb_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/npcx_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/lpc11u6x_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32h7_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/intel_socfpga_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32e50x-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/esp32_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/esp32s2_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32l0_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f427_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/rpi_pico_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/numaker_m46x_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/nxp_s32k344_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/nxp_s32z2_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32g4_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/numaker_m2l31x_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32f403-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/r7fa4m1xxxxxx-clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f7_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32l23x-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/imx_ccm.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32-clocks-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32c0_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/ast10x0_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/kinetis_pcc.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32a50x-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32l4_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32f3x0-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/imx8ulp_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32_common_clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/esp32c3_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32l1_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/mchp_xec_pcr.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/esp32s3_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32wba_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/kinetis_mcg.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f4_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/kinetis_scg.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32vf103-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32u5_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/r8a7795_cpg_mssr.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/renesas-ra-cgc.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f0_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f1_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32h5_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32e10x-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/stm32f410_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/mcux_lpc_syscon_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/nxp_s32k146_clock.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/r8a779f0_cpg_mssr.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/atmel_sam_pmc.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/imx_ccm_rev2.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/gd32f4xx-clocks.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/kinetis_sim.h",
-    "@zephyr//:include/zephyr/dt-bindings/clock/renesas_cpg_mssr.h",
-    "@zephyr//:include/zephyr/dt-bindings/timer/stm32-timer.h",
-    "@zephyr//:include/zephyr/dt-bindings/timer/nuclei-systimer.h",
-    "@zephyr//:include/zephyr/dt-bindings/acpi/acpi.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/snps-designware-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/andestech-atcgpio100.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nuvoton-npcx-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/infineon-xmc4xxx-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/ti-cc13xx-cc26xx-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nordic-npm6001-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/atmel-sam-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/semtech-sx1509b.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nordic-npm1300-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/digilent-pmod.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/ite-it8xxx2-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/numicro-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/espressif-esp32-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/st-morpho-header.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/renesas-rzt2m-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nordic-nrf-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/atmel-sam0-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/microchip-xec-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nxp-s32-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/nxp-kinetis-gpio.h",
-    "@zephyr//:include/zephyr/dt-bindings/lvgl/lvgl.h",
-    "@zephyr//:include/zephyr/dt-bindings/ethernet/nxp_enet.h",
-    "@zephyr//:include/zephyr/dt-bindings/ethernet/xlnx_gem.h",
-    "@zephyr//:include/zephyr/dt-bindings/rdc/imx_rdc.h",
-    "@zephyr//:include/zephyr/dt-bindings/lora/sx126x.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/npm6001.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/max20335.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/nxp_vref.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/npm1300.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/npm1100.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/adp5360.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/axp192.h",
-    "@zephyr//:include/zephyr/dt-bindings/regulator/rpi_pico.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/ism330dhcx.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/qdec_nxp_s32.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lsm6dso.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2dh.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2de12.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lsm6dsv16x.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/ina237.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/tmag5273.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lps2xdf.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2ds12.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/bq274xx.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/qdec_stm32.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/npcx_tach.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lps22hh.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2dux12.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2dw12.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lis2du12.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/iis2dlpc.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/iis2iclx.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/lsm6dso16is.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/ina230.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/it8xxx2_vcmp.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/stts22h.h",
-    "@zephyr//:include/zephyr/dt-bindings/sensor/it8xxx2_tach.h",
-    "@zephyr//:include/zephyr/dt-bindings/flash_controller/npcx_fiu_qspi.h",
-    "@zephyr//:include/zephyr/dt-bindings/flash_controller/ospi.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/b91-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/ambiq-apollo4-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/mchp-xec-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/ene-kb1200-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/numaker-m46x-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/stm32-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/nrf-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32s2-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32c3-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/quicklogic-eos-s3-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-r8a77961.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-r8a779f0.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-ra-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-rcar-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-r8a77951.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas/pinctrl-r7fa4m1xxxxxx.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/cc13xx_cc26xx-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/rpi-pico-rp2040-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/gecko-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/imx8qm-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/emsdp-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/nxp-s32-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/imx8qxp-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/gecko-pinctrl-s1.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/npcx-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32s3-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/ifx_cat1-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32s3-gpio-sigmap.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/it8xxx2-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/pinctrl-zynqmp.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/ti-cc32xx-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/pinctrl-zynq.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/renesas-rzt2m-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/numicro-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32s2-gpio-sigmap.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/smartbond-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32c3-gpio-sigmap.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp32-gpio-sigmap.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/esp-pinctrl-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/xmc4xxx-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/rv32m1-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/stm32f1-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/sifive-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/stm32f1-afio.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/stm32-pinctrl-common.h",
-    "@zephyr//:include/zephyr/dt-bindings/pinctrl/lpc11u6x-pinctrl.h",
-    "@zephyr//:include/zephyr/dt-bindings/mipi_dsi/mipi_dsi.h",
-    "@zephyr//:include/zephyr/dt-bindings/spi/spi.h",
-    "@zephyr//:include/zephyr/dt-bindings/mipi_dbi/mipi_dbi.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-controller/stm32-fmc-nor-psram.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-controller/nxp,flexram.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-controller/stm32-fmc-sdram.h",
-    "@zephyr//:include/zephyr/dt-bindings/pwm/stm32_pwm.h",
-    "@zephyr//:include/zephyr/dt-bindings/pwm/it8xxx2_pwm.h",
-    "@zephyr//:include/zephyr/dt-bindings/pwm/pwm.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-attr/memory-attr.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-attr/memory-attr-riscv.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-attr/memory-attr-arm.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-attr/memory-attr-sw.h",
-    "@zephyr//:include/zephyr/dt-bindings/memory-attr/memory-attr-xtensa.h",
-    "@zephyr//:include/zephyr/dt-bindings/dai/esai.h",
-    "@zephyr//:include/zephyr/dt-bindings/pcie/pcie.h",
-    "@zephyr//:include/zephyr/dt-bindings/dac/dacx0508.h",
-    "@zephyr//:include/zephyr/dt-bindings/display/ili9xxx.h",
-    "@zephyr//:include/zephyr/dt-bindings/display/panel.h",
-    "@zephyr//:include/zephyr/dt-bindings/power/atmel_sam_supc.h",
-    "@zephyr//:include/zephyr/dt-bindings/power/nxp_rw_pmu.h",
-    "@zephyr//:include/zephyr/dt-bindings/usb-c/pd.h",
-    "@zephyr//:include/zephyr/dt-bindings/usb-c/nxp_nx20p3483.h",
-    "@zephyr//:include/zephyr/dt-bindings/espi/npcx_espi.h",
-    "@zephyr//:include/zephyr/dt-bindings/usb/usb.h",
-    "@zephyr//:include/zephyr/dt-bindings/usb/audio.h",
-    "@zephyr//:include/zephyr/sys/util_internal.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_dec.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_inc.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_x2.h",
-    "@zephyr//:include/zephyr/sys/util_internal_is_eq.h",
-    "@zephyr//:include/zephyr/sys/util_listify.h",
-    "@zephyr//:include/zephyr/sys/util_loops.h",
-    "@zephyr//:include/zephyr/sys/util_macro.h",
-  ],
-)
-
-zephyr_includes(
-  name = "zephyr_include_paths",
-  includes = [
-    "//include:dir",
-    "//dts:dir",
-    "//dts/common:dir",
-  ],
-)
+exports_files(glob(["**"]))
 
 cc_library(
-  name = "zephyr",
-  hdrs = [
-    "@zephyr//:include/zephyr/device.h",
-    "@zephyr//:include/zephyr/devicetree.h",
-    "@zephyr//:include/zephyr/fatal.h",
-    "@zephyr//:include/zephyr/fatal_types.h",
-    "@zephyr//:include/zephyr/init.h",
-    "@zephyr//:include/zephyr/irq.h",
-    "@zephyr//:include/zephyr/irq_multilevel.h",
-    "@zephyr//:include/zephyr/irq_offload.h",
-    "@zephyr//:include/zephyr/kernel.h",
-    "@zephyr//:include/zephyr/kernel_includes.h",
-    "@zephyr//:include/zephyr/kernel_structs.h",
-    "@zephyr//:include/zephyr/kernel_version.h",
-    "@zephyr//:include/zephyr/spinlock.h",
-    "@zephyr//:include/zephyr/syscall.h",
-    "@zephyr//:include/zephyr/sys_clock.h",
-    "@zephyr//:include/zephyr/sw_isr_table.h",
-    "@zephyr//:include/zephyr/toolchain.h",
-    "@zephyr//:include/zephyr/types.h",
-    "@zephyr//:include/zephyr/app_memory/mem_domain.h",
-    "@zephyr//:include/zephyr/arch/arch_inlines.h",
-    "@zephyr//:include/zephyr/arch/cpu.h",
-    "@zephyr//:include/zephyr/arch/structs.h",
-    "@zephyr//:include/zephyr/arch/syscall.h",
-    "@zephyr//:include/zephyr/arch/arch_interface.h",
-    "@zephyr//:include/zephyr/arch/arm/arch.h",
-    "@zephyr//:include/zephyr/arch/arm/arch_inlines.h",
-    "@zephyr//:include/zephyr/arch/arm/asm_inline.h",
-    "@zephyr//:include/zephyr/arch/arm/asm_inline_gcc.h",
-    "@zephyr//:include/zephyr/arch/arm/error.h",
-    "@zephyr//:include/zephyr/arch/arm/exception.h",
-    "@zephyr//:include/zephyr/arch/arm/gdbstub.h",
-    "@zephyr//:include/zephyr/arch/arm/irq.h",
-    "@zephyr//:include/zephyr/arch/arm/misc.h",
-    "@zephyr//:include/zephyr/arch/arm/nmi.h",
-    "@zephyr//:include/zephyr/arch/arm/structs.h",
-    "@zephyr//:include/zephyr/arch/arm/syscall.h",
-    "@zephyr//:include/zephyr/arch/arm/thread.h",
-    "@zephyr//:include/zephyr/arch/common/addr_types.h",
-    "@zephyr//:include/zephyr/arch/common/ffs.h",
-    "@zephyr//:include/zephyr/arch/common/sys_bitops.h",
-    "@zephyr//:include/zephyr/arch/x86/arch.h",
-    "@zephyr//:include/zephyr/arch/x86/arch_inlines.h",
-    "@zephyr//:include/zephyr/arch/x86/mmustructs.h",
-    "@zephyr//:include/zephyr/arch/x86/msr.h",
-    "@zephyr//:include/zephyr/arch/x86/thread_stack.h",
-    "@zephyr//:include/zephyr/arch/x86/x86_acpi.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/arch.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/gdbstub.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/segmentation.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/syscall.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/sys_io.h",
-    "@zephyr//:include/zephyr/arch/x86/ia32/thread.h",
-    "@zephyr//:include/zephyr/devicetree/io-channels.h",
-    "@zephyr//:include/zephyr/devicetree/clocks.h",
-    "@zephyr//:include/zephyr/devicetree/gpio.h",
-    "@zephyr//:include/zephyr/devicetree/spi.h",
-    "@zephyr//:include/zephyr/devicetree/dma.h",
-    "@zephyr//:include/zephyr/devicetree/pwms.h",
-    "@zephyr//:include/zephyr/devicetree/fixed-partitions.h",
-    "@zephyr//:include/zephyr/devicetree/ordinals.h",
-    "@zephyr//:include/zephyr/devicetree/pinctrl.h",
-    "@zephyr//:include/zephyr/devicetree/can.h",
-    "@zephyr//:include/zephyr/devicetree/reset.h",
-    "@zephyr//:include/zephyr/devicetree/mbox.h",
-    "@zephyr//:include/zephyr/drivers/watchdog.h",
-    "@zephyr//:include/zephyr/drivers/gpio.h",
-    "@zephyr//:include/zephyr/drivers/mbox.h",
-    "@zephyr//:include/zephyr/drivers/interrupt_controller/sysapic.h",
-    "@zephyr//:include/zephyr/drivers/interrupt_controller/loapic.h",
-    "@zephyr//:include/zephyr/dt-bindings/gpio/gpio.h",
-    "@zephyr//:include/zephyr/kernel/mm.h",
-    "@zephyr//:include/zephyr/kernel/obj_core.h",
-    "@zephyr//:include/zephyr/kernel/stats.h",
-    "@zephyr//:include/zephyr/kernel/thread.h",
-    "@zephyr//:include/zephyr/kernel/thread_stack.h",
-    "@zephyr//:include/zephyr/kernel/internal/mm.h",
-    # "@zephyr//:include/zephyr/kernel/internal/sched_priq.h",
-    "@zephyr//:include/zephyr/kernel/internal/smp.h",
-    "@zephyr//:include/zephyr/linker/sections.h",
-    "@zephyr//:include/zephyr/linker/section_tags.h",
-    "@zephyr//:include/zephyr/pm/pm.h",
-    "@zephyr//:include/zephyr/pm/state.h",
-    "@zephyr//:include/zephyr/sys/__assert.h",
-    "@zephyr//:include/zephyr/sys/atomic.h",
-    "@zephyr//:include/zephyr/sys/atomic_builtin.h",
-    "@zephyr//:include/zephyr/sys/atomic_types.h",
-    "@zephyr//:include/zephyr/sys/device_mmio.h",
-    "@zephyr//:include/zephyr/sys/dlist.h",
-    "@zephyr//:include/zephyr/sys/iterable_sections.h",
-    "@zephyr//:include/zephyr/sys/kobject.h",
-    "@zephyr//:include/zephyr/sys/list_gen.h",
-    "@zephyr//:include/zephyr/sys/mem_manage.h",
-    "@zephyr//:include/zephyr/sys/mem_stats.h",
-    "@zephyr//:include/zephyr/sys/printk.h",
-    "@zephyr//:include/zephyr/sys/rb.h",
-    "@zephyr//:include/zephyr/sys/slist.h",
-    "@zephyr//:include/zephyr/sys/sflist.h",
-    "@zephyr//:include/zephyr/sys/sys_heap.h",
-    "@zephyr//:include/zephyr/sys/sys_io.h",
-    "@zephyr//:include/zephyr/sys/time_units.h",
-    "@zephyr//:include/zephyr/sys/util.h",
-    "@zephyr//:include/zephyr/sys/util_internal.h",
-    "@zephyr//:include/zephyr/sys/util_listify.h",
-    "@zephyr//:include/zephyr/sys/util_loops.h",
-    "@zephyr//:include/zephyr/sys/util_macro.h",
-    "@zephyr//:include/zephyr/sys/util_internal_is_eq.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_inc.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_dec.h",
-    "@zephyr//:include/zephyr/sys/util_internal_util_x2.h",
-    "@zephyr//:include/zephyr/sys/internal/kobject_internal.h",
-    "@zephyr//:include/zephyr/toolchain/common.h",
-    "@zephyr//:include/zephyr/toolchain/gcc.h",
-    "@zephyr//:include/zephyr/toolchain/llvm.h",
-    "@zephyr//:include/zephyr/tracing/tracing_macros.h",
-    "@zephyr//:include/zephyr/tracing/tracing.h",
-    "@zephyr//:include/zephyr/tracing/tracking.h",
-    "@zephyr//:kernel/include/offsets_short.h",
-  ],
-  deps = [":zephyr_include_paths"],
-)
-
-cc_library(
-  name = "posix",
-  hdrs = [
-    "@zephyr//:include/zephyr/arch/posix/asm_inline.h",
-    "@zephyr//:include/zephyr/arch/posix/posix_trace.h",
-    "@zephyr//:include/zephyr/arch/posix/thread.h",
-    "@zephyr//:include/zephyr/arch/posix/asm_inline_gcc.h",
-    "@zephyr//:include/zephyr/arch/posix/posix_soc_if.h",
-    "@zephyr//:include/zephyr/arch/posix/arch_inlines.h",
-    "@zephyr//:include/zephyr/arch/posix/arch.h",
-  ],
-  deps = [":zephyr_include_paths"],
+    name = "zephyr",
+    hdrs = [
+        "//:kernel/include/offsets_short.h",
+        "//include:core",
+    ],
+    includes = [
+        "dts",
+        "dts/common",
+        "include",
+    ],
 )
 
 exports_files(["defs.bzl"])
diff --git a/README.md b/README.md
index b887ef7..dddbd08 100644
--- a/README.md
+++ b/README.md
@@ -1,42 +1,10 @@
 Zephyr-Bazel
 =======================================
 
-This repository contains the logic required to build Zephyr with Bazel. To get
-started, add the repo to your git submodules or West manifest via
-https://pigweed.googlesource.com/zephyr/zephyr-bazel/. For the purpose of
-this doc, we'll assume you have everything checked out under `third_party/`:
-- `third_party/zephyr/` - contains your checkout of Zephyr upstream.
-- `third_party/zephyr-bazel/` - contains this repo.
+The way this repository works is by overlaying itself on top of Zephyr. To get
+started, first make sure you have Bazel's skylib version 1.7.1 or greater. If
+you don't have it, you can use:
 
-In your root `WORKSPACE` file, add the following:
-
-```
-# Zephyr
-new_local_repository(
-    name = "zephyr",
-    path = "third_party/zephyr",
-    build_file_content = """
-load("@bazel_skylib//rules/directory:directory.bzl", "directory")
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["**"]))
-
-directory(
-    name = "root",
-    srcs = glob(["**"], exclude = ["BUILD"])
-)
-"""
-)
-
-# Zephyr-bazel
-local_repository(
-    name = "zephyr-bazel",
-    path = "third_party/zephyr-bazel",
-)
-```
-
-Note that the above requires skylib 1.7.1 or greater! If you don't have it, you
-can use:
 ```
 http_archive(
     name = "bazel_skylib",
@@ -46,26 +14,64 @@
         "https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
     ],
 )
+
+load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
+
+bazel_skylib_workspace()
 ```
 
-Next, you'll need to make sure all the Python requirements from Zephyr are also
-loaded. If you haven't already added `pip_parse` to your `WORKSPACE`, that load
-command is included in the following:
+To grab the zephyr-bazel repo, use a git_repository rule in your WORKSPACE,
+such as:
+
+```
+git_repository(
+    name = "zephyr-bazel",
+    remote = "https://pigweed.googlesource.com/zephyr/zephyr-bazel"
+    branch = "main",
+)
+```
+
+Once you have `@zephyr-bazel`, we can load the patch rule to generate the
+Zephyr diff that will augment Zephyr to include the BUILD.zephyr rules.
+
+```
+load("@zephyr-bazel//:setup.bzl", "create_zephyr_patch_file")
+
+create_zephyr_patch_file(
+    name = "zephyr-patch",
+    filename = "patch.diff",
+    # This is optional, use it to see what's going on under the hood
+    debug = True,
+)
+```
+
+We now have a diff file at `@zephyr-patch//:patch.diff`. We're ready to load
+Zephyr.
+
+```
+git_repository(
+    name = "zephyr",
+    remote = "https://github.com/zephyrproject-rtos/zephyr.git",
+    branch = "main",
+    patches = [
+        "@zephyr-patch//:patch.diff",
+    ],
+)
+```
+
+The final step will be to load Zephyr's python dependencies:
 
 ```
 load("@rules_python//python:pip.bzl", "pip_parse")
 
-# Load the Zephyr pip requirements
 pip_parse(
     name = "py_deps",
     python_interpreter_target = interpreter,
-    requirements_lock = "@@zephyr-bazel//scripts:requirements-base-lock.txt",
+    requirements_lock = "@@zephyr//:scripts/requirements-base.txt",
 )
 
-# Load the generated install command
 load("@py_deps//:requirements.bzl", zephyr_install_deps = "install_deps")
 
-# Run the installer
 zephyr_install_deps()
 ```
 
@@ -75,26 +81,26 @@
 your app.
 
 ```
-load("@zephyr-bazel//:defs.bzl", "dts_cc_library")
+load("@zephyr//:defs.bzl", "dts_cc_library")
 
 dts_cc_library(
     name = "app_native_sim_dts",
-    dts_lib = "@zephyr-bazel//boards/native/native_sim:native_sim",
+    dts_lib = "@zephyr//boards/native/native_sim:native_sim",
 )
 
 cc_binary(
     ...
     deps = [
         ...
-        "@zephyr-bazel//:zephyr",
+        "@zephyr//:zephyr",
     ] + select({
-        "@platform//host": [
+        "@platform//cpu:x86_64": [
             ":app_native_sim_dts",
-            "@zephyr-bazel//:posix",
+            "@zephyr//include:posix",
         ],
     }),
     copts = select({
-        "@platform//host": [
+        "@platform//cpu:x86_64": [
             "-DCONFIG_ARCH_POSIX=1",
         ],
     }),
diff --git a/boards/native/native_sim/BUILD.bazel b/boards/native/native_sim/BUILD.bazel
index 922f62e..75b4784 100644
--- a/boards/native/native_sim/BUILD.bazel
+++ b/boards/native/native_sim/BUILD.bazel
@@ -18,15 +18,15 @@
 
 dts_library(
     name = "native_sim",
-    srcs = ["@zephyr//:boards/native/native_sim/native_sim.dts"],
+    includes = [
+        "../../../dts",
+        "../../../dts/common",
+        "../../../include",
+    ],
+    overlay = "native_sim.dts",
     references = [
         "//dts/posix:posix",
         "//dts/common:skeleton",
-        "//:dt_bindings",
-    ],
-    includes = [
-        "//include:dir",
-        "//dts:dir",
-        "//dts/common:dir",
+        "//include:dt_bindings",
     ],
 )
diff --git a/defs.bzl b/defs.bzl
index d823233..547d915 100644
--- a/defs.bzl
+++ b/defs.bzl
@@ -13,12 +13,10 @@
 # the License.
 
 load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain", "use_cpp_toolchain")
-load("@bazel_skylib//rules/directory:providers.bzl", "DirectoryInfo")
 load("@rules_cc//cc:action_names.bzl", "C_COMPILE_ACTION_NAME")
 
 def _get_inputs(ctx):
-    all_input_files = []
-    all_input_files.extend(ctx.files.srcs)
+    all_input_files = [ctx.file.overlay]
     for label in ctx.attr.references:
         if type(label) == "Target" and label.files.to_list():
             all_input_files.extend(label.files.to_list())
@@ -26,8 +24,14 @@
             fail("Unsupported target kind in references:", label)
     return depset(all_input_files)
 
+def _package_exec_path(ctx):
+    workspace_name = ctx.label.workspace_name
+    if workspace_name == "":
+        return "."
+    return "external/" + workspace_name + "/" + ctx.label.package
+
 def _dts_library_impl(ctx):
-    sources = ctx.files.srcs
+    sources = [ctx.file.overlay]
     include_paths = ctx.attr.includes
     output_header = ctx.actions.declare_file(ctx.label.name + ".dts")
     cc_toolchain = find_cpp_toolchain(ctx)
@@ -63,9 +67,12 @@
             args.append("-include")
         args.append(src.path)
         source_count += 1
+
+    root_path = _package_exec_path(ctx)
     for path in include_paths:
-        print("path[DirectoryInfo].path=", path[DirectoryInfo].path)
-        args.append("-I" + path[DirectoryInfo].path)
+        flag = "-I" + root_path + "/" + path
+        print("    flag=%s" % (flag))
+        args.append(flag)
     args.extend([
         "-I",
         "-D__DTS__",
@@ -81,7 +88,7 @@
         arguments = args,
         executable = cxx_compiler_path,
         tools = cc_toolchain.all_files,
-        mnemonic = "DtsPreCompile"
+        mnemonic = "DtsPreCompile",
     )
     return [
         DefaultInfo(files = depset([output_header])),
@@ -90,12 +97,12 @@
 dts_library = rule(
     implementation = _dts_library_impl,
     attrs = {
-        "srcs": attr.label_list(allow_files = True),
-        "references": attr.label_list(allow_files = True),
         "deps": attr.label_list(allow_files = False),
-        "includes": attr.label_list(allow_files = False),
+        "includes": attr.string_list(),
+        "overlay": attr.label(mandatory = True, allow_single_file = True),
+        "references": attr.label_list(allow_files = True),
         "_cc_toolchain": attr.label(
-            default = Label("@bazel_tools//tools/cpp:current_cc_toolchain")
+            default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),
         ),
     },
     toolchains = use_cpp_toolchain(),
@@ -137,7 +144,7 @@
             compilation_context = cc_common.create_compilation_context(
                 includes = depset([output_header.path[:-len(output_header_name)]]),
                 headers = depset([output_header]),
-            )
+            ),
         ),
     ]
 
@@ -147,40 +154,9 @@
         "dts_lib": attr.label(allow_files = False),
         "_gen_defines": attr.label(
             default = "//scripts/dts:gen_defines",
-            executable=True,
-            cfg = "host",
+            executable = True,
+            cfg = "exec",
         ),
     },
     provides = [CcInfo],
 )
-
-def _zephyr_includes_impl(ctx):
-    cc_toolchain = find_cpp_toolchain(ctx)
-    all_files = cc_toolchain.all_files
-
-    # Resolve Include Paths
-    absolute_include_paths = depset([include[DirectoryInfo].path for include in ctx.attr.includes])
-
-    return [
-        DefaultInfo(files = depset()),
-        CcInfo(
-            compilation_context = cc_common.create_compilation_context(
-                headers = depset(),
-                includes = absolute_include_paths,
-                system_includes = absolute_include_paths,
-            ),
-        ),
-        cc_toolchain,
-    ]
-
-zephyr_includes = rule(
-    implementation = _zephyr_includes_impl,
-    attrs = {
-        "includes": attr.label_list(allow_files = False),
-        "_cc_toolchain": attr.label(
-            default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),
-        ),
-    },
-    provides = [CcInfo],
-    toolchains = use_cpp_toolchain(),
-)
diff --git a/dts/BUILD.bazel b/dts/BUILD.bazel
index 033e525..443fbb6 100644
--- a/dts/BUILD.bazel
+++ b/dts/BUILD.bazel
@@ -12,12 +12,4 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@bazel_skylib//rules/directory:subdirectory.bzl", "subdirectory")
-
 package(default_visibility = ["//visibility:public"])
-
-subdirectory(
-    name = "dir",
-    parent = "@zephyr//:root",
-    path = "dts",
-)
diff --git a/dts/common/BUILD.bazel b/dts/common/BUILD.bazel
index 2a245cf..b9cedc8 100644
--- a/dts/common/BUILD.bazel
+++ b/dts/common/BUILD.bazel
@@ -12,22 +12,13 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@bazel_skylib//rules/directory:subdirectory.bzl", "subdirectory")
-load("//:defs.bzl", "dts_library")
-
 package(default_visibility = ["//visibility:public"])
 
 filegroup(
     name = "skeleton",
     srcs = [
-        "@zephyr//:dts/common/freq.h",
-        "@zephyr//:dts/common/mem.h",
-        "@zephyr//:dts/common/skeleton.dtsi",
+        "freq.h",
+        "mem.h",
+        "skeleton.dtsi",
     ],
 )
-
-subdirectory(
-    name = "dir",
-    parent = "//dts:dir",
-    path = "common",
-)
\ No newline at end of file
diff --git a/dts/posix/BUILD.bazel b/dts/posix/BUILD.bazel
index 771098b..342c3e0 100644
--- a/dts/posix/BUILD.bazel
+++ b/dts/posix/BUILD.bazel
@@ -12,11 +12,9 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("//:defs.bzl", "dts_library")
-
 package(default_visibility = ["//visibility:public"])
 
 filegroup(
     name = "posix",
-    srcs = ["@zephyr//:dts/posix/posix.dtsi"],
+    srcs = ["posix.dtsi"],
 )
diff --git a/examples/hello_dts/BUILD.bazel b/examples/hello_dts/BUILD.bazel
index 52edefa..2807542 100644
--- a/examples/hello_dts/BUILD.bazel
+++ b/examples/hello_dts/BUILD.bazel
@@ -12,7 +12,9 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@zephyr-bazel//:defs.bzl", "dts_cc_library")
+load("@rules_cc//cc:defs.bzl", "cc_binary")
+load("@zephyr//:defs.bzl", "dts_cc_library")
+
 package(default_visibility = ["//visibility:public"])
 
 label_flag(
@@ -22,12 +24,18 @@
 
 dts_cc_library(
     name = "app_host_dts",
-    dts_lib = "@zephyr-bazel//boards/native/native_sim:native_sim",
+    dts_lib = "@zephyr//boards/native/native_sim:native_sim",
 )
 
 cc_binary(
     name = "app",
     srcs = ["hello_dts.cc"],
+    copts = select({
+        "@platforms//cpu:armv7e-m": [],
+        "@platforms//cpu:x86_64": [
+            "-DCONFIG_ARCH_POSIX=1",
+        ],
+    }),
     malloc = select({
         "@platforms//cpu:armv7e-m": "@pigweed//pw_malloc",
         "@platforms//cpu:x86_64": "@bazel_tools//tools/cpp:malloc",
@@ -37,7 +45,7 @@
         "@pigweed//pw_sys_io",
         "@pigweed//pw_assert:backend_impl",
         "@pigweed//pw_log:backend_impl",
-        "@zephyr-bazel//:zephyr",
+        "@zephyr//:zephyr",
     ] + select({
         "@platforms//cpu:armv7e-m": [
             "@pigweed//pw_toolchain/arm_gcc:arm_none_eabi_gcc_support",
@@ -45,14 +53,8 @@
             "@pigweed//targets/stm32f429i_disc1:pre_init",
         ],
         "@platforms//cpu:x86_64": [
-            "@zephyr-bazel//:posix",
+            "@zephyr//include:posix",
             ":app_host_dts",
         ],
     }),
-    copts = select({
-        "@platforms//cpu:armv7e-m": [],
-        "@platforms//cpu:x86_64": [
-            "-DCONFIG_ARCH_POSIX=1",
-        ],
-    }),
 )
diff --git a/examples/hello_dts/WORKSPACE b/examples/hello_dts/WORKSPACE
index 2dd0fd4..03644f6 100644
--- a/examples/hello_dts/WORKSPACE
+++ b/examples/hello_dts/WORKSPACE
@@ -98,28 +98,28 @@
     strip_prefix = "pw_toolchain_bazel",
 )
 
-git_repository(
-    name = "zephyr",   # Give it a distinct name
-    remote = "https://github.com/zephyrproject-rtos/zephyr.git",
-    branch = "main",
-    build_file_content = """
-load("@bazel_skylib//rules/directory:directory.bzl", "directory")
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["**"]))
-
-directory(
-    name = "root",
-    srcs = glob(["**"], exclude = ["BUILD"])
-)
-""",
-)
-
 local_repository(
     name = "zephyr-bazel",
     path = "../..",
 )
 
+load("@zephyr-bazel//:setup.bzl", "create_zephyr_patch_file")
+
+create_zephyr_patch_file(
+    name = "zephyr-patch",
+    filename = "patch.diff",
+    debug = True,
+)
+
+git_repository(
+    name = "zephyr",
+    remote = "https://github.com/zephyrproject-rtos/zephyr.git",
+    branch = "main",
+    patches = [
+        "@zephyr-patch//:patch.diff",
+    ],
+)
+
 # Get ready to grab CIPD dependencies. For this minimal example, the only
 # dependencies will be the toolchains and OpenOCD (used for flashing).
 load(
diff --git a/generate_diff.py b/generate_diff.py
new file mode 100644
index 0000000..288f920
--- /dev/null
+++ b/generate_diff.py
@@ -0,0 +1,81 @@
+import argparse
+import pathlib
+import io
+import sys
+from typing import List
+
+
+def get_bazel_files(root_dir: pathlib.Path) -> List[pathlib.Path]:
+    """Finds files matching "BUILD.bazel" or "*.bzl" under the given directory.
+
+    Args:
+        root_dir: The root directory to search in.
+
+    Returns:
+        A list of pathlib.Path objects representing the matching files.
+    """
+    return [
+        path
+        for path in root_dir.rglob("*")
+        if path.match("BUILD.bazel") or path.match("*.bzl")
+    ]
+
+def print_file_info(
+        file_path: pathlib.Path,
+        root_dir: pathlib.Path,
+        writer: io.TextIOWrapper,
+):
+    """Prints the relative path, line count, and prefixed content of a file.
+
+    Args:
+        file_path: The path to the file.
+        root_dir: The root directory to calculate the relative path from.
+        writer: Where to write the output
+    """
+    relative_path = file_path.relative_to(root_dir)
+    with open(file_path, "r", encoding="utf-8") as file:
+        content = file.readlines()
+        line_count = len(content)
+        writer.write("\n")
+        writer.write("--- /dev/null\n")
+        writer.write(f"+++ {relative_path}\n")
+        writer.write(f"@@ -0,0 +1,{line_count} @@\n")
+        for line in content:
+            writer.write(f"+{line.rstrip()}\n")
+
+def print_all(root_dir: pathlib.Path, writer: io.TextIOWrapper):
+    """Iterate through all BUILD.bazel and *.bzl files and write them to writer
+
+    Args:
+        root_dir: The root directory to calculate the relative path from.
+        writer: Where to write the output
+    """
+    for file_path in get_bazel_files(root_dir=root_dir):
+        print_file_info(file_path=file_path, root_dir=root_dir, writer=writer)
+
+def main() -> None:
+    """Finds all BUILD.bazel files and *.bzl files and generates a diff"""
+    parser = argparse.ArgumentParser()
+    parser.add_argument(
+        "--root-dir",
+        type=pathlib.Path,
+        required=True
+    )
+    parser.add_argument(
+        "-o",
+        dest="output",
+        type=pathlib.Path,
+    )
+    args = parser.parse_args()
+    if args.output:
+        args.output.parent.mkdir(parents=True, exist_ok=True)
+        with open(args.output, mode="w", encoding="utf-8") as o:
+            print_all(root_dir=args.root_dir, writer=o)
+    else:
+        print_all(
+            root_dir=args.root_dir,
+            writer=io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
+        )
+
+if __name__ == "__main__":
+    main()
diff --git a/include/BUILD.bazel b/include/BUILD.bazel
index b894b48..294fcbc 100644
--- a/include/BUILD.bazel
+++ b/include/BUILD.bazel
@@ -12,12 +12,160 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@bazel_skylib//rules/directory:subdirectory.bzl", "subdirectory")
+load("@rules_cc//cc:defs.bzl", "cc_library")
 
 package(default_visibility = ["//visibility:public"])
 
-subdirectory(
-    name = "dir",
-    parent = "@zephyr//:root",
-    path = "include",
+filegroup(
+    name = "dt_bindings",
+    srcs = glob(["zephyr/dt-bindings/**"]) + [
+        "zephyr/sys/util_internal.h",
+        "zephyr/sys/util_internal_is_eq.h",
+        "zephyr/sys/util_internal_util_dec.h",
+        "zephyr/sys/util_internal_util_inc.h",
+        "zephyr/sys/util_internal_util_x2.h",
+        "zephyr/sys/util_listify.h",
+        "zephyr/sys/util_loops.h",
+        "zephyr/sys/util_macro.h",
+    ],
+)
+
+filegroup(
+    name = "core",
+    srcs = [
+        "zephyr/device.h",
+        "zephyr/devicetree.h",
+        "zephyr/fatal.h",
+        "zephyr/fatal_types.h",
+        "zephyr/init.h",
+        "zephyr/irq.h",
+        "zephyr/irq_multilevel.h",
+        "zephyr/irq_offload.h",
+        "zephyr/kernel.h",
+        "zephyr/kernel_includes.h",
+        "zephyr/kernel_structs.h",
+        "zephyr/kernel_version.h",
+        "zephyr/spinlock.h",
+        "zephyr/syscall.h",
+        "zephyr/sys_clock.h",
+        "zephyr/sw_isr_table.h",
+        "zephyr/toolchain.h",
+        "zephyr/types.h",
+        "zephyr/app_memory/mem_domain.h",
+        "zephyr/arch/arch_inlines.h",
+        "zephyr/arch/cpu.h",
+        "zephyr/arch/structs.h",
+        "zephyr/arch/syscall.h",
+        "zephyr/arch/arch_interface.h",
+        "zephyr/arch/arm/arch.h",
+        "zephyr/arch/arm/arch_inlines.h",
+        "zephyr/arch/arm/asm_inline.h",
+        "zephyr/arch/arm/asm_inline_gcc.h",
+        "zephyr/arch/arm/error.h",
+        "zephyr/arch/arm/exception.h",
+        "zephyr/arch/arm/gdbstub.h",
+        "zephyr/arch/arm/irq.h",
+        "zephyr/arch/arm/misc.h",
+        "zephyr/arch/arm/nmi.h",
+        "zephyr/arch/arm/structs.h",
+        "zephyr/arch/arm/syscall.h",
+        "zephyr/arch/arm/thread.h",
+        "zephyr/arch/common/addr_types.h",
+        "zephyr/arch/common/ffs.h",
+        "zephyr/arch/common/sys_bitops.h",
+        "zephyr/arch/x86/arch.h",
+        "zephyr/arch/x86/arch_inlines.h",
+        "zephyr/arch/x86/mmustructs.h",
+        "zephyr/arch/x86/msr.h",
+        "zephyr/arch/x86/thread_stack.h",
+        "zephyr/arch/x86/x86_acpi.h",
+        "zephyr/arch/x86/ia32/arch.h",
+        "zephyr/arch/x86/ia32/gdbstub.h",
+        "zephyr/arch/x86/ia32/segmentation.h",
+        "zephyr/arch/x86/ia32/syscall.h",
+        "zephyr/arch/x86/ia32/sys_io.h",
+        "zephyr/arch/x86/ia32/thread.h",
+        "zephyr/devicetree/io-channels.h",
+        "zephyr/devicetree/clocks.h",
+        "zephyr/devicetree/gpio.h",
+        "zephyr/devicetree/spi.h",
+        "zephyr/devicetree/dma.h",
+        "zephyr/devicetree/pwms.h",
+        "zephyr/devicetree/fixed-partitions.h",
+        "zephyr/devicetree/ordinals.h",
+        "zephyr/devicetree/pinctrl.h",
+        "zephyr/devicetree/can.h",
+        "zephyr/devicetree/reset.h",
+        "zephyr/devicetree/mbox.h",
+        "zephyr/drivers/watchdog.h",
+        "zephyr/drivers/gpio.h",
+        "zephyr/drivers/mbox.h",
+        "zephyr/drivers/interrupt_controller/sysapic.h",
+        "zephyr/drivers/interrupt_controller/loapic.h",
+        "zephyr/dt-bindings/gpio/gpio.h",
+        "zephyr/kernel/mm.h",
+        "zephyr/kernel/obj_core.h",
+        "zephyr/kernel/stats.h",
+        "zephyr/kernel/thread.h",
+        "zephyr/kernel/thread_stack.h",
+        "zephyr/kernel/internal/mm.h",
+        # "zephyr/kernel/internal/sched_priq.h",
+        "zephyr/kernel/internal/smp.h",
+        "zephyr/linker/sections.h",
+        "zephyr/linker/section_tags.h",
+        "zephyr/pm/pm.h",
+        "zephyr/pm/state.h",
+        "zephyr/sys/__assert.h",
+        "zephyr/sys/atomic.h",
+        "zephyr/sys/atomic_builtin.h",
+        "zephyr/sys/atomic_types.h",
+        "zephyr/sys/device_mmio.h",
+        "zephyr/sys/dlist.h",
+        "zephyr/sys/iterable_sections.h",
+        "zephyr/sys/kobject.h",
+        "zephyr/sys/list_gen.h",
+        "zephyr/sys/mem_manage.h",
+        "zephyr/sys/mem_stats.h",
+        "zephyr/sys/printk.h",
+        "zephyr/sys/rb.h",
+        "zephyr/sys/slist.h",
+        "zephyr/sys/sflist.h",
+        "zephyr/sys/sys_heap.h",
+        "zephyr/sys/sys_io.h",
+        "zephyr/sys/time_units.h",
+        "zephyr/sys/util.h",
+        "zephyr/sys/util_internal.h",
+        "zephyr/sys/util_listify.h",
+        "zephyr/sys/util_loops.h",
+        "zephyr/sys/util_macro.h",
+        "zephyr/sys/util_internal_is_eq.h",
+        "zephyr/sys/util_internal_util_inc.h",
+        "zephyr/sys/util_internal_util_dec.h",
+        "zephyr/sys/util_internal_util_x2.h",
+        "zephyr/sys/internal/kobject_internal.h",
+        "zephyr/toolchain/common.h",
+        "zephyr/toolchain/gcc.h",
+        "zephyr/toolchain/llvm.h",
+        "zephyr/tracing/tracing_macros.h",
+        "zephyr/tracing/tracing.h",
+        "zephyr/tracing/tracking.h",
+    ],
+)
+
+cc_library(
+    name = "posix",
+    hdrs = [
+        "zephyr/arch/posix/arch.h",
+        "zephyr/arch/posix/arch_inlines.h",
+        "zephyr/arch/posix/asm_inline.h",
+        "zephyr/arch/posix/asm_inline_gcc.h",
+        "zephyr/arch/posix/posix_soc_if.h",
+        "zephyr/arch/posix/posix_trace.h",
+        "zephyr/arch/posix/thread.h",
+    ],
+    includes = [
+        ".",
+        "../dts",
+        "../dts/common",
+    ],
 )
diff --git a/scripts/dts/BUILD.bazel b/scripts/dts/BUILD.bazel
index 7863fa3..d509be9 100644
--- a/scripts/dts/BUILD.bazel
+++ b/scripts/dts/BUILD.bazel
@@ -12,12 +12,14 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
+load("@rules_python//python:defs.bzl", "py_binary")
+
 package(default_visibility = ["//visibility:public"])
 
 py_binary(
     name = "gen_defines",
-    srcs = ["@zephyr//:scripts/dts/gen_defines.py"],
+    srcs = ["gen_defines.py"],
     deps = [
         "//scripts/dts/python-devicetree:devicetree",
-    ]
+    ],
 )
diff --git a/scripts/dts/python-devicetree/BUILD.bazel b/scripts/dts/python-devicetree/BUILD.bazel
index 74c176f..2bcaa3b 100644
--- a/scripts/dts/python-devicetree/BUILD.bazel
+++ b/scripts/dts/python-devicetree/BUILD.bazel
@@ -13,19 +13,20 @@
 # the License.
 
 load("@py_deps//:requirements.bzl", "requirement")
+load("@rules_python//python:defs.bzl", "py_library")
 
 package(default_visibility = ["//visibility:public"])
 
 py_library(
     name = "devicetree",
     srcs = [
-        "@zephyr//:scripts/dts/python-devicetree/src/devicetree/edtlib.py",
-        "@zephyr//:scripts/dts/python-devicetree/src/devicetree/grutils.py",
-        "@zephyr//:scripts/dts/python-devicetree/src/devicetree/dtlib.py",
-        "@zephyr//:scripts/dts/python-devicetree/src/devicetree/_private.py",
-        "@zephyr//:scripts/dts/python-devicetree/src/devicetree/__init__.py",
+        "src/devicetree/__init__.py",
+        "src/devicetree/_private.py",
+        "src/devicetree/dtlib.py",
+        "src/devicetree/edtlib.py",
+        "src/devicetree/grutils.py",
     ],
     deps = [
         requirement("pyyaml"),
-    ]
+    ],
 )
diff --git a/setup.bzl b/setup.bzl
new file mode 100644
index 0000000..2ec3cb3
--- /dev/null
+++ b/setup.bzl
@@ -0,0 +1,108 @@
+def _local_patched_repository_impl(rctx):
+    path = rctx.attr.path
+
+    # This path is a bit ugly to get the actual path if it is relative.
+    if path[0] != "/":
+        path = rctx.workspace_root.get_child(path)
+
+    # Copy the repository
+    rctx.execute(["mkdir", str(rctx.path(""))])
+    for child in path.readdir():
+        copy_args = ["cp", "-fr", str(child), str(rctx.path(""))]
+        if rctx.attr.debug:
+            print(copy_args)
+        result = rctx.execute(copy_args)
+        if result.return_code != 0:
+            fail("Failed to copy %s (%s):\n%s" % (rctx.attr.path, result.return_code, result.stderr))
+
+    # Now patch the repository
+    for patch_file in rctx.attr.patches:
+        patch_file_path_string = str(rctx.path(patch_file).realpath)
+        if rctx.attr.debug:
+            print("Applying patch file: %s / %s" % (patch_file, patch_file_path_string))
+        result = rctx.execute([
+            "bash",
+            "-c",
+            "patch -p0 < " + patch_file_path_string,
+        ])
+        if result.return_code != 0:
+            fail("Failed to apply patch: %s\n%s" % (patch_file, result.stderr))
+
+local_patched_repository = repository_rule(
+    implementation = _local_patched_repository_impl,
+    attrs = {
+        "debug": attr.bool(default = False),
+        "patches": attr.label_list(allow_files = True),
+        "path": attr.string(mandatory = True),
+    },
+    local = True,
+)
+
+def _create_zephyr_patch_file_impl(rctx):
+    script_path = Label("//:generate_diff.py")
+    output_file = rctx.attr.filename
+    output_file_path = rctx.path(output_file)
+
+    rctx.file(output_file)
+    rctx.file("BUILD")
+
+    args = [
+        rctx.which("python3"),
+        script_path,
+        "--root-dir",
+        rctx.path(script_path).dirname,
+        "-o",
+        output_file_path,
+    ]
+    if rctx.attr.debug:
+        print(args)
+    result = rctx.execute(args)
+    if result.return_code != 0:
+        fail("Failed to generate zephyr-bazel diff file (%s):\n%s" % (result.return_code, result.stderr))
+
+    if rctx.attr.debug:
+        print("Generated %s" % (output_file_path))
+    return [
+        DefaultInfo(
+            files = depset([output_file_path, rctx.path("BUILD")]),
+        ),
+    ]
+
+create_zephyr_patch_file = repository_rule(
+    implementation = _create_zephyr_patch_file_impl,
+    attrs = {
+        "debug": attr.bool(default = False),
+        "filename": attr.string(
+            default = "patch.diff",
+            mandatory = True,
+        ),
+    },
+    local = True,
+)
+
+###############################################################################
+
+def _print_file_impl(ctx):
+    # Get the input file
+    input_file = ctx.file.file
+
+    # Create a dummy output file
+    output_file = ctx.actions.declare_file(ctx.label.name + ".out")
+
+    # Create a shell action to print the file
+    ctx.actions.run_shell(
+        outputs = [output_file],
+        inputs = [input_file],
+        command = "cat {} > {}".format(input_file.path, output_file.path),
+    )
+
+    # Return DefaultInfo to signal dependencies on the input file
+    return DefaultInfo(files = depset([output_file]))
+
+# Define the rule
+print_file = rule(
+    implementation = _print_file_impl,
+    attrs = {
+        "file": attr.label(allow_single_file = True, mandatory = True),
+    },
+)
