From 2ad185bab4eddbf99229fe496b0914bc3e06f3b9 Mon Sep 17 00:00:00 2001 From: liquidraver <504870+liquidraver@users.noreply.github.com> Date: Sun, 7 Jun 2026 22:47:17 +0200 Subject: [PATCH] license "refactor" :) --- README.md | 9 +- zephcore/CMakeLists.txt | 2 +- zephcore/Kconfig | 2 +- zephcore/Kconfig.psram | 2 +- zephcore/LICENSE | 32 ++ zephcore/adapters/ble/ZephyrBLE.cpp | 2 +- zephcore/adapters/ble/ZephyrBLE.h | 2 +- zephcore/adapters/board/ZephyrBoard.cpp | 2 +- zephcore/adapters/board/ZephyrBoard.h | 2 +- .../adapters/clock/ZephyrMillisecondClock.cpp | 2 +- .../adapters/clock/ZephyrMillisecondClock.h | 2 +- zephcore/adapters/clock/ZephyrRTCClock.cpp | 2 +- zephcore/adapters/clock/ZephyrRTCClock.h | 2 +- zephcore/adapters/clock/ZephyrRTCDiscover.c | 2 +- zephcore/adapters/clock/ZephyrRTCDiscover.h | 2 +- .../adapters/datastore/ZephyrDataStore.cpp | 2 +- zephcore/adapters/datastore/ZephyrDataStore.h | 2 +- zephcore/adapters/gps/ZephyrGPSManager.cpp | 2 +- zephcore/adapters/gps/ZephyrGPSManager.h | 2 +- zephcore/adapters/mqtt/ZephyrMQTTPublisher.c | 2 +- zephcore/adapters/mqtt/ZephyrMQTTPublisher.h | 2 +- zephcore/adapters/ota/wifi_ota.c | 2 +- zephcore/adapters/ota/wifi_ota.h | 2 +- zephcore/adapters/radio/LR1110Radio.cpp | 2 +- zephcore/adapters/radio/LR1110Radio.h | 2 +- zephcore/adapters/radio/LR2021Radio.cpp | 2 +- zephcore/adapters/radio/LR2021Radio.h | 2 +- zephcore/adapters/radio/LoRaRadioBase.cpp | 2 +- zephcore/adapters/radio/LoRaRadioBase.h | 2 +- zephcore/adapters/radio/SX126xRadio.cpp | 2 +- zephcore/adapters/radio/SX126xRadio.h | 2 +- zephcore/adapters/radio/SX127xRadio.cpp | 2 +- zephcore/adapters/radio/SX127xRadio.h | 2 +- .../adapters/radio/lr11xx/lr11xx_hal_zephyr.c | 2 +- .../adapters/radio/lr11xx/lr11xx_hal_zephyr.h | 2 +- .../adapters/radio/lr20xx/lr20xx_hal_zephyr.c | 2 +- .../adapters/radio/lr20xx/lr20xx_hal_zephyr.h | 2 +- zephcore/adapters/radio/radio_common.h | 2 +- zephcore/adapters/rng/RNG.cpp | 2 +- zephcore/adapters/rng/ZephyrRNG.cpp | 2 +- zephcore/adapters/rng/ZephyrRNG.h | 2 +- .../adapters/sensors/ZephyrEnvSensors.cpp | 2 +- zephcore/adapters/sensors/ZephyrEnvSensors.h | 2 +- .../adapters/sensors/ZephyrSensorManager.h | 2 +- .../adapters/transport/LinuxTCPTransport.c | 2 +- .../adapters/transport/linux_native_setup.c | 2 +- zephcore/adapters/usb/ZephyrCompanionUSB.cpp | 2 +- zephcore/adapters/usb/ZephyrCompanionUSB.h | 2 +- zephcore/adapters/usb/ZephyrUSBCDC.cpp | 2 +- zephcore/adapters/usb/ZephyrUSBCDC.h | 2 +- zephcore/adapters/wifi/ZephyrWiFiStation.c | 2 +- zephcore/adapters/wifi/ZephyrWiFiStation.h | 2 +- zephcore/app/CompanionMesh.cpp | 2 +- zephcore/app/CompanionMesh.h | 2 +- zephcore/app/ObserverMesh.cpp | 2 +- zephcore/app/ObserverMesh.h | 2 +- zephcore/app/RepeaterDataStore.cpp | 2 +- zephcore/app/RepeaterDataStore.h | 2 +- zephcore/app/RepeaterMesh.cpp | 2 +- zephcore/app/RepeaterMesh.h | 2 +- zephcore/app/RepeaterRegionCLI.cpp | 2 +- zephcore/app/RepeaterUplink.cpp | 2 +- zephcore/app/RoomServerMesh.cpp | 2 +- zephcore/app/RoomServerMesh.h | 2 +- zephcore/app/RoomServerRegionCLI.cpp | 2 +- zephcore/app/main_observer.cpp | 2 +- zephcore/app/observer_creds.cpp | 2 +- zephcore/app/observer_creds.h | 2 +- zephcore/boards/common/filesystem.dtsi | 2 +- .../boards/common/nrf52_partitions_sdv6.dtsi | 2 +- .../boards/common/nrf52_partitions_sdv7.dtsi | 2 +- zephcore/boards/common/nrf52_wakeup.dtsi | 2 +- zephcore/boards/common/observer.conf | 2 +- zephcore/boards/common/qspi-ext.dtsi | 2 +- zephcore/boards/common/rtc-i2c.dtsi | 2 +- zephcore/boards/common/sensors-i2c.dtsi | 2 +- .../esp32/heltec_wifi_lora32_v3/board.overlay | 268 +++++----- .../esp32/heltec_wifi_lora32_v4/board.overlay | 2 +- .../heltec_wifi_lora32_v4-pinctrl.dtsi | 2 +- .../heltec_wifi_lora32_v4_procpu.dts | 2 +- .../heltec_wifi_lora32_v43/board.overlay | 2 +- .../heltec_wifi_lora32_v43-pinctrl.dtsi | 2 +- .../heltec_wifi_lora32_v43_procpu.dts | 2 +- .../lilygo_tlora_c6/Kconfig.lilygo_tlora_c6 | 2 +- .../boards/esp32/lilygo_tlora_c6/board.cmake | 2 +- .../boards/esp32/lilygo_tlora_c6/board.conf | 2 +- .../esp32/lilygo_tlora_c6/board.overlay | 2 +- .../lilygo_tlora_c6-pinctrl.dtsi | 2 +- .../lilygo_tlora_c6_hpcore.dts | 2 +- zephcore/boards/esp32/station_g2/board.conf | 52 +- .../boards/esp32/station_g2/board.overlay | 2 +- .../esp32/station_g2/station_g2-pinctrl.dtsi | 2 +- .../esp32/station_g2/station_g2_procpu.dts | 2 +- .../boards/esp32/ttgo_lora32/board.overlay | 2 +- zephcore/boards/esp32/xiao_esp32c3/board.conf | 2 +- .../boards/esp32/xiao_esp32c3/board.overlay | 2 +- zephcore/boards/esp32/xiao_esp32c6/board.conf | 2 +- .../boards/esp32/xiao_esp32c6/board.overlay | 2 +- zephcore/boards/esp32/xiao_esp32s3/board.conf | 2 +- .../boards/esp32/xiao_esp32s3/board.overlay | 2 +- zephcore/boards/example_board/board.overlay | 2 +- zephcore/boards/linux_native/femtofox.overlay | 2 +- .../boards/linux_native/linux_common.overlay | 2 +- zephcore/boards/linux_native/rak6421.overlay | 2 +- .../boards/linux_native/rak6421_pi5.overlay | 2 +- zephcore/boards/mg24/xiao_mg24/board.overlay | 2 +- .../nrf52840/gat562_30s/Kconfig.gat562_30s | 2 +- .../boards/nrf52840/gat562_30s/board.cmake | 2 +- .../gat562_30s/gat562_30s-pinctrl.dtsi | 2 +- .../boards/nrf52840/gat562_30s/gat562_30s.dts | 2 +- .../nrf52840/gat562_30s/gat562_30s_defconfig | 2 +- .../nrf52840/gat562_30s/pre_dt_board.cmake | 2 +- .../nrf52840/heltec_t114/Kconfig.heltec_t114 | 2 +- .../boards/nrf52840/heltec_t114/board.cmake | 2 +- .../boards/nrf52840/heltec_t114/board.yml | 2 +- .../heltec_t114_nrf52840-pinctrl.dtsi | 2 +- .../heltec_t114/heltec_t114_nrf52840.dts | 2 +- .../heltec_t114_nrf52840_defconfig | 2 +- .../ikoka_nano_30dbm-pinctrl.dtsi | 2 +- .../ikoka_nano_30dbm/ikoka_nano_30dbm.dts | 2 +- .../ikoka_nano_30dbm_defconfig | 2 +- .../lilygo_techo/Kconfig.lilygo_techo | 2 +- .../boards/nrf52840/lilygo_techo/board.cmake | 2 +- .../nrf52840/lilygo_techo/board.overlay | 2 +- .../boards/nrf52840/lilygo_techo/board.yml | 2 +- .../lilygo_techo/lilygo_techo-pinctrl.dtsi | 2 +- .../nrf52840/lilygo_techo/lilygo_techo.dts | 2 +- .../lilygo_techo/lilygo_techo_defconfig | 2 +- .../promicro_lr2021/Kconfig.promicro_lr2021 | 2 +- .../boards/nrf52840/promicro_lr2021/board.yml | 2 +- .../promicro_lr2021-pinctrl.dtsi | 2 +- .../promicro_lr2021/promicro_lr2021.dts | 2 +- .../promicro_lr2021/promicro_lr2021_defconfig | 2 +- .../promicro_sx1262/Kconfig.promicro_sx1262 | 2 +- .../boards/nrf52840/promicro_sx1262/board.yml | 2 +- .../promicro_sx1262-pinctrl.dtsi | 2 +- .../promicro_sx1262/promicro_sx1262.dts | 2 +- .../promicro_sx1262/promicro_sx1262_defconfig | 2 +- .../rak3401_1watt/Kconfig.rak3401_1watt | 2 +- .../boards/nrf52840/rak3401_1watt/board.cmake | 2 +- .../rak3401_1watt/rak3401_1watt-pinctrl.dtsi | 2 +- .../nrf52840/rak3401_1watt/rak3401_1watt.dts | 2 +- .../rak3401_1watt/rak3401_1watt_defconfig | 2 +- .../rak_wismesh_tag/Kconfig.rak_wismesh_tag | 2 +- .../nrf52840/rak_wismesh_tag/battery_curve.c | 2 +- .../nrf52840/rak_wismesh_tag/board.cmake | 2 +- .../boards/nrf52840/rak_wismesh_tag/board.yml | 2 +- .../rak_wismesh_tag-pinctrl.dtsi | 2 +- .../rak_wismesh_tag/rak_wismesh_tag.dts | 2 +- .../rak_wismesh_tag/rak_wismesh_tag_defconfig | 2 +- .../sensecap_solar/Kconfig.sensecap_solar | 2 +- .../nrf52840/sensecap_solar/battery_curve.c | 2 +- .../nrf52840/sensecap_solar/board.cmake | 2 +- .../boards/nrf52840/sensecap_solar/board.conf | 2 +- .../nrf52840/sensecap_solar/board.overlay | 2 +- .../boards/nrf52840/sensecap_solar/board.yml | 2 +- .../sensecap_solar_nrf52840-pinctrl.dtsi | 2 +- .../sensecap_solar_nrf52840.dts | 2 +- .../sensecap_solar_nrf52840_defconfig | 2 +- .../boards/nrf52840/t1000_e/Kconfig.t1000_e | 2 +- .../boards/nrf52840/t1000_e/battery_curve.c | 2 +- zephcore/boards/nrf52840/t1000_e/board.cmake | 2 +- zephcore/boards/nrf52840/t1000_e/board.conf | 2 +- .../boards/nrf52840/t1000_e/board.overlay | 2 +- zephcore/boards/nrf52840/t1000_e/board.yml | 2 +- .../t1000_e/t1000_e_nrf52840-pinctrl.dtsi | 2 +- .../nrf52840/t1000_e/t1000_e_nrf52840.dts | 2 +- .../t1000_e/t1000_e_nrf52840_defconfig | 2 +- .../thinknode_m1/Kconfig.thinknode_m1 | 2 +- .../boards/nrf52840/thinknode_m1/board.cmake | 2 +- .../boards/nrf52840/thinknode_m1/board.yml | 2 +- .../thinknode_m1/thinknode_m1-pinctrl.dtsi | 2 +- .../nrf52840/thinknode_m1/thinknode_m1.dts | 2 +- .../thinknode_m1/thinknode_m1_defconfig | 2 +- .../thinknode_m3/Kconfig.thinknode_m3 | 2 +- .../boards/nrf52840/thinknode_m3/board.cmake | 2 +- .../nrf52840/thinknode_m3/board.overlay | 2 +- .../boards/nrf52840/thinknode_m3/board.yml | 2 +- .../thinknode_m3/thinknode_m3-pinctrl.dtsi | 2 +- .../nrf52840/thinknode_m3/thinknode_m3.dts | 2 +- .../thinknode_m3/thinknode_m3_defconfig | 2 +- .../thinknode_m6/Kconfig.thinknode_m6 | 2 +- .../nrf52840/thinknode_m6/battery_curve.c | 2 +- .../boards/nrf52840/thinknode_m6/board.cmake | 2 +- .../boards/nrf52840/thinknode_m6/board.yml | 2 +- .../thinknode_m6/thinknode_m6-pinctrl.dtsi | 2 +- .../nrf52840/thinknode_m6/thinknode_m6.dts | 2 +- .../thinknode_m6/thinknode_m6_defconfig | 2 +- .../wio_tracker_l1/Kconfig.wio_tracker_l1 | 2 +- .../nrf52840/wio_tracker_l1/battery_curve.c | 2 +- .../nrf52840/wio_tracker_l1/board.cmake | 2 +- .../boards/nrf52840/wio_tracker_l1/board.yml | 2 +- .../wio_tracker_l1_nrf52840-pinctrl.dtsi | 2 +- .../wio_tracker_l1_nrf52840.dts | 2 +- .../wio_tracker_l1_nrf52840_defconfig | 2 +- .../xiao_nrf52840/Kconfig.xiao_nrf52840 | 10 +- .../boards/nrf52840/xiao_nrf52840/board.cmake | 26 +- .../boards/nrf52840/xiao_nrf52840/board.conf | 28 +- .../nrf52840/xiao_nrf52840/board.overlay | 12 +- .../boards/nrf52840/xiao_nrf52840/board.yml | 18 +- .../xiao_nrf52840_nrf52840-pinctrl.dtsi | 132 ++--- .../xiao_nrf52840/xiao_nrf52840_nrf52840.dts | 462 +++++++++--------- .../xiao_nrf52840_nrf52840_defconfig | 20 +- .../boards/nrf54l/xiao_nrf54l15/board.overlay | 2 +- .../bindings/display/zephcore,mono-tft.yaml | 2 +- .../input/zephcore,input-multi-tap.yaml | 2 +- .../dts/bindings/rtc/zephcore,rtc-i2c.yaml | 2 +- zephcore/helpers/AdvertDataHelpers.cpp | 2 +- zephcore/helpers/AdvertDataHelpers.h | 2 +- zephcore/helpers/BaseChatMesh.cpp | 2 +- zephcore/helpers/BaseChatMesh.h | 2 +- zephcore/helpers/ChannelDetails.h | 2 +- zephcore/helpers/ClientACL.cpp | 2 +- zephcore/helpers/ClientACL.h | 2 +- zephcore/helpers/CommonCLI.cpp | 2 +- zephcore/helpers/CommonCLI.h | 2 +- zephcore/helpers/ContactInfo.h | 2 +- zephcore/helpers/IdentityStore.h | 2 +- zephcore/helpers/MeshcoreJson.h | 2 +- zephcore/helpers/NodePrefs.h | 2 +- zephcore/helpers/RateLimiter.h | 2 +- zephcore/helpers/RegionMap.cpp | 2 +- zephcore/helpers/RegionMap.h | 2 +- zephcore/helpers/StatsFormatHelper.h | 2 +- zephcore/helpers/TransportKeyStore.cpp | 2 +- zephcore/helpers/TransportKeyStore.h | 2 +- zephcore/helpers/TxtDataHelpers.h | 2 +- zephcore/helpers/battery_curve.c | 2 +- zephcore/helpers/battery_curve.h | 2 +- zephcore/helpers/fatal_reboot.c | 2 +- zephcore/helpers/joystick_ui_hooks.h | 2 +- zephcore/helpers/oled_power.c | 2 +- zephcore/helpers/oled_power.h | 2 +- zephcore/helpers/time_sync.h | 2 +- zephcore/helpers/ui-button/time_sync.c | 2 +- zephcore/helpers/ui-button/ui_pages.c | 2 +- zephcore/helpers/ui-button/ui_pages.h | 2 +- zephcore/helpers/ui-button/ui_task.c | 2 +- zephcore/helpers/ui-joystick/joystick_defs.h | 2 +- .../helpers/ui-joystick/joystick_display.h | 2 +- .../helpers/ui-joystick/joystick_screens.h | 2 +- .../helpers/ui-joystick/joystick_ui_hooks.cpp | 2 +- .../helpers/ui-joystick/joystick_ui_hooks.h | 2 +- .../helpers/ui-joystick/joystick_ui_task.cpp | 2 +- .../helpers/ui-joystick/joystick_ui_task.h | 2 +- .../helpers/ui-joystick/screens/contacts.cpp | 2 +- zephcore/helpers/ui-joystick/screens/home.cpp | 2 +- .../helpers/ui-joystick/screens/input.cpp | 2 +- .../helpers/ui-joystick/screens/messaging.cpp | 2 +- .../ui-joystick/screens/screen_helpers.h | 2 +- .../helpers/ui-joystick/screens/system.cpp | 2 +- .../helpers/ui-joystick/screens/tools.cpp | 2 +- zephcore/helpers/ui-joystick/time_sync.c | 2 +- zephcore/helpers/ui/buzzer.c | 2 +- zephcore/helpers/ui/buzzer.h | 2 +- zephcore/helpers/ui/cfb_font_0608.c | 2 +- zephcore/helpers/ui/display.c | 2 +- zephcore/helpers/ui/display.h | 2 +- zephcore/helpers/ui/display_mono_tft.c | 2 +- zephcore/helpers/ui/doom_game.c | 2 +- zephcore/helpers/ui/doom_game.h | 2 +- zephcore/helpers/ui/input_multi_tap.c | 2 +- zephcore/helpers/ui/ui_common.c | 2 +- zephcore/helpers/ui/ui_headless_stubs.c | 2 +- zephcore/helpers/ui/ui_mesh_actions.cpp | 2 +- zephcore/helpers/ui/ui_mesh_actions.h | 2 +- zephcore/helpers/ui/ui_mesh_actions_stubs.c | 2 +- zephcore/helpers/ui/ui_task.h | 2 +- zephcore/include/mesh/Board.h | 2 +- zephcore/include/mesh/Clock.h | 2 +- zephcore/include/mesh/ContentionTracker.h | 2 +- zephcore/include/mesh/Dispatcher.h | 2 +- zephcore/include/mesh/Identity.h | 2 +- zephcore/include/mesh/LoRaConfig.h | 2 +- zephcore/include/mesh/Mesh.h | 2 +- zephcore/include/mesh/MeshCore.h | 2 +- zephcore/include/mesh/Packet.h | 2 +- zephcore/include/mesh/PowerController.h | 2 +- zephcore/include/mesh/RNG.h | 2 +- zephcore/include/mesh/RTC.h | 2 +- zephcore/include/mesh/Radio.h | 2 +- zephcore/include/mesh/RadioIncludes.h | 2 +- zephcore/include/mesh/SimpleMeshTables.h | 2 +- .../include/mesh/StaticPoolPacketManager.h | 2 +- zephcore/include/mesh/Utils.h | 2 +- zephcore/lib/monocypher/CMakeLists.txt | 2 +- .../drivers/entropy/fake_entropy_native_sim.c | 2 +- .../drivers/gpio/Kconfig.native_linux | 2 +- .../drivers/gpio/gpio_native_linux.c | 2 +- .../drivers/gpio/gpio_native_linux_adapt.c | 2 +- .../drivers/gpio/gpio_native_linux_adapt.h | 2 +- .../drivers/lora/lr11xx/CMakeLists.txt | 2 +- .../zephyr-new/drivers/lora/lr11xx/Kconfig | 2 +- .../drivers/lora/lr11xx/lr11xx_lora.c | 2 +- .../drivers/lora/lr11xx/lr11xx_lora.h | 2 +- .../drivers/lora/lr20xx/CMakeLists.txt | 2 +- .../zephyr-new/drivers/lora/lr20xx/Kconfig | 2 +- .../drivers/lora/lr20xx/lr20xx_lora.c | 2 +- .../drivers/lora/lr20xx/lr20xx_lora.h | 2 +- .../drivers/lora/native/sx126x/sx126x_ext.h | 2 +- .../drivers/spi/Kconfig.native_linux | 2 +- .../zephyr-new/drivers/spi/spi_native_linux.c | 2 +- .../drivers/spi/spi_native_linux_adapt.c | 2 +- .../drivers/spi/spi_native_linux_adapt.h | 2 +- .../gpio/zephcore,gpio-native-linux.yaml | 2 +- .../dts/bindings/lora/semtech,lr1110.yaml | 2 +- .../dts/bindings/lora/semtech,lr2021.yaml | 2 +- .../spi/zephcore,spi-native-linux.yaml | 2 +- zephcore/src/ContentionTracker.cpp | 2 +- zephcore/src/Dispatcher.cpp | 2 +- zephcore/src/Identity.cpp | 2 +- zephcore/src/Mesh.cpp | 2 +- zephcore/src/Packet.cpp | 2 +- zephcore/src/PowerController.cpp | 2 +- zephcore/src/StaticPoolPacketManager.cpp | 2 +- zephcore/src/Utils.cpp | 2 +- zephcore/src/main_companion.cpp | 2 +- zephcore/src/main_repeater.cpp | 2 +- zephcore/src/main_room_server.cpp | 2 +- zephcore/tools/formatter/CMakeLists.txt | 2 +- zephcore/tools/formatter/src/main.c | 2 +- zephcore/tools/formatter/src/qspi_probe.c | 2 +- zephcore/tools/formatter/src/qspi_probe.h | 2 +- zephcore/tools/lr1110_updater/CMakeLists.txt | 2 +- .../boards/t1000_e/board.overlay | 2 +- .../lr1110_updater/src/lr11xx_hal_updater.c | 2 +- .../lr1110_updater/src/lr11xx_hal_updater.h | 2 +- zephcore/tools/lr1110_updater/src/main.c | 2 +- 328 files changed, 869 insertions(+), 832 deletions(-) create mode 100644 zephcore/LICENSE diff --git a/README.md b/README.md index 8d8a91c..c89e772 100644 --- a/README.md +++ b/README.md @@ -243,8 +243,13 @@ zephcore/ ## License -Same license as the upstream MeshCore project. +MIT License — see [`zephcore/LICENSE`](zephcore/LICENSE). Same license as the +upstream MeshCore project, which this work relies heavily on (see the +[official meshcore repo](https://github.com/meshcore-dev/MeshCore/)). + +A few vendored dependencies carry their own (compatible) licenses — see the +notice at the bottom of `LICENSE` for details (Monocypher, Zephyr patches). ![aXa0YNLq_700w_0](https://github.com/user-attachments/assets/ddce17fd-7b83-4dc7-999f-0519593fcc3d) -(FYI this is sarcasm, the whole project is 99,9% claude and cursor backed, relying heavily on the [official meshcore repo](https://github.com/meshcore-dev/MeshCore/) and the work they do in it) +(FYI the whole project is 99,9% claude and cursor backed, relying heavily on the [official meshcore repo](https://github.com/meshcore-dev/MeshCore/) and the work they do in it) diff --git a/zephcore/CMakeLists.txt b/zephcore/CMakeLists.txt index a36b676..7e7ec7e 100644 --- a/zephcore/CMakeLists.txt +++ b/zephcore/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT cmake_minimum_required(VERSION 3.20.0) diff --git a/zephcore/Kconfig b/zephcore/Kconfig index d21c3d2..c64efb0 100644 --- a/zephcore/Kconfig +++ b/zephcore/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT source "$(ZEPHYR_BASE)/Kconfig.zephyr" diff --git a/zephcore/Kconfig.psram b/zephcore/Kconfig.psram index 701b698..29cf4b9 100644 --- a/zephcore/Kconfig.psram +++ b/zephcore/Kconfig.psram @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # # DT-driven PSRAM auto-enable for ESP32 boards. # diff --git a/zephcore/LICENSE b/zephcore/LICENSE new file mode 100644 index 0000000..df494b6 --- /dev/null +++ b/zephcore/LICENSE @@ -0,0 +1,32 @@ +MIT License + +Copyright (c) 2025-2026 ZephCore contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +This repository vendors third-party code under separate, compatible licenses: + +- `lib/monocypher/` — Monocypher, by Loup Vaillant. Dual-licensed + BSD-2-Clause OR CC0-1.0 (see file headers). +- `patches/zephyr/*.patch` — diffs against Zephyr RTOS (Apache-2.0). The + patches are applied to, and remain part of, the separately-licensed Zephyr + source tree fetched via `west update`; they are not distributed as + standalone files under this project's MIT license. diff --git a/zephcore/adapters/ble/ZephyrBLE.cpp b/zephcore/adapters/ble/ZephyrBLE.cpp index 0f96761..7df751b 100644 --- a/zephcore/adapters/ble/ZephyrBLE.cpp +++ b/zephcore/adapters/ble/ZephyrBLE.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore BLE Adapter — NUS service, advertising, security, TX/RX * * Security: SMP pairing with SC + MITM + Bonding, DisplayOnly IO (app_passkey). diff --git a/zephcore/adapters/ble/ZephyrBLE.h b/zephcore/adapters/ble/ZephyrBLE.h index 5774baf..f01adeb 100644 --- a/zephcore/adapters/ble/ZephyrBLE.h +++ b/zephcore/adapters/ble/ZephyrBLE.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore BLE Adapter — NUS service, advertising, security, TX/RX */ #pragma once diff --git a/zephcore/adapters/board/ZephyrBoard.cpp b/zephcore/adapters/board/ZephyrBoard.cpp index bc7a914..5475ace 100644 --- a/zephcore/adapters/board/ZephyrBoard.cpp +++ b/zephcore/adapters/board/ZephyrBoard.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "ZephyrBoard.h" diff --git a/zephcore/adapters/board/ZephyrBoard.h b/zephcore/adapters/board/ZephyrBoard.h index 0c3a28b..da32be0 100644 --- a/zephcore/adapters/board/ZephyrBoard.h +++ b/zephcore/adapters/board/ZephyrBoard.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr MainBoard base - nRF52840 DK and generic */ diff --git a/zephcore/adapters/clock/ZephyrMillisecondClock.cpp b/zephcore/adapters/clock/ZephyrMillisecondClock.cpp index f0cfc4c..3163796 100644 --- a/zephcore/adapters/clock/ZephyrMillisecondClock.cpp +++ b/zephcore/adapters/clock/ZephyrMillisecondClock.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "ZephyrMillisecondClock.h" diff --git a/zephcore/adapters/clock/ZephyrMillisecondClock.h b/zephcore/adapters/clock/ZephyrMillisecondClock.h index 0add706..1d4f30d 100644 --- a/zephcore/adapters/clock/ZephyrMillisecondClock.h +++ b/zephcore/adapters/clock/ZephyrMillisecondClock.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr implementation of MillisecondClock */ diff --git a/zephcore/adapters/clock/ZephyrRTCClock.cpp b/zephcore/adapters/clock/ZephyrRTCClock.cpp index fe56a81..25dfd50 100644 --- a/zephcore/adapters/clock/ZephyrRTCClock.cpp +++ b/zephcore/adapters/clock/ZephyrRTCClock.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "ZephyrRTCClock.h" diff --git a/zephcore/adapters/clock/ZephyrRTCClock.h b/zephcore/adapters/clock/ZephyrRTCClock.h index 68c14dc..9bad7c8 100644 --- a/zephcore/adapters/clock/ZephyrRTCClock.h +++ b/zephcore/adapters/clock/ZephyrRTCClock.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr software RTC - boot-relative time with settable offset */ diff --git a/zephcore/adapters/clock/ZephyrRTCDiscover.c b/zephcore/adapters/clock/ZephyrRTCDiscover.c index 7471bbc..a2909fe 100644 --- a/zephcore/adapters/clock/ZephyrRTCDiscover.c +++ b/zephcore/adapters/clock/ZephyrRTCDiscover.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Compact raw-I2C hardware-RTC auto-discovery. See ZephyrRTCDiscover.h. * diff --git a/zephcore/adapters/clock/ZephyrRTCDiscover.h b/zephcore/adapters/clock/ZephyrRTCDiscover.h index 5af74da..727ee0f 100644 --- a/zephcore/adapters/clock/ZephyrRTCDiscover.h +++ b/zephcore/adapters/clock/ZephyrRTCDiscover.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Boot-time hardware-RTC auto-discovery (compact raw-I2C reader). * diff --git a/zephcore/adapters/datastore/ZephyrDataStore.cpp b/zephcore/adapters/datastore/ZephyrDataStore.cpp index 7a10b21..4a767a2 100644 --- a/zephcore/adapters/datastore/ZephyrDataStore.cpp +++ b/zephcore/adapters/datastore/ZephyrDataStore.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr DataStore - LittleFS-backed persistence with optional QSPI flash * * All platforms use DTS-automounted /lfs. diff --git a/zephcore/adapters/datastore/ZephyrDataStore.h b/zephcore/adapters/datastore/ZephyrDataStore.h index 242f8dc..75bcdbb 100644 --- a/zephcore/adapters/datastore/ZephyrDataStore.h +++ b/zephcore/adapters/datastore/ZephyrDataStore.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr DataStore - LittleFS-backed persistence with optional QSPI flash * * All platforms use DTS-automounted /lfs for identity, prefs, contacts. diff --git a/zephcore/adapters/gps/ZephyrGPSManager.cpp b/zephcore/adapters/gps/ZephyrGPSManager.cpp index 9ec8449..4760c6e 100644 --- a/zephcore/adapters/gps/ZephyrGPSManager.cpp +++ b/zephcore/adapters/gps/ZephyrGPSManager.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr GPS Manager - GNSS power management, fix acquisition, constellation config * * Event-driven state machine with no polling loops: diff --git a/zephcore/adapters/gps/ZephyrGPSManager.h b/zephcore/adapters/gps/ZephyrGPSManager.h index 2cf95c9..47b4bb1 100644 --- a/zephcore/adapters/gps/ZephyrGPSManager.h +++ b/zephcore/adapters/gps/ZephyrGPSManager.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr GPS Manager - GNSS power management, fix acquisition, constellation config * * Event-driven state machine: OFF → ACQUIRING → STANDBY → ACQUIRING → ... diff --git a/zephcore/adapters/mqtt/ZephyrMQTTPublisher.c b/zephcore/adapters/mqtt/ZephyrMQTTPublisher.c index e0a190a..a10bf81 100644 --- a/zephcore/adapters/mqtt/ZephyrMQTTPublisher.c +++ b/zephcore/adapters/mqtt/ZephyrMQTTPublisher.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephyrMQTTPublisher — MQTT client thread for the Observer role. * * Thread flow: diff --git a/zephcore/adapters/mqtt/ZephyrMQTTPublisher.h b/zephcore/adapters/mqtt/ZephyrMQTTPublisher.h index 6e05961..99c313a 100644 --- a/zephcore/adapters/mqtt/ZephyrMQTTPublisher.h +++ b/zephcore/adapters/mqtt/ZephyrMQTTPublisher.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephyrMQTTPublisher — MQTT client thread for the Observer role. * * Dedicated thread: waits for WiFi ready, resolves broker hostname, diff --git a/zephcore/adapters/ota/wifi_ota.c b/zephcore/adapters/ota/wifi_ota.c index 0e0a9f9..5f21807 100644 --- a/zephcore/adapters/ota/wifi_ota.c +++ b/zephcore/adapters/ota/wifi_ota.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * WiFi OTA Firmware Update * * Starts a WiFi AP + HTTP server for browser-based firmware upload. diff --git a/zephcore/adapters/ota/wifi_ota.h b/zephcore/adapters/ota/wifi_ota.h index 39c554b..c927f8d 100644 --- a/zephcore/adapters/ota/wifi_ota.h +++ b/zephcore/adapters/ota/wifi_ota.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * WiFi OTA Firmware Update — Public API * * Starts a WiFi AP + HTTP server for browser-based firmware upload. diff --git a/zephcore/adapters/radio/LR1110Radio.cpp b/zephcore/adapters/radio/LR1110Radio.cpp index 0709851..68a86a9 100644 --- a/zephcore/adapters/radio/LR1110Radio.cpp +++ b/zephcore/adapters/radio/LR1110Radio.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR1110 hardware hooks for LoRaRadioBase. */ diff --git a/zephcore/adapters/radio/LR1110Radio.h b/zephcore/adapters/radio/LR1110Radio.h index dba2558..5d9d63a 100644 --- a/zephcore/adapters/radio/LR1110Radio.h +++ b/zephcore/adapters/radio/LR1110Radio.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Radio adapter for LR1110/LR1120/LR1121 using Zephyr LoRa driver * * Thin wrapper around LoRaRadioBase — only hardware-specific hooks. diff --git a/zephcore/adapters/radio/LR2021Radio.cpp b/zephcore/adapters/radio/LR2021Radio.cpp index a2dceeb..b435008 100644 --- a/zephcore/adapters/radio/LR2021Radio.cpp +++ b/zephcore/adapters/radio/LR2021Radio.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR2021 hardware hooks for LoRaRadioBase. */ diff --git a/zephcore/adapters/radio/LR2021Radio.h b/zephcore/adapters/radio/LR2021Radio.h index 5303a98..00e1fe8 100644 --- a/zephcore/adapters/radio/LR2021Radio.h +++ b/zephcore/adapters/radio/LR2021Radio.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Radio adapter for LR2021 using Zephyr LoRa driver * * Thin wrapper around LoRaRadioBase — only hardware-specific hooks. diff --git a/zephcore/adapters/radio/LoRaRadioBase.cpp b/zephcore/adapters/radio/LoRaRadioBase.cpp index 819d014..4ff59b5 100644 --- a/zephcore/adapters/radio/LoRaRadioBase.cpp +++ b/zephcore/adapters/radio/LoRaRadioBase.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LoRa radio base class — shared algorithms for all radio adapters. */ diff --git a/zephcore/adapters/radio/LoRaRadioBase.h b/zephcore/adapters/radio/LoRaRadioBase.h index 5fab791..c1a4ae8 100644 --- a/zephcore/adapters/radio/LoRaRadioBase.h +++ b/zephcore/adapters/radio/LoRaRadioBase.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LoRa radio base class — shared state and algorithms. * Subclasses implement hw*() primitives only. */ diff --git a/zephcore/adapters/radio/SX126xRadio.cpp b/zephcore/adapters/radio/SX126xRadio.cpp index 1f29aa1..a803b9a 100644 --- a/zephcore/adapters/radio/SX126xRadio.cpp +++ b/zephcore/adapters/radio/SX126xRadio.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * SX126x hardware hooks for LoRaRadioBase — native Zephyr driver. */ diff --git a/zephcore/adapters/radio/SX126xRadio.h b/zephcore/adapters/radio/SX126xRadio.h index 005c6a4..9d25fa4 100644 --- a/zephcore/adapters/radio/SX126xRadio.h +++ b/zephcore/adapters/radio/SX126xRadio.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Radio adapter for SX126x (SX1261/SX1262/SX1268) using native Zephyr driver */ diff --git a/zephcore/adapters/radio/SX127xRadio.cpp b/zephcore/adapters/radio/SX127xRadio.cpp index 0d3bc4d..95ed98d 100644 --- a/zephcore/adapters/radio/SX127xRadio.cpp +++ b/zephcore/adapters/radio/SX127xRadio.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * SX127x hardware hooks for LoRaRadioBase — Zephyr loramac-node driver. * * The SX127x driver (loramac-node/sx127x.c) exposes only the standard diff --git a/zephcore/adapters/radio/SX127xRadio.h b/zephcore/adapters/radio/SX127xRadio.h index 443e0a1..70ebdfc 100644 --- a/zephcore/adapters/radio/SX127xRadio.h +++ b/zephcore/adapters/radio/SX127xRadio.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Radio adapter for SX127x (SX1272/SX1276/SX1278) using Zephyr loramac-node driver. * * The SX127x loramac-node driver supports the standard Zephyr LoRa API diff --git a/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.c b/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.c index 0d84d87..ea14afc 100644 --- a/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.c +++ b/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR11xx HAL implementation for Zephyr — ZephCore */ diff --git a/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.h b/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.h index 72a6701..3154a29 100644 --- a/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.h +++ b/zephcore/adapters/radio/lr11xx/lr11xx_hal_zephyr.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR11xx HAL for Zephyr — ZephCore */ diff --git a/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.c b/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.c index c4c2732..96982cd 100644 --- a/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.c +++ b/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR20xx HAL implementation for Zephyr - ZephCore * * Based on Semtech SWDR001 lr20xx_driver and the ZephCore lr11xx HAL. diff --git a/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.h b/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.h index 90fc6cb..4025130 100644 --- a/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.h +++ b/zephcore/adapters/radio/lr20xx/lr20xx_hal_zephyr.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR20xx HAL implementation for Zephyr - ZephCore * * Zephyr hardware context for the Semtech lr20xx_driver HAL interface. diff --git a/zephcore/adapters/radio/radio_common.h b/zephcore/adapters/radio/radio_common.h index 5c0a32d..fa04cc0 100644 --- a/zephcore/adapters/radio/radio_common.h +++ b/zephcore/adapters/radio/radio_common.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Shared constants and utilities for all LoRa radio adapters. * * Anything duplicated between SX126xRadio and LR1110Radio belongs here. diff --git a/zephcore/adapters/rng/RNG.cpp b/zephcore/adapters/rng/RNG.cpp index 6903399..447b3da 100644 --- a/zephcore/adapters/rng/RNG.cpp +++ b/zephcore/adapters/rng/RNG.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RNG::nextInt - shared implementation */ diff --git a/zephcore/adapters/rng/ZephyrRNG.cpp b/zephcore/adapters/rng/ZephyrRNG.cpp index 000e6b7..2f6ee73 100644 --- a/zephcore/adapters/rng/ZephyrRNG.cpp +++ b/zephcore/adapters/rng/ZephyrRNG.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "ZephyrRNG.h" diff --git a/zephcore/adapters/rng/ZephyrRNG.h b/zephcore/adapters/rng/ZephyrRNG.h index cb9b20e..7a7ef8c 100644 --- a/zephcore/adapters/rng/ZephyrRNG.h +++ b/zephcore/adapters/rng/ZephyrRNG.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr CSPRNG implementation */ diff --git a/zephcore/adapters/sensors/ZephyrEnvSensors.cpp b/zephcore/adapters/sensors/ZephyrEnvSensors.cpp index f401b85..cbf6dd3 100644 --- a/zephcore/adapters/sensors/ZephyrEnvSensors.cpp +++ b/zephcore/adapters/sensors/ZephyrEnvSensors.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr Environment & Power Sensors * * Auto-detects available sensors via Zephyr devicetree nodelabels. diff --git a/zephcore/adapters/sensors/ZephyrEnvSensors.h b/zephcore/adapters/sensors/ZephyrEnvSensors.h index bca2de8..36e0dff 100644 --- a/zephcore/adapters/sensors/ZephyrEnvSensors.h +++ b/zephcore/adapters/sensors/ZephyrEnvSensors.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Zephyr Environment & Power Sensors * * Environment: temperature, humidity, pressure diff --git a/zephcore/adapters/sensors/ZephyrSensorManager.h b/zephcore/adapters/sensors/ZephyrSensorManager.h index 4ca976b..92d3a3f 100644 --- a/zephcore/adapters/sensors/ZephyrSensorManager.h +++ b/zephcore/adapters/sensors/ZephyrSensorManager.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Backward-compatibility shim — includes GPS manager + env sensors. * All callers can continue using #include "ZephyrSensorManager.h". */ diff --git a/zephcore/adapters/transport/LinuxTCPTransport.c b/zephcore/adapters/transport/LinuxTCPTransport.c index 745592c..ceb475e 100644 --- a/zephcore/adapters/transport/LinuxTCPTransport.c +++ b/zephcore/adapters/transport/LinuxTCPTransport.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore TCP companion transport — drop-in replacement for ZephyrBLE. * * Implements the exact zephcore_ble_* C API from adapters/ble/ZephyrBLE.h diff --git a/zephcore/adapters/transport/linux_native_setup.c b/zephcore/adapters/transport/linux_native_setup.c index da2663b..6974e8d 100644 --- a/zephcore/adapters/transport/linux_native_setup.c +++ b/zephcore/adapters/transport/linux_native_setup.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Native-Linux (native_sim) runtime setup. * diff --git a/zephcore/adapters/usb/ZephyrCompanionUSB.cpp b/zephcore/adapters/usb/ZephyrCompanionUSB.cpp index b079bd0..360f9d4 100644 --- a/zephcore/adapters/usb/ZephyrCompanionUSB.cpp +++ b/zephcore/adapters/usb/ZephyrCompanionUSB.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore USB CDC Companion Transport * * V3-framed USB CDC for companion mode. Extracted from main_companion.cpp. diff --git a/zephcore/adapters/usb/ZephyrCompanionUSB.h b/zephcore/adapters/usb/ZephyrCompanionUSB.h index 170c271..50ab3ad 100644 --- a/zephcore/adapters/usb/ZephyrCompanionUSB.h +++ b/zephcore/adapters/usb/ZephyrCompanionUSB.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore USB CDC Companion Transport * * V3-framed USB CDC for companion mode: ISR, ring buffer, frame parsing, diff --git a/zephcore/adapters/usb/ZephyrUSBCDC.cpp b/zephcore/adapters/usb/ZephyrUSBCDC.cpp index 3e987be..41377ea 100644 --- a/zephcore/adapters/usb/ZephyrUSBCDC.cpp +++ b/zephcore/adapters/usb/ZephyrUSBCDC.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore — Unified USB CDC ACM init (companion + repeater + observer) * * See ZephyrUSBCDC.h for the contract. This implementation: diff --git a/zephcore/adapters/usb/ZephyrUSBCDC.h b/zephcore/adapters/usb/ZephyrUSBCDC.h index 5372640..625ab4c 100644 --- a/zephcore/adapters/usb/ZephyrUSBCDC.h +++ b/zephcore/adapters/usb/ZephyrUSBCDC.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore — Unified USB CDC ACM init (companion + repeater + observer) * * Owns the USBD device + CDC ACM class registration, the usbd_msg_callback diff --git a/zephcore/adapters/wifi/ZephyrWiFiStation.c b/zephcore/adapters/wifi/ZephyrWiFiStation.c index d631207..6170696 100644 --- a/zephcore/adapters/wifi/ZephyrWiFiStation.c +++ b/zephcore/adapters/wifi/ZephyrWiFiStation.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephyrWiFiStation — WiFi STA connection manager for the Observer role. * * Flow: diff --git a/zephcore/adapters/wifi/ZephyrWiFiStation.h b/zephcore/adapters/wifi/ZephyrWiFiStation.h index a908200..c956a13 100644 --- a/zephcore/adapters/wifi/ZephyrWiFiStation.h +++ b/zephcore/adapters/wifi/ZephyrWiFiStation.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephyrWiFiStation — WiFi STA connection manager for the Observer role. * * Connects to a WPA2-PSK (or open) network, obtains a DHCP lease, syncs diff --git a/zephcore/app/CompanionMesh.cpp b/zephcore/app/CompanionMesh.cpp index cb7b238..094b406 100644 --- a/zephcore/app/CompanionMesh.cpp +++ b/zephcore/app/CompanionMesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * CompanionMesh implementation */ diff --git a/zephcore/app/CompanionMesh.h b/zephcore/app/CompanionMesh.h index dcd9f94..9e993a7 100644 --- a/zephcore/app/CompanionMesh.h +++ b/zephcore/app/CompanionMesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * CompanionMesh - ZephCore Companion device application layer */ diff --git a/zephcore/app/ObserverMesh.cpp b/zephcore/app/ObserverMesh.cpp index 9f53f27..478621e 100644 --- a/zephcore/app/ObserverMesh.cpp +++ b/zephcore/app/ObserverMesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ObserverMesh — listen-only LoRa mesh node implementation. */ diff --git a/zephcore/app/ObserverMesh.h b/zephcore/app/ObserverMesh.h index 2350b39..eba463d 100644 --- a/zephcore/app/ObserverMesh.h +++ b/zephcore/app/ObserverMesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ObserverMesh — listen-only LoRa mesh node. * * Extends mesh::Dispatcher directly (no routing, no flooding, no ACL). diff --git a/zephcore/app/RepeaterDataStore.cpp b/zephcore/app/RepeaterDataStore.cpp index 52e8c06..ed942ef 100644 --- a/zephcore/app/RepeaterDataStore.cpp +++ b/zephcore/app/RepeaterDataStore.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterDataStore - Filesystem storage for repeater */ diff --git a/zephcore/app/RepeaterDataStore.h b/zephcore/app/RepeaterDataStore.h index 149d4f4..26a020f 100644 --- a/zephcore/app/RepeaterDataStore.h +++ b/zephcore/app/RepeaterDataStore.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterDataStore - Filesystem storage for repeater * * Uses /lfs/repeater/ prefix to keep data separate from companion. diff --git a/zephcore/app/RepeaterMesh.cpp b/zephcore/app/RepeaterMesh.cpp index 5b3ff98..bb0aefd 100644 --- a/zephcore/app/RepeaterMesh.cpp +++ b/zephcore/app/RepeaterMesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterMesh - LoRa mesh repeater implementation */ diff --git a/zephcore/app/RepeaterMesh.h b/zephcore/app/RepeaterMesh.h index 27b369c..77cc925 100644 --- a/zephcore/app/RepeaterMesh.h +++ b/zephcore/app/RepeaterMesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterMesh - LoRa mesh repeater implementation * * Extends mesh::Mesh with: diff --git a/zephcore/app/RepeaterRegionCLI.cpp b/zephcore/app/RepeaterRegionCLI.cpp index 51cbbf1..c7e511e 100644 --- a/zephcore/app/RepeaterRegionCLI.cpp +++ b/zephcore/app/RepeaterRegionCLI.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterMesh region-definition CLI — the `region ...` command family and the * `region load` continuation-line parser. * diff --git a/zephcore/app/RepeaterUplink.cpp b/zephcore/app/RepeaterUplink.cpp index 39f4902..2657969 100644 --- a/zephcore/app/RepeaterUplink.cpp +++ b/zephcore/app/RepeaterUplink.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RepeaterMesh MQTT uplink — WiFi/MQTT telemetry publishing for repeaters. * * Split out of RepeaterMesh.cpp for readability. Defines the RepeaterMesh diff --git a/zephcore/app/RoomServerMesh.cpp b/zephcore/app/RoomServerMesh.cpp index 117752f..b437c51 100644 --- a/zephcore/app/RoomServerMesh.cpp +++ b/zephcore/app/RoomServerMesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RoomServerMesh - LoRa mesh shared-room (BBS) server * * A store-and-forward shared message room. Clients log in with an admin or diff --git a/zephcore/app/RoomServerMesh.h b/zephcore/app/RoomServerMesh.h index d4dc03e..3edfda8 100644 --- a/zephcore/app/RoomServerMesh.h +++ b/zephcore/app/RoomServerMesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RoomServerMesh - LoRa mesh shared-room (BBS) server * * Extends mesh::Mesh with: diff --git a/zephcore/app/RoomServerRegionCLI.cpp b/zephcore/app/RoomServerRegionCLI.cpp index 9f005e8..6909eef 100644 --- a/zephcore/app/RoomServerRegionCLI.cpp +++ b/zephcore/app/RoomServerRegionCLI.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RoomServerMesh region-definition CLI — the `region ...` command family and the * `region load` continuation-line parser. * diff --git a/zephcore/app/main_observer.cpp b/zephcore/app/main_observer.cpp index e0084aa..3fac239 100644 --- a/zephcore/app/main_observer.cpp +++ b/zephcore/app/main_observer.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Observer — listen-only LoRa node with WiFi+MQTT forwarding. * * Every received LoRa packet is published to an MQTT broker in diff --git a/zephcore/app/observer_creds.cpp b/zephcore/app/observer_creds.cpp index 98d1171..bf0a245 100644 --- a/zephcore/app/observer_creds.cpp +++ b/zephcore/app/observer_creds.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "observer_creds.h" diff --git a/zephcore/app/observer_creds.h b/zephcore/app/observer_creds.h index bd90e70..c2f4dfa 100644 --- a/zephcore/app/observer_creds.h +++ b/zephcore/app/observer_creds.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Observer runtime credentials — stored in LittleFS, configured via serial CLI. * * All connection parameters are runtime-configurable so no credentials ever diff --git a/zephcore/boards/common/filesystem.dtsi b/zephcore/boards/common/filesystem.dtsi index e2ab59b..12c9012 100644 --- a/zephcore/boards/common/filesystem.dtsi +++ b/zephcore/boards/common/filesystem.dtsi @@ -4,7 +4,7 @@ * * Requires board to define: &lfs_partition * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ / { diff --git a/zephcore/boards/common/nrf52_partitions_sdv6.dtsi b/zephcore/boards/common/nrf52_partitions_sdv6.dtsi index 0cc2b67..c94d94d 100644 --- a/zephcore/boards/common/nrf52_partitions_sdv6.dtsi +++ b/zephcore/boards/common/nrf52_partitions_sdv6.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * nRF52840 partition layout — SoftDevice s140 v6 + UF2 bootloader * * See nrf52_partitions_sdv7.dtsi for full include guide. diff --git a/zephcore/boards/common/nrf52_partitions_sdv7.dtsi b/zephcore/boards/common/nrf52_partitions_sdv7.dtsi index bad6ccf..ce4f2b2 100644 --- a/zephcore/boards/common/nrf52_partitions_sdv7.dtsi +++ b/zephcore/boards/common/nrf52_partitions_sdv7.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * nRF52840 partition layout — SoftDevice s140 v7 + UF2 bootloader * * ┌──────────────────────────────────────────────────────────────────┐ diff --git a/zephcore/boards/common/nrf52_wakeup.dtsi b/zephcore/boards/common/nrf52_wakeup.dtsi index 8729f53..d60c92e 100644 --- a/zephcore/boards/common/nrf52_wakeup.dtsi +++ b/zephcore/boards/common/nrf52_wakeup.dtsi @@ -17,7 +17,7 @@ * Include this in any nRF52 board DTS that defines a 'buttons' gpio-keys node. * Boards without buttons (e.g. ikoka_nano, rak4631) should NOT include this. * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ &buttons { diff --git a/zephcore/boards/common/observer.conf b/zephcore/boards/common/observer.conf index df78ef6..8b24046 100644 --- a/zephcore/boards/common/observer.conf +++ b/zephcore/boards/common/observer.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Observer role configuration — listen-only LoRa node with WiFi+MQTT forwarding. # All parameters (WiFi SSID/PSK, MQTT host/port/TLS/user/pass, IATA location code) # are configured at runtime via serial CLI and stored in LittleFS. diff --git a/zephcore/boards/common/qspi-ext.dtsi b/zephcore/boards/common/qspi-ext.dtsi index 514f79a..a55b98b 100644 --- a/zephcore/boards/common/qspi-ext.dtsi +++ b/zephcore/boards/common/qspi-ext.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * QSPI external flash /ext automount — optional add-on for any platform * * See nrf52_partitions_sdv7.dtsi for full include guide. diff --git a/zephcore/boards/common/rtc-i2c.dtsi b/zephcore/boards/common/rtc-i2c.dtsi index 3d1d9fe..1dc262c 100644 --- a/zephcore/boards/common/rtc-i2c.dtsi +++ b/zephcore/boards/common/rtc-i2c.dtsi @@ -1,6 +1,6 @@ /* * Common I2C Real-Time-Clock descriptors for ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * OPT-IN: include this inside an &i2cN { ... } block ONLY on boards that * physically have a battery/cap-backed RTC. Kept separate from diff --git a/zephcore/boards/common/sensors-i2c.dtsi b/zephcore/boards/common/sensors-i2c.dtsi index 59f508f..4d6f319 100644 --- a/zephcore/boards/common/sensors-i2c.dtsi +++ b/zephcore/boards/common/sensors-i2c.dtsi @@ -1,6 +1,6 @@ /* * Common I2C Sensor Definitions for ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Include this file inside an &i2cN { ... } block to define all * supported sensor nodes on that bus. Sensors that are not physically diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v3/board.overlay b/zephcore/boards/esp32/heltec_wifi_lora32_v3/board.overlay index f93ab7d..b0b441a 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v3/board.overlay +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v3/board.overlay @@ -1,134 +1,134 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Heltec WiFi LoRa 32 V3 — ZephCore overlay - * - * The upstream Zephyr DTS already defines SX1262, SSD1306 OLED, button, - * LED, battery ADC, Vext/ADC control, I2C0, SPI2, BLE, and WiFi. - * This overlay adds ZephCore-specific integration on top. - * - * LoRa SPI2 pins: SCLK=9, MOSI=10, MISO=11, NSS=8 - * LoRa control: DIO1=14, BUSY=13, RESET=12 - * Display I2C0: SDA=17, SCL=18 (SSD1306 @ 0x3C) - * Battery ADC: GPIO1 (ADC1 ch0), enable GPIO37, divider 100K/390K - * Vext: GPIO36 (active-LOW, powers OLED) — regulator + vin-supply in overlay - * Button: GPIO0 - * LED: GPIO35 - */ - -#include - -/ { - chosen { - /* Keep console/shell on UART0 for stable host logging on V3 */ - zephyr,console = &uart0; - zephyr,shell-uart = &uart0; - }; - - /* Add label to upstream buttons node (defined without one) */ - buttons: buttons { - }; - - /* Battery ADC — ZephCore reads via zephyr,user { io-channels } - * Upstream vbatt node uses voltage-divider compatible which ZephCore - * doesn't use. Multiplier: 3300mV full-scale * 5.42x = 17886. - * (5.42x is Arduino's empirical divider factor for V3/V4.) */ - zephyr,user { - io-channels = <&adc1 0>; - vbat-mv-multiplier = <17886>; - }; - - /* Battery ADC enable — GPIO37 (gpio1 pin 5) must be driven to read. - * Upstream has adc_ctrl power-domain-gpio; ZephCore expects a - * regulator-fixed named vbat_enable. */ - vbat_enable: vbat-enable { - compatible = "regulator-fixed"; - regulator-name = "vbat-enable"; - enable-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; - }; - - /* Vext — GPIO36, active-LOW enables rail (matches Arduino periph_power / MeshCore - * PIN_VEXT_EN). Replaces upstream vext_ctrl power-domain so SSD1306 init works with - * CONFIG_PM_DEVICE=n. */ - vext_enable: vext-enable { - compatible = "regulator-fixed"; - regulator-name = "vext"; - enable-gpios = <&gpio1 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - regulator-boot-on; - regulator-always-on; - }; - - /* Button chain — same mapping as RAK4631 / WisMesh Pocket (rak4631/board.overlay). */ - user_btn_longpress { - compatible = "zephyr,input-longpress"; - input = <&buttons>; - input-codes = ; - short-codes = ; - long-codes = ; - long-delay-ms = <1000>; - }; - - page_btn_multitap { - compatible = "zephcore,input-multi-tap"; - input-codes = ; - tap-codes = ; - tap-delay-ms = <400>; - }; -}; - -/* Enable native USB serial for console/CLI */ -&usb_serial { - status = "okay"; -}; - -/* Add RX boosted mode and DIO1 pull-down to LoRa radio. - * Upstream omits rx-boosted and has no pull-down on DIO1. */ -&lora0 { - dio1-gpios = <&gpio0 14 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; - rx-boosted; -}; - -/* Reduce CPU clock from 240 MHz to 160 MHz — saves power, HAL minimum */ -&cpu0 { - clock-frequency = ; -}; - -&cpu1 { - clock-frequency = ; -}; - -/* I2C sensors — auto-detected at runtime */ -&i2c0 { - #include "../../common/sensors-i2c.dtsi" - - ssd1306_128x64: display-controller@3c { - /delete-property/ power-domains; - vin-supply = <&vext_enable>; - }; -}; - -/* - * Flash partitions — reclaim unused space from 8MB layout. - * Delete lpcore slots, storage, scratch, and coredump partitions. - * Repurpose 0x7A0000 - 0x800000 (384KB) for LittleFS. - */ -/delete-node/ &slot0_lpcore_partition; -/delete-node/ &slot1_lpcore_partition; -/delete-node/ &storage_partition; -/delete-node/ &scratch_partition; -/delete-node/ &coredump_partition; - -&flash0 { - partitions { - /* LittleFS 384KB for DataStore + file-based BLE settings */ - lfs_partition: partition@7a0000 { - label = "lfs"; - reg = <0x7A0000 0x60000>; - }; - }; -}; - -/* LittleFS auto-mount — standard /lfs mount point */ -#include "../../common/filesystem.dtsi" - -/* After SSD1306 no longer references vext_ctrl, remove upstream power-domain node. */ -/delete-node/ &vext_ctrl; +/* + * SPDX-License-Identifier: MIT + * Heltec WiFi LoRa 32 V3 — ZephCore overlay + * + * The upstream Zephyr DTS already defines SX1262, SSD1306 OLED, button, + * LED, battery ADC, Vext/ADC control, I2C0, SPI2, BLE, and WiFi. + * This overlay adds ZephCore-specific integration on top. + * + * LoRa SPI2 pins: SCLK=9, MOSI=10, MISO=11, NSS=8 + * LoRa control: DIO1=14, BUSY=13, RESET=12 + * Display I2C0: SDA=17, SCL=18 (SSD1306 @ 0x3C) + * Battery ADC: GPIO1 (ADC1 ch0), enable GPIO37, divider 100K/390K + * Vext: GPIO36 (active-LOW, powers OLED) — regulator + vin-supply in overlay + * Button: GPIO0 + * LED: GPIO35 + */ + +#include + +/ { + chosen { + /* Keep console/shell on UART0 for stable host logging on V3 */ + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + }; + + /* Add label to upstream buttons node (defined without one) */ + buttons: buttons { + }; + + /* Battery ADC — ZephCore reads via zephyr,user { io-channels } + * Upstream vbatt node uses voltage-divider compatible which ZephCore + * doesn't use. Multiplier: 3300mV full-scale * 5.42x = 17886. + * (5.42x is Arduino's empirical divider factor for V3/V4.) */ + zephyr,user { + io-channels = <&adc1 0>; + vbat-mv-multiplier = <17886>; + }; + + /* Battery ADC enable — GPIO37 (gpio1 pin 5) must be driven to read. + * Upstream has adc_ctrl power-domain-gpio; ZephCore expects a + * regulator-fixed named vbat_enable. */ + vbat_enable: vbat-enable { + compatible = "regulator-fixed"; + regulator-name = "vbat-enable"; + enable-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; + }; + + /* Vext — GPIO36, active-LOW enables rail (matches Arduino periph_power / MeshCore + * PIN_VEXT_EN). Replaces upstream vext_ctrl power-domain so SSD1306 init works with + * CONFIG_PM_DEVICE=n. */ + vext_enable: vext-enable { + compatible = "regulator-fixed"; + regulator-name = "vext"; + enable-gpios = <&gpio1 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + regulator-boot-on; + regulator-always-on; + }; + + /* Button chain — same mapping as RAK4631 / WisMesh Pocket (rak4631/board.overlay). */ + user_btn_longpress { + compatible = "zephyr,input-longpress"; + input = <&buttons>; + input-codes = ; + short-codes = ; + long-codes = ; + long-delay-ms = <1000>; + }; + + page_btn_multitap { + compatible = "zephcore,input-multi-tap"; + input-codes = ; + tap-codes = ; + tap-delay-ms = <400>; + }; +}; + +/* Enable native USB serial for console/CLI */ +&usb_serial { + status = "okay"; +}; + +/* Add RX boosted mode and DIO1 pull-down to LoRa radio. + * Upstream omits rx-boosted and has no pull-down on DIO1. */ +&lora0 { + dio1-gpios = <&gpio0 14 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; + rx-boosted; +}; + +/* Reduce CPU clock from 240 MHz to 160 MHz — saves power, HAL minimum */ +&cpu0 { + clock-frequency = ; +}; + +&cpu1 { + clock-frequency = ; +}; + +/* I2C sensors — auto-detected at runtime */ +&i2c0 { + #include "../../common/sensors-i2c.dtsi" + + ssd1306_128x64: display-controller@3c { + /delete-property/ power-domains; + vin-supply = <&vext_enable>; + }; +}; + +/* + * Flash partitions — reclaim unused space from 8MB layout. + * Delete lpcore slots, storage, scratch, and coredump partitions. + * Repurpose 0x7A0000 - 0x800000 (384KB) for LittleFS. + */ +/delete-node/ &slot0_lpcore_partition; +/delete-node/ &slot1_lpcore_partition; +/delete-node/ &storage_partition; +/delete-node/ &scratch_partition; +/delete-node/ &coredump_partition; + +&flash0 { + partitions { + /* LittleFS 384KB for DataStore + file-based BLE settings */ + lfs_partition: partition@7a0000 { + label = "lfs"; + reg = <0x7A0000 0x60000>; + }; + }; +}; + +/* LittleFS auto-mount — standard /lfs mount point */ +#include "../../common/filesystem.dtsi" + +/* After SSD1306 no longer references vext_ctrl, remove upstream power-domain node. */ +/delete-node/ &vext_ctrl; diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v4/board.overlay b/zephcore/boards/esp32/heltec_wifi_lora32_v4/board.overlay index ce6e5c9..78aa9eb 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v4/board.overlay +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v4/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4 — ZephCore overlay * * The DTS already defines: SX1262 (lora0), SSD1306 OLED, button, LED, PWM, diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4-pinctrl.dtsi b/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4-pinctrl.dtsi index eee6688..7566f12 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4-pinctrl.dtsi +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4 — Pin Control Definitions * * Pin assignments (identical to V3): diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4_procpu.dts b/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4_procpu.dts index b0bd45c..2d67431 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4_procpu.dts +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v4/heltec_wifi_lora32_v4_procpu.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4 — ZephCore procpu DTS * * Hardware: diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v43/board.overlay b/zephcore/boards/esp32/heltec_wifi_lora32_v43/board.overlay index 7047afd..1348209 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v43/board.overlay +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v43/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4.3 — ZephCore overlay * * The DTS already defines: SX1262 (lora0), SSD1306 OLED, button, LED, PWM, diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43-pinctrl.dtsi b/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43-pinctrl.dtsi index 6a2352e..e670ed2 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43-pinctrl.dtsi +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4.3 — Pin Control Definitions * * Pin assignments identical to V4.2 (GPIO5/CTX is plain GPIO, no pinctrl entry needed): diff --git a/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43_procpu.dts b/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43_procpu.dts index c8a36ed..f203eca 100644 --- a/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43_procpu.dts +++ b/zephcore/boards/esp32/heltec_wifi_lora32_v43/heltec_wifi_lora32_v43_procpu.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Heltec WiFi LoRa 32 V4.3 — ZephCore procpu DTS * * Hardware: diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/Kconfig.lilygo_tlora_c6 b/zephcore/boards/esp32/lilygo_tlora_c6/Kconfig.lilygo_tlora_c6 index b8b95c4..3f24138 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/Kconfig.lilygo_tlora_c6 +++ b/zephcore/boards/esp32/lilygo_tlora_c6/Kconfig.lilygo_tlora_c6 @@ -1,6 +1,6 @@ # LilyGo T-LoRa C6 board configuration -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_LILYGO_TLORA_C6 select SOC_ESP32_C6_WROOM_1U_N4 diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/board.cmake b/zephcore/boards/esp32/lilygo_tlora_c6/board.cmake index 2f04d1f..adad636 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/board.cmake +++ b/zephcore/boards/esp32/lilygo_tlora_c6/board.cmake @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT if(NOT "${OPENOCD}" MATCHES "^${ESPRESSIF_TOOLCHAIN_PATH}/.*") set(OPENOCD OPENOCD-NOTFOUND) diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/board.conf b/zephcore/boards/esp32/lilygo_tlora_c6/board.conf index b6b1d19..111c675 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/board.conf +++ b/zephcore/boards/esp32/lilygo_tlora_c6/board.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # LilyGo T-LoRa C6 (T3-C6) + SX1262 LoRa # # Hardware: diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/board.overlay b/zephcore/boards/esp32/lilygo_tlora_c6/board.overlay index 1756939..3829ed6 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/board.overlay +++ b/zephcore/boards/esp32/lilygo_tlora_c6/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LilyGo T-LoRa C6 (T3-C6) + SX1262 LoRa * * Pin mapping (from Arduino MeshCore variants/lilygo_tlora_c6): diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6-pinctrl.dtsi b/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6-pinctrl.dtsi index 5c60775..8788aab 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6-pinctrl.dtsi +++ b/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LilyGo T-LoRa C6 — Pin Control Definitions * * Pin mapping (from Arduino MeshCore variants/lilygo_tlora_c6): diff --git a/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6_hpcore.dts b/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6_hpcore.dts index 2adff61..6835cad 100644 --- a/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6_hpcore.dts +++ b/zephcore/boards/esp32/lilygo_tlora_c6/lilygo_tlora_c6_hpcore.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LilyGo T-LoRa C6 (T3-C6) — ESP32-C6-MINI-1U, 4MB flash * * Hardware: diff --git a/zephcore/boards/esp32/station_g2/board.conf b/zephcore/boards/esp32/station_g2/board.conf index eb6eb01..90bc2e7 100644 --- a/zephcore/boards/esp32/station_g2/board.conf +++ b/zephcore/boards/esp32/station_g2/board.conf @@ -1,26 +1,26 @@ -# SPDX-License-Identifier: Apache-2.0 -# BQ Station G2 — ZephCore board configuration -# -# Hardware: -# ESP32-S3 (16MB flash, 8MB PSRAM) -# SX1262 + PA on SPI2 (TX power 7 dBm → ~27 dBm with PA) -# SH1106 128x64 OLED on I2C0 -# GPS on UART1 -# User button on GPIO38 -# -# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf - -# Board identification -CONFIG_ZEPHCORE_BOARD_NAME="Station G2" -CONFIG_BT_DIS_MODEL_NUMBER_STR="BQ Station G2" - -# TX power — Station G2 has ~20dB external PA. -# Default 15 dBm → ~35 dBm output (P1dB point). Not capped — user can raise. -CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=15 - -# Flash size — 16MB (override Zephyr default) -CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y - -# PSRAM mode — ESP32-S3R8 is silicon-strapped OPI octal. -# Enable is auto-detected from DTS by Kconfig.psram; only the mode is set here. -CONFIG_SPIRAM_MODE_OCT=y +# SPDX-License-Identifier: MIT +# BQ Station G2 — ZephCore board configuration +# +# Hardware: +# ESP32-S3 (16MB flash, 8MB PSRAM) +# SX1262 + PA on SPI2 (TX power 7 dBm → ~27 dBm with PA) +# SH1106 128x64 OLED on I2C0 +# GPS on UART1 +# User button on GPIO38 +# +# Include order: prj.conf → zephcore_common.conf → esp32_common.conf → board.conf + +# Board identification +CONFIG_ZEPHCORE_BOARD_NAME="Station G2" +CONFIG_BT_DIS_MODEL_NUMBER_STR="BQ Station G2" + +# TX power — Station G2 has ~20dB external PA. +# Default 15 dBm → ~35 dBm output (P1dB point). Not capped — user can raise. +CONFIG_ZEPHCORE_DEFAULT_TX_POWER_DBM=15 + +# Flash size — 16MB (override Zephyr default) +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y + +# PSRAM mode — ESP32-S3R8 is silicon-strapped OPI octal. +# Enable is auto-detected from DTS by Kconfig.psram; only the mode is set here. +CONFIG_SPIRAM_MODE_OCT=y diff --git a/zephcore/boards/esp32/station_g2/board.overlay b/zephcore/boards/esp32/station_g2/board.overlay index 16b14a8..2590c9b 100644 --- a/zephcore/boards/esp32/station_g2/board.overlay +++ b/zephcore/boards/esp32/station_g2/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * BQ Station G2 — ZephCore overlay * * Adds LoRa radio, display, GPS, button, and filesystem on top of the diff --git a/zephcore/boards/esp32/station_g2/station_g2-pinctrl.dtsi b/zephcore/boards/esp32/station_g2/station_g2-pinctrl.dtsi index f16a300..2314af1 100644 --- a/zephcore/boards/esp32/station_g2/station_g2-pinctrl.dtsi +++ b/zephcore/boards/esp32/station_g2/station_g2-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * BQ Station G2 — Pin Control Definitions * * Pin mapping (from Arduino MeshCore variants/station_g2): diff --git a/zephcore/boards/esp32/station_g2/station_g2_procpu.dts b/zephcore/boards/esp32/station_g2/station_g2_procpu.dts index e094c4a..4910150 100644 --- a/zephcore/boards/esp32/station_g2/station_g2_procpu.dts +++ b/zephcore/boards/esp32/station_g2/station_g2_procpu.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * BQ Station G2 — ESP32-S3, 16MB flash, 8MB PSRAM * * Hardware: diff --git a/zephcore/boards/esp32/ttgo_lora32/board.overlay b/zephcore/boards/esp32/ttgo_lora32/board.overlay index 05c2a92..01c4346 100644 --- a/zephcore/boards/esp32/ttgo_lora32/board.overlay +++ b/zephcore/boards/esp32/ttgo_lora32/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * TTGO LoRa32 — ZephCore overlay * * The upstream Zephyr DTS (ttgo_lora32_esp32_procpu.dts) already defines: diff --git a/zephcore/boards/esp32/xiao_esp32c3/board.conf b/zephcore/boards/esp32/xiao_esp32c3/board.conf index 43ecb9d..aeeffed 100644 --- a/zephcore/boards/esp32/xiao_esp32c3/board.conf +++ b/zephcore/boards/esp32/xiao_esp32c3/board.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Seeed XIAO ESP32-C3 + SX1262 LoRa # # Hardware: diff --git a/zephcore/boards/esp32/xiao_esp32c3/board.overlay b/zephcore/boards/esp32/xiao_esp32c3/board.overlay index a826d04..bcc4557 100644 --- a/zephcore/boards/esp32/xiao_esp32c3/board.overlay +++ b/zephcore/boards/esp32/xiao_esp32c3/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * XIAO ESP32-C3 + SX1262 LoRa * * Pin mapping (from Arduino MeshCore variants/xiao_c3): diff --git a/zephcore/boards/esp32/xiao_esp32c6/board.conf b/zephcore/boards/esp32/xiao_esp32c6/board.conf index 3fff5ca..1bd0d2e 100644 --- a/zephcore/boards/esp32/xiao_esp32c6/board.conf +++ b/zephcore/boards/esp32/xiao_esp32c6/board.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Seeed XIAO ESP32-C6 + SX1262 LoRa # # Hardware: diff --git a/zephcore/boards/esp32/xiao_esp32c6/board.overlay b/zephcore/boards/esp32/xiao_esp32c6/board.overlay index 9e7a1b3..495d0c7 100644 --- a/zephcore/boards/esp32/xiao_esp32c6/board.overlay +++ b/zephcore/boards/esp32/xiao_esp32c6/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * XIAO ESP32-C6 + SX1262 LoRa * * Pin mapping (from Arduino MeshCore variants/xiao_c6): diff --git a/zephcore/boards/esp32/xiao_esp32s3/board.conf b/zephcore/boards/esp32/xiao_esp32s3/board.conf index 47fdfd9..9866c24 100644 --- a/zephcore/boards/esp32/xiao_esp32s3/board.conf +++ b/zephcore/boards/esp32/xiao_esp32s3/board.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Seeed XIAO ESP32-S3 + WIO-SX1262 LoRa # # Hardware: diff --git a/zephcore/boards/esp32/xiao_esp32s3/board.overlay b/zephcore/boards/esp32/xiao_esp32s3/board.overlay index d433717..54b9d91 100644 --- a/zephcore/boards/esp32/xiao_esp32s3/board.overlay +++ b/zephcore/boards/esp32/xiao_esp32s3/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Seeed XIAO ESP32-S3 + WIO-SX1262 LoRa * * Pin mapping (from Arduino MeshCore variants/xiao_s3_wio): diff --git a/zephcore/boards/example_board/board.overlay b/zephcore/boards/example_board/board.overlay index 6b4ec1a..a4e0d92 100644 --- a/zephcore/boards/example_board/board.overlay +++ b/zephcore/boards/example_board/board.overlay @@ -34,7 +34,7 @@ * │ * = already set in Zephyr's board DTS, no override needed │ * └──────────────────────────────────────────────────────────────────────┘ * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ diff --git a/zephcore/boards/linux_native/femtofox.overlay b/zephcore/boards/linux_native/femtofox.overlay index a0dbb9d..46ce34d 100644 --- a/zephcore/boards/linux_native/femtofox.overlay +++ b/zephcore/boards/linux_native/femtofox.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Femtofox (Luckfox Pico Mini RV1103 + Ebyte E22-900M30S, SX1262 TCXO) wiring. * Auto-paired with femtofox.conf. Defines the native_linux SPI/GPIO controllers diff --git a/zephcore/boards/linux_native/linux_common.overlay b/zephcore/boards/linux_native/linux_common.overlay index 17dc3d6..308f372 100644 --- a/zephcore/boards/linux_native/linux_common.overlay +++ b/zephcore/boards/linux_native/linux_common.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * ZephCore native Linux PLATFORM overlay (auto-paired with linux_common.conf, * applied automatically for BOARD=native_sim). diff --git a/zephcore/boards/linux_native/rak6421.overlay b/zephcore/boards/linux_native/rak6421.overlay index 5e6972f..1b5b5ae 100644 --- a/zephcore/boards/linux_native/rak6421.overlay +++ b/zephcore/boards/linux_native/rak6421.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * RAK6421 WisBlock Pi HAT + RAK13300/RAK13302 (SX1262), IO Slot 1. * Auto-paired with rak6421.conf. Defines the native_linux SPI/GPIO controllers diff --git a/zephcore/boards/linux_native/rak6421_pi5.overlay b/zephcore/boards/linux_native/rak6421_pi5.overlay index 1525215..291c091 100644 --- a/zephcore/boards/linux_native/rak6421_pi5.overlay +++ b/zephcore/boards/linux_native/rak6421_pi5.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * RAK6421 WisBlock Pi HAT + RAK13300/RAK13302 (SX1262), IO Slot 1, on Pi 5. * Auto-paired with rak6421_pi5.conf. Identical to rak6421.overlay except the diff --git a/zephcore/boards/mg24/xiao_mg24/board.overlay b/zephcore/boards/mg24/xiao_mg24/board.overlay index 9320ecc..9b3ec06 100644 --- a/zephcore/boards/mg24/xiao_mg24/board.overlay +++ b/zephcore/boards/mg24/xiao_mg24/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * XIAO MG24 + Wio-SX1262 LoRa * * Pin mapping (XIAO MG24 connector → Wio-SX1262): diff --git a/zephcore/boards/nrf52840/gat562_30s/Kconfig.gat562_30s b/zephcore/boards/nrf52840/gat562_30s/Kconfig.gat562_30s index 3e1741a..8e7a28f 100644 --- a/zephcore/boards/nrf52840/gat562_30s/Kconfig.gat562_30s +++ b/zephcore/boards/nrf52840/gat562_30s/Kconfig.gat562_30s @@ -1,5 +1,5 @@ # GAT562 30S Mesh Kit board selection -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_GAT562_30S select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/gat562_30s/board.cmake b/zephcore/boards/nrf52840/gat562_30s/board.cmake index f79da42..883503a 100644 --- a/zephcore/boards/nrf52840/gat562_30s/board.cmake +++ b/zephcore/boards/nrf52840/gat562_30s/board.cmake @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # GAT562 30S Mesh Kit — nRF52840 (same SWD/UF2 runners as RAK4631) board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") diff --git a/zephcore/boards/nrf52840/gat562_30s/gat562_30s-pinctrl.dtsi b/zephcore/boards/nrf52840/gat562_30s/gat562_30s-pinctrl.dtsi index 6c8f3e0..2e628a8 100644 --- a/zephcore/boards/nrf52840/gat562_30s/gat562_30s-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/gat562_30s/gat562_30s-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * GAT562 30S Mesh Kit pin control. * * RAK4631 core-module pinout (UART/I2C/SPI/QSPI identical to upstream diff --git a/zephcore/boards/nrf52840/gat562_30s/gat562_30s.dts b/zephcore/boards/nrf52840/gat562_30s/gat562_30s.dts index 308372f..0d1d5af 100644 --- a/zephcore/boards/nrf52840/gat562_30s/gat562_30s.dts +++ b/zephcore/boards/nrf52840/gat562_30s/gat562_30s.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * GAT562 30S Mesh Kit — nRF52840 + SX1262 on a RAK4631 core module, with a * 30 dBm (1 W) external PA, SSD1306 OLED, GPS, buzzer, 2x18650 + solar input. diff --git a/zephcore/boards/nrf52840/gat562_30s/gat562_30s_defconfig b/zephcore/boards/nrf52840/gat562_30s/gat562_30s_defconfig index 7b78d98..6468df7 100644 --- a/zephcore/boards/nrf52840/gat562_30s/gat562_30s_defconfig +++ b/zephcore/boards/nrf52840/gat562_30s/gat562_30s_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # GAT562 30S Mesh Kit default configuration # (most subsystems also come from zephcore_common.conf + nrf52_common.conf; # these are the board essentials, kept self-contained like other custom boards) diff --git a/zephcore/boards/nrf52840/gat562_30s/pre_dt_board.cmake b/zephcore/boards/nrf52840/gat562_30s/pre_dt_board.cmake index 895843e..b790b84 100644 --- a/zephcore/boards/nrf52840/gat562_30s/pre_dt_board.cmake +++ b/zephcore/boards/nrf52840/gat562_30s/pre_dt_board.cmake @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Suppress unique_unit_address warnings for the overlapping nRF52840 # peripherals (power/clock/bprot @ 0x40000000, acl/flash-controller @ # 0x4001e000) — same as the upstream rak4631 board. diff --git a/zephcore/boards/nrf52840/heltec_t114/Kconfig.heltec_t114 b/zephcore/boards/nrf52840/heltec_t114/Kconfig.heltec_t114 index c139e57..4f997f9 100644 --- a/zephcore/boards/nrf52840/heltec_t114/Kconfig.heltec_t114 +++ b/zephcore/boards/nrf52840/heltec_t114/Kconfig.heltec_t114 @@ -1,6 +1,6 @@ # Copyright (c) 2026 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_HELTEC_T114 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/heltec_t114/board.cmake b/zephcore/boards/nrf52840/heltec_t114/board.cmake index 81f03cd..3dc94fb 100644 --- a/zephcore/boards/nrf52840/heltec_t114/board.cmake +++ b/zephcore/boards/nrf52840/heltec_t114/board.cmake @@ -1,6 +1,6 @@ # Copyright (c) 2026 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/heltec_t114/board.yml b/zephcore/boards/nrf52840/heltec_t114/board.yml index 4a322a3..a6cd2a5 100644 --- a/zephcore/boards/nrf52840/heltec_t114/board.yml +++ b/zephcore/boards/nrf52840/heltec_t114/board.yml @@ -1,6 +1,6 @@ # Copyright (c) 2026 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: heltec_t114 diff --git a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840-pinctrl.dtsi b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840-pinctrl.dtsi index d8a864b..bb0d2c9 100644 --- a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840-pinctrl.dtsi @@ -2,7 +2,7 @@ * Heltec T114 pin control definitions * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings from MeshCore variants/heltec_t114 (variant.cpp, platformio.ini): * - SPI2 (SX1262 LoRa): SCK=P0.19, MOSI=P0.22, MISO=P0.23 diff --git a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840.dts b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840.dts index 6ab81a8..b11fe2e 100644 --- a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840.dts +++ b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840.dts @@ -2,7 +2,7 @@ * Heltec T114 — nRF52840 + SX1262 + ST7789 1.14" 240×135 TFT + ATGM336H GPS * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * */ diff --git a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840_defconfig b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840_defconfig index d06a2a1..98c300e 100644 --- a/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840_defconfig +++ b/zephcore/boards/nrf52840/heltec_t114/heltec_t114_nrf52840_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Enable MPU CONFIG_ARM_MPU=y diff --git a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm-pinctrl.dtsi b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm-pinctrl.dtsi index 1dc2312..5acf05d 100644 --- a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm-pinctrl.dtsi @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Ikoka Nano 30dBm pin control - based on XIAO nRF52840 */ diff --git a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm.dts b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm.dts index 7a8112a..7f14042 100644 --- a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm.dts +++ b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm.dts @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Ikoka Nano 30dBm - XIAO nRF52840 + E22-900M30S LoRa module * * E22-900M30S LoRa Module: diff --git a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm_defconfig b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm_defconfig index f9da0b6..86a34db 100644 --- a/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm_defconfig +++ b/zephcore/boards/nrf52840/ikoka_nano_30dbm/ikoka_nano_30dbm_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Ikoka Nano 30dBm default configuration # Enable MPU diff --git a/zephcore/boards/nrf52840/lilygo_techo/Kconfig.lilygo_techo b/zephcore/boards/nrf52840/lilygo_techo/Kconfig.lilygo_techo index 7a2ce7e..c69b53b 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/Kconfig.lilygo_techo +++ b/zephcore/boards/nrf52840/lilygo_techo/Kconfig.lilygo_techo @@ -1,6 +1,6 @@ # LilyGo T-Echo board configuration # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_LILYGO_TECHO select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/lilygo_techo/board.cmake b/zephcore/boards/nrf52840/lilygo_techo/board.cmake index f7ae420..f3abf93 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/board.cmake +++ b/zephcore/boards/nrf52840/lilygo_techo/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/lilygo_techo/board.overlay b/zephcore/boards/nrf52840/lilygo_techo/board.overlay index 8a37472..94c31c3 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/board.overlay +++ b/zephcore/boards/nrf52840/lilygo_techo/board.overlay @@ -3,5 +3,5 @@ * This overlay is intentionally empty; all nodes live in lilygo_techo.dts. * Any user-level tweaks (e.g. swapping EPD rotation) can be added here. * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ diff --git a/zephcore/boards/nrf52840/lilygo_techo/board.yml b/zephcore/boards/nrf52840/lilygo_techo/board.yml index 12ecea1..f967034 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/board.yml +++ b/zephcore/boards/nrf52840/lilygo_techo/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: lilygo_techo diff --git a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo-pinctrl.dtsi b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo-pinctrl.dtsi index 5108a92..8d9a548 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo-pinctrl.dtsi @@ -2,7 +2,7 @@ * LilyGo T-Echo pin control definitions * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings (from Arduino MeshCore variant.h): * diff --git a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo.dts b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo.dts index 0d0757f..bf6e0d6 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo.dts +++ b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo.dts @@ -2,7 +2,7 @@ * LilyGo T-Echo — nRF52840 + SX1262 + SSD1681 1.54" EPD + L76K GPS * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE 5 diff --git a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo_defconfig b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo_defconfig index 2294dbe..c9906a5 100644 --- a/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo_defconfig +++ b/zephcore/boards/nrf52840/lilygo_techo/lilygo_techo_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # LilyGo T-Echo default configuration # Enable MPU diff --git a/zephcore/boards/nrf52840/promicro_lr2021/Kconfig.promicro_lr2021 b/zephcore/boards/nrf52840/promicro_lr2021/Kconfig.promicro_lr2021 index b40b557..7a85ce6 100644 --- a/zephcore/boards/nrf52840/promicro_lr2021/Kconfig.promicro_lr2021 +++ b/zephcore/boards/nrf52840/promicro_lr2021/Kconfig.promicro_lr2021 @@ -1,6 +1,6 @@ # ProMicro LR2021 board configuration # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_PROMICRO_LR2021 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/promicro_lr2021/board.yml b/zephcore/boards/nrf52840/promicro_lr2021/board.yml index 865b53f..fd77774 100644 --- a/zephcore/boards/nrf52840/promicro_lr2021/board.yml +++ b/zephcore/boards/nrf52840/promicro_lr2021/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: promicro_lr2021 full_name: ProMicro LR2021 (nRF52840 SuperMini + LR2021) diff --git a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021-pinctrl.dtsi b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021-pinctrl.dtsi index 8e87cd7..07a6e76 100644 --- a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021-pinctrl.dtsi @@ -1,7 +1,7 @@ /* * ProMicro LR2021 pin control definitions * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * SPI2 (LR2021): SCK=P1.11, MOSI=P1.15, MISO=P0.02 * I2C0 (sensors): SDA=P1.04, SCL=P0.11 diff --git a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021.dts b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021.dts index e39ad59..a502577 100644 --- a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021.dts +++ b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021.dts @@ -2,7 +2,7 @@ * ProMicro LR2021 — nRF52840 SuperMini + LR2021 * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 (SuperMini/ProMicro form factor) with BLE 5 diff --git a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021_defconfig b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021_defconfig index 1551170..020794f 100644 --- a/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021_defconfig +++ b/zephcore/boards/nrf52840/promicro_lr2021/promicro_lr2021_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y CONFIG_GPIO=y diff --git a/zephcore/boards/nrf52840/promicro_sx1262/Kconfig.promicro_sx1262 b/zephcore/boards/nrf52840/promicro_sx1262/Kconfig.promicro_sx1262 index b22930f..4689707 100644 --- a/zephcore/boards/nrf52840/promicro_sx1262/Kconfig.promicro_sx1262 +++ b/zephcore/boards/nrf52840/promicro_sx1262/Kconfig.promicro_sx1262 @@ -1,6 +1,6 @@ # ProMicro SX1262 (Ebyte E22-900M30S) board configuration # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_PROMICRO_SX1262 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/promicro_sx1262/board.yml b/zephcore/boards/nrf52840/promicro_sx1262/board.yml index 30a0bcb..360fa9c 100644 --- a/zephcore/boards/nrf52840/promicro_sx1262/board.yml +++ b/zephcore/boards/nrf52840/promicro_sx1262/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: promicro_sx1262 full_name: ProMicro sx1262 (nRF52840 SuperMini + sx1262) diff --git a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262-pinctrl.dtsi b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262-pinctrl.dtsi index ca14740..8c870b5 100644 --- a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262-pinctrl.dtsi @@ -1,7 +1,7 @@ /* * ProMicro SX1262 pin control definitions * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * SPI2 (SX1262): SCK=P1.11, MOSI=P1.15, MISO=P0.02 * I2C0 (sensors): SDA=P1.04, SCL=P0.11 diff --git a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262.dts b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262.dts index 9e3a500..be981e9 100644 --- a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262.dts +++ b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262.dts @@ -2,7 +2,7 @@ * ProMicro SX1262 — nRF52840 SuperMini + Ebyte E22-900M30S * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 (SuperMini/ProMicro form factor) with BLE 5 diff --git a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262_defconfig b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262_defconfig index 1551170..020794f 100644 --- a/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262_defconfig +++ b/zephcore/boards/nrf52840/promicro_sx1262/promicro_sx1262_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y CONFIG_GPIO=y diff --git a/zephcore/boards/nrf52840/rak3401_1watt/Kconfig.rak3401_1watt b/zephcore/boards/nrf52840/rak3401_1watt/Kconfig.rak3401_1watt index a35a957..d3a5f82 100644 --- a/zephcore/boards/nrf52840/rak3401_1watt/Kconfig.rak3401_1watt +++ b/zephcore/boards/nrf52840/rak3401_1watt/Kconfig.rak3401_1watt @@ -1,6 +1,6 @@ # RAK3401 1W board configuration # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_RAK3401_1WATT select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/rak3401_1watt/board.cmake b/zephcore/boards/nrf52840/rak3401_1watt/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/rak3401_1watt/board.cmake +++ b/zephcore/boards/nrf52840/rak3401_1watt/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt-pinctrl.dtsi b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt-pinctrl.dtsi index e5b38aa..6fdbef9 100644 --- a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt-pinctrl.dtsi @@ -2,7 +2,7 @@ * RAK3401 1W pin control definitions * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings (from MeshCore variant.h): * diff --git a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt.dts b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt.dts index 34eb9c3..b6122e6 100644 --- a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt.dts +++ b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt.dts @@ -2,7 +2,7 @@ * RAK3401 1W — nRF52840 + SX1262 + SKY66122 1W PA (WisMesh Booster) * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE 5 diff --git a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt_defconfig b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt_defconfig index fd4d5bb..72bc458 100644 --- a/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt_defconfig +++ b/zephcore/boards/nrf52840/rak3401_1watt/rak3401_1watt_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # RAK3401 1W default configuration # Enable MPU diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/Kconfig.rak_wismesh_tag b/zephcore/boards/nrf52840/rak_wismesh_tag/Kconfig.rak_wismesh_tag index b94870b..be6f813 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/Kconfig.rak_wismesh_tag +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/Kconfig.rak_wismesh_tag @@ -1,6 +1,6 @@ # RAK WisMesh Tag board configuration # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_RAK_WISMESH_TAG select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/battery_curve.c b/zephcore/boards/nrf52840/rak_wismesh_tag/battery_curve.c index 24acafd..ef54a28 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/battery_curve.c +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * RAK WisMesh Tag single-cell LiPo OCV curve — 21 points at 5% steps. * 11-point base linearly interpolated to 5% resolution. diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/board.cmake b/zephcore/boards/nrf52840/rak_wismesh_tag/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/board.cmake +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/board.yml b/zephcore/boards/nrf52840/rak_wismesh_tag/board.yml index bf0132e..b1d45ac 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/board.yml +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: rak_wismesh_tag diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag-pinctrl.dtsi b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag-pinctrl.dtsi index 5f2b1f3..8a88ad0 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag-pinctrl.dtsi @@ -2,7 +2,7 @@ * RAK WisMesh Tag pin control definitions * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings (from Arduino MeshCore variant.h): * diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag.dts b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag.dts index 34752a1..d67af1f 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag.dts +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag.dts @@ -2,7 +2,7 @@ * RAK WisMesh Tag — nRF52840 + SX1262 (card-sized GPS tracker) * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE 5 diff --git a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag_defconfig b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag_defconfig index 0af30f8..3aebc03 100644 --- a/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag_defconfig +++ b/zephcore/boards/nrf52840/rak_wismesh_tag/rak_wismesh_tag_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # RAK WisMesh Tag default configuration # Enable MPU diff --git a/zephcore/boards/nrf52840/sensecap_solar/Kconfig.sensecap_solar b/zephcore/boards/nrf52840/sensecap_solar/Kconfig.sensecap_solar index 244b97a..57bb39b 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/Kconfig.sensecap_solar +++ b/zephcore/boards/nrf52840/sensecap_solar/Kconfig.sensecap_solar @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_SENSECAP_SOLAR select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/sensecap_solar/battery_curve.c b/zephcore/boards/nrf52840/sensecap_solar/battery_curve.c index e360b11..60968fd 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/battery_curve.c +++ b/zephcore/boards/nrf52840/sensecap_solar/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * SenseCAP Solar single-cell LiPo OCV curve — 21 points at 5% steps. * 11-point base linearly interpolated to 5% resolution. diff --git a/zephcore/boards/nrf52840/sensecap_solar/board.cmake b/zephcore/boards/nrf52840/sensecap_solar/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/board.cmake +++ b/zephcore/boards/nrf52840/sensecap_solar/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/sensecap_solar/board.conf b/zephcore/boards/nrf52840/sensecap_solar/board.conf index 539de3c..70feb61 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/board.conf +++ b/zephcore/boards/nrf52840/sensecap_solar/board.conf @@ -1,5 +1,5 @@ # Seeed SenseCAP Solar Node (P1 / P1-Pro) -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # # SX1262 on SPI2 (P0.04 CS, P0.03 DIO1, P0.28 RST, P0.29 BUSY, P0.05 RXEN) # Quectel L76K GNSS on UART0 9600 (P1.11/12), enable P1.05, reset P1.03 diff --git a/zephcore/boards/nrf52840/sensecap_solar/board.overlay b/zephcore/boards/nrf52840/sensecap_solar/board.overlay index 1b2f661..4542e4e 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/board.overlay +++ b/zephcore/boards/nrf52840/sensecap_solar/board.overlay @@ -1,6 +1,6 @@ /* * SenseCAP Solar — ZephCore overlay - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * GPS aliases for ZephyrGPSManager. gnss-nmea-generic has no on-off-gpios, * so ZephyrGPSManager owns P1.05 (gps-enable alias) exclusively. diff --git a/zephcore/boards/nrf52840/sensecap_solar/board.yml b/zephcore/boards/nrf52840/sensecap_solar/board.yml index 562fb44..c808b2d 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/board.yml +++ b/zephcore/boards/nrf52840/sensecap_solar/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: sensecap_solar diff --git a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840-pinctrl.dtsi b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840-pinctrl.dtsi index 975fa83..6724ac1 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840-pinctrl.dtsi @@ -1,6 +1,6 @@ /* * Seeed SenseCAP Solar Node (P1 / P1-Pro) — pin control - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * MeshCore variants/sensecap_solar variant.cpp: * - SPI2 (SX1262): SCK=P1.13, MOSI=P1.15, MISO=P1.14 diff --git a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840.dts b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840.dts index cc6b4f1..8c10046 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840.dts +++ b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840.dts @@ -1,6 +1,6 @@ /* * Seeed SenseCAP Solar Node (P1 / P1-Pro) — nRF52840 + SX1262 - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin map from MeshCore variants/sensecap_solar (variant.cpp, platformio.ini): * - SX1262: CS=P0.04, DIO1=P0.03, RST=P0.28, BUSY=P0.29, RXEN=P0.05, diff --git a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840_defconfig b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840_defconfig index 0910647..1ac5d88 100644 --- a/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840_defconfig +++ b/zephcore/boards/nrf52840/sensecap_solar/sensecap_solar_nrf52840_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y diff --git a/zephcore/boards/nrf52840/t1000_e/Kconfig.t1000_e b/zephcore/boards/nrf52840/t1000_e/Kconfig.t1000_e index de81e3b..b90fcd4 100644 --- a/zephcore/boards/nrf52840/t1000_e/Kconfig.t1000_e +++ b/zephcore/boards/nrf52840/t1000_e/Kconfig.t1000_e @@ -1,6 +1,6 @@ # Copyright (c) 2025 MeshCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_T1000_E select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/t1000_e/battery_curve.c b/zephcore/boards/nrf52840/t1000_e/battery_curve.c index 68f11ca..1de5c76 100644 --- a/zephcore/boards/nrf52840/t1000_e/battery_curve.c +++ b/zephcore/boards/nrf52840/t1000_e/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * T1000-E single-cell LiPo OCV curve — 21 points at 5% steps. * 11-point base linearly interpolated to 5% resolution. diff --git a/zephcore/boards/nrf52840/t1000_e/board.cmake b/zephcore/boards/nrf52840/t1000_e/board.cmake index d05119f..06bac50 100644 --- a/zephcore/boards/nrf52840/t1000_e/board.cmake +++ b/zephcore/boards/nrf52840/t1000_e/board.cmake @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # T1000-E uses J-Link or UF2 bootloader board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") diff --git a/zephcore/boards/nrf52840/t1000_e/board.conf b/zephcore/boards/nrf52840/t1000_e/board.conf index c501d20..55531ca 100644 --- a/zephcore/boards/nrf52840/t1000_e/board.conf +++ b/zephcore/boards/nrf52840/t1000_e/board.conf @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Seeed Tracker T1000-E board configuration # # Hardware: diff --git a/zephcore/boards/nrf52840/t1000_e/board.overlay b/zephcore/boards/nrf52840/t1000_e/board.overlay index 7ab4552..3e9596b 100644 --- a/zephcore/boards/nrf52840/t1000_e/board.overlay +++ b/zephcore/boards/nrf52840/t1000_e/board.overlay @@ -1,6 +1,6 @@ /* * T1000-E board overlay - additional ZephCore-specific configuration - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * GPS control pins for Airoha AG3335 GNSS module (matches Arduino target.cpp): * - GPS_EN (P1.11) - Main power enable diff --git a/zephcore/boards/nrf52840/t1000_e/board.yml b/zephcore/boards/nrf52840/t1000_e/board.yml index 9a5380f..38e4cd9 100644 --- a/zephcore/boards/nrf52840/t1000_e/board.yml +++ b/zephcore/boards/nrf52840/t1000_e/board.yml @@ -1,6 +1,6 @@ # Copyright (c) 2025 MeshCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: t1000_e diff --git a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840-pinctrl.dtsi b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840-pinctrl.dtsi index 1f0f789..673960c 100644 --- a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840-pinctrl.dtsi @@ -1,7 +1,7 @@ /* * Seeed Tracker T1000-E - Pin Control * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin assignments from variant.h: * - SPI: SCK=P0.11, MISO=P1.08, MOSI=P1.09, NSS=P0.12 (for LR1110) diff --git a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840.dts b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840.dts index 892565c..a75ba22 100644 --- a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840.dts +++ b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840.dts @@ -2,7 +2,7 @@ * Seeed Tracker T1000-E - nRF52840 + LR1110 * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE diff --git a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840_defconfig b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840_defconfig index cae0a87..76a1501 100644 --- a/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840_defconfig +++ b/zephcore/boards/nrf52840/t1000_e/t1000_e_nrf52840_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 MeshCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Enable MPU CONFIG_ARM_MPU=y diff --git a/zephcore/boards/nrf52840/thinknode_m1/Kconfig.thinknode_m1 b/zephcore/boards/nrf52840/thinknode_m1/Kconfig.thinknode_m1 index 842aa94..2a8c7a1 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/Kconfig.thinknode_m1 +++ b/zephcore/boards/nrf52840/thinknode_m1/Kconfig.thinknode_m1 @@ -1,6 +1,6 @@ # Elecrow ThinkNode M1 board configuration # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_THINKNODE_M1 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/thinknode_m1/board.cmake b/zephcore/boards/nrf52840/thinknode_m1/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/board.cmake +++ b/zephcore/boards/nrf52840/thinknode_m1/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/thinknode_m1/board.yml b/zephcore/boards/nrf52840/thinknode_m1/board.yml index f69889a..b84d2af 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/board.yml +++ b/zephcore/boards/nrf52840/thinknode_m1/board.yml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: thinknode_m1 diff --git a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1-pinctrl.dtsi b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1-pinctrl.dtsi index 3eece85..6c0c9f4 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1-pinctrl.dtsi @@ -2,7 +2,7 @@ * Elecrow ThinkNode M1 pin control definitions * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings (from Arduino MeshCore variant.h): * diff --git a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1.dts b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1.dts index ae99a36..ddf7fd6 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1.dts +++ b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1.dts @@ -2,7 +2,7 @@ * Elecrow ThinkNode M1 — nRF52840 + SX1262 + SSD1681 1.54" EPD * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE 5 diff --git a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1_defconfig b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1_defconfig index ef29475..31396da 100644 --- a/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1_defconfig +++ b/zephcore/boards/nrf52840/thinknode_m1/thinknode_m1_defconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Elecrow ThinkNode M1 default configuration # Enable MPU diff --git a/zephcore/boards/nrf52840/thinknode_m3/Kconfig.thinknode_m3 b/zephcore/boards/nrf52840/thinknode_m3/Kconfig.thinknode_m3 index ffe9312..4102713 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/Kconfig.thinknode_m3 +++ b/zephcore/boards/nrf52840/thinknode_m3/Kconfig.thinknode_m3 @@ -1,6 +1,6 @@ # Copyright (c) 2025 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_THINKNODE_M3 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/thinknode_m3/board.cmake b/zephcore/boards/nrf52840/thinknode_m3/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/board.cmake +++ b/zephcore/boards/nrf52840/thinknode_m3/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/thinknode_m3/board.overlay b/zephcore/boards/nrf52840/thinknode_m3/board.overlay index ce3cc27..87b1e99 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/board.overlay +++ b/zephcore/boards/nrf52840/thinknode_m3/board.overlay @@ -1,6 +1,6 @@ /* * ThinkNode M3 board overlay - additional ZephCore-specific configuration - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * GPS control pins for the GPS module (generic NMEA at 9600 baud): * - GPS_POWER (P0.14) - Main power enable (always HIGH, gpio-hog) diff --git a/zephcore/boards/nrf52840/thinknode_m3/board.yml b/zephcore/boards/nrf52840/thinknode_m3/board.yml index 97dccb0..6a45f79 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/board.yml +++ b/zephcore/boards/nrf52840/thinknode_m3/board.yml @@ -1,6 +1,6 @@ # Copyright (c) 2025 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: thinknode_m3 diff --git a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3-pinctrl.dtsi b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3-pinctrl.dtsi index 2ea032c..848c332 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3-pinctrl.dtsi @@ -1,7 +1,7 @@ /* * Elecrow ThinkNode M3 - Pin Control * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin assignments from Arduino variant.h and platformio.ini: * - SPI: SCK=P1.13, MOSI=P1.14, MISO=P1.15, NSS=P1.12 (for LR1110) diff --git a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3.dts b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3.dts index 7d8557d..6fab616 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3.dts +++ b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3.dts @@ -2,7 +2,7 @@ * Elecrow ThinkNode M3 - nRF52840 + LR1110 * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware (from Arduino variant.h / platformio.ini): * - nRF52840 SoC with BLE diff --git a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3_defconfig b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3_defconfig index b6fe6d7..20f68eb 100644 --- a/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3_defconfig +++ b/zephcore/boards/nrf52840/thinknode_m3/thinknode_m3_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Enable MPU CONFIG_ARM_MPU=y diff --git a/zephcore/boards/nrf52840/thinknode_m6/Kconfig.thinknode_m6 b/zephcore/boards/nrf52840/thinknode_m6/Kconfig.thinknode_m6 index 7228291..adde0dc 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/Kconfig.thinknode_m6 +++ b/zephcore/boards/nrf52840/thinknode_m6/Kconfig.thinknode_m6 @@ -1,6 +1,6 @@ # Copyright (c) 2025 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_THINKNODE_M6 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/thinknode_m6/battery_curve.c b/zephcore/boards/nrf52840/thinknode_m6/battery_curve.c index 9207d03..252b684 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/battery_curve.c +++ b/zephcore/boards/nrf52840/thinknode_m6/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * ThinkNode M6 single-cell LiPo OCV curve — 21 points at 5% steps. * 11-point base linearly interpolated to 5% resolution. diff --git a/zephcore/boards/nrf52840/thinknode_m6/board.cmake b/zephcore/boards/nrf52840/thinknode_m6/board.cmake index 34bb176..0c28603 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/board.cmake +++ b/zephcore/boards/nrf52840/thinknode_m6/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/thinknode_m6/board.yml b/zephcore/boards/nrf52840/thinknode_m6/board.yml index 3129c8b..b6de414 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/board.yml +++ b/zephcore/boards/nrf52840/thinknode_m6/board.yml @@ -1,6 +1,6 @@ # Copyright (c) 2025 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: thinknode_m6 diff --git a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6-pinctrl.dtsi b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6-pinctrl.dtsi index 7a92c32..0c15233 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6-pinctrl.dtsi @@ -1,7 +1,7 @@ /* * Elecrow ThinkNode M6 - Pin Control * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin assignments from Arduino variant.h and platformio.ini: * - SPI1 (LoRa SX1262): SCK=P1.13, MOSI=P1.14, MISO=P1.15, NSS=P1.12 diff --git a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6.dts b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6.dts index 86e9b27..17f6abf 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6.dts +++ b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6.dts @@ -2,7 +2,7 @@ * Elecrow ThinkNode M6 — nRF52840 + SX1262 * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware (from Arduino variant.h / platformio.ini): * - nRF52840 SoC with BLE (DCDC regulator, NRF52BoardDCDC) diff --git a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6_defconfig b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6_defconfig index b6fe6d7..20f68eb 100644 --- a/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6_defconfig +++ b/zephcore/boards/nrf52840/thinknode_m6/thinknode_m6_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Enable MPU CONFIG_ARM_MPU=y diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/Kconfig.wio_tracker_l1 b/zephcore/boards/nrf52840/wio_tracker_l1/Kconfig.wio_tracker_l1 index 21c82c5..8673151 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/Kconfig.wio_tracker_l1 +++ b/zephcore/boards/nrf52840/wio_tracker_l1/Kconfig.wio_tracker_l1 @@ -1,6 +1,6 @@ # Copyright (c) 2025 MeshCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config BOARD_WIO_TRACKER_L1 select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/battery_curve.c b/zephcore/boards/nrf52840/wio_tracker_l1/battery_curve.c index ff72c15..0713ce6 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/battery_curve.c +++ b/zephcore/boards/nrf52840/wio_tracker_l1/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Wio Tracker L1 battery curve — single-cell LiPo, 21 points at 5% steps. * diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/board.cmake b/zephcore/boards/nrf52840/wio_tracker_l1/board.cmake index 66c6ba8..a22c84a 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/board.cmake +++ b/zephcore/boards/nrf52840/wio_tracker_l1/board.cmake @@ -1,6 +1,6 @@ # Copyright (c) 2025 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/board.yml b/zephcore/boards/nrf52840/wio_tracker_l1/board.yml index 3c42e7f..8f9dea3 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/board.yml +++ b/zephcore/boards/nrf52840/wio_tracker_l1/board.yml @@ -1,6 +1,6 @@ # Copyright (c) 2025 MeshCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT board: name: wio_tracker_l1 diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840-pinctrl.dtsi b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840-pinctrl.dtsi index c24b792..bdd9e1b 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840-pinctrl.dtsi @@ -2,7 +2,7 @@ * Seeed Wio Tracker L1 pin control definitions * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Pin mappings from Arduino variant.cpp: * - SPI0 (LoRa): SCK=P0.30, MISO=P0.03, MOSI=P0.28, CS=P1.14 diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840.dts b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840.dts index 5fc25fb..fcad076 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840.dts +++ b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840.dts @@ -2,7 +2,7 @@ * Seeed Wio Tracker L1 - nRF52840 + SX1262 * Copyright (c) 2025 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hardware: * - nRF52840 SoC with BLE diff --git a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840_defconfig b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840_defconfig index cae0a87..76a1501 100644 --- a/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840_defconfig +++ b/zephcore/boards/nrf52840/wio_tracker_l1/wio_tracker_l1_nrf52840_defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 MeshCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Enable MPU CONFIG_ARM_MPU=y diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/Kconfig.xiao_nrf52840 b/zephcore/boards/nrf52840/xiao_nrf52840/Kconfig.xiao_nrf52840 index 536c8e9..97d6519 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/Kconfig.xiao_nrf52840 +++ b/zephcore/boards/nrf52840/xiao_nrf52840/Kconfig.xiao_nrf52840 @@ -1,5 +1,5 @@ -# Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_XIAO_NRF52840 - select SOC_NRF52840_QIAA +# Copyright (c) 2025 ZephCore +# SPDX-License-Identifier: MIT + +config BOARD_XIAO_NRF52840 + select SOC_NRF52840_QIAA diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/board.cmake b/zephcore/boards/nrf52840/xiao_nrf52840/board.cmake index 56ba274..0c28603 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/board.cmake +++ b/zephcore/boards/nrf52840/xiao_nrf52840/board.cmake @@ -1,13 +1,13 @@ -# Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 - -board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") -board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") - -set(OPENOCD_NRF5_SUBFAMILY "nrf52") - -include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) -include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) -include(${ZEPHYR_BASE}/boards/common/openocd-nrf5.board.cmake) -include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) -include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake) +# Copyright (c) 2025 ZephCore +# SPDX-License-Identifier: MIT + +board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000") +board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000") + +set(OPENOCD_NRF5_SUBFAMILY "nrf52") + +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) +include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) +include(${ZEPHYR_BASE}/boards/common/openocd-nrf5.board.cmake) +include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) +include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake) diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/board.conf b/zephcore/boards/nrf52840/xiao_nrf52840/board.conf index db0b700..fd30e14 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/board.conf +++ b/zephcore/boards/nrf52840/xiao_nrf52840/board.conf @@ -1,14 +1,14 @@ -# Seeed XIAO nRF52840 + Wio-SX1262 (headers) -# SPDX-License-Identifier: Apache-2.0 - -CONFIG_ZEPHCORE_BOARD_NAME="XIAO nRF52840" - -CONFIG_BT_DIS_MODEL_NUMBER_STR="Seeed XIAO nRF52840" - -CONFIG_ZEPHCORE_SD_FWID=0x0123 - -# Default debug (debug.conf) sends LOG_* to RTT only. Plain XIAO is usually -# flashed/debugged over USB without an SWD J-Link — enable UART backend so -# LOG_* appears on the CDC ACM serial port (same as zephyr,console). -# RTT remains enabled for J-Link; use DROP mode (see zephcore_common.conf). -CONFIG_LOG_BACKEND_UART=y +# Seeed XIAO nRF52840 + Wio-SX1262 (headers) +# SPDX-License-Identifier: MIT + +CONFIG_ZEPHCORE_BOARD_NAME="XIAO nRF52840" + +CONFIG_BT_DIS_MODEL_NUMBER_STR="Seeed XIAO nRF52840" + +CONFIG_ZEPHCORE_SD_FWID=0x0123 + +# Default debug (debug.conf) sends LOG_* to RTT only. Plain XIAO is usually +# flashed/debugged over USB without an SWD J-Link — enable UART backend so +# LOG_* appears on the CDC ACM serial port (same as zephyr,console). +# RTT remains enabled for J-Link; use DROP mode (see zephcore_common.conf). +CONFIG_LOG_BACKEND_UART=y diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/board.overlay b/zephcore/boards/nrf52840/xiao_nrf52840/board.overlay index 4262dbe..0f31ed8 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/board.overlay +++ b/zephcore/boards/nrf52840/xiao_nrf52840/board.overlay @@ -1,6 +1,6 @@ -/* - * Seeed XIAO nRF52840 — QSPI /ext for contacts (no GPS aliases) - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "../../common/qspi-ext.dtsi" +/* + * Seeed XIAO nRF52840 — QSPI /ext for contacts (no GPS aliases) + * SPDX-License-Identifier: MIT + */ + +#include "../../common/qspi-ext.dtsi" diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/board.yml b/zephcore/boards/nrf52840/xiao_nrf52840/board.yml index 4c639f7..f3e0b2a 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/board.yml +++ b/zephcore/boards/nrf52840/xiao_nrf52840/board.yml @@ -1,9 +1,9 @@ -# Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 - -board: - name: xiao_nrf52840 - full_name: Seeed XIAO nRF52840 (Wio-SX1262) - vendor: seeed - socs: - - name: nrf52840 +# Copyright (c) 2025 ZephCore +# SPDX-License-Identifier: MIT + +board: + name: xiao_nrf52840 + full_name: Seeed XIAO nRF52840 (Wio-SX1262) + vendor: seeed + socs: + - name: nrf52840 diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840-pinctrl.dtsi b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840-pinctrl.dtsi index 480e11f..03ac62f 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840-pinctrl.dtsi +++ b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840-pinctrl.dtsi @@ -1,66 +1,66 @@ -/* - * Seeed XIAO nRF52840 + Wio-SX1262 (headers) — pin control - * SPDX-License-Identifier: Apache-2.0 - * - * MeshCore variants/xiao_nrf52 variant.cpp + platformio.ini: - * - SPI2 (SX1262): SCK=P1.13, MOSI=P1.15, MISO=P1.14 (D8–D10) - * - I2C0: SDA=P1.12, SCL=P1.11 (MeshCore PIN_WIRE_SDA=D7, PIN_WIRE_SCL=D6) - * - QSPI P25Q16H: same as other XIAO nRF52840 designs - */ - -&pinctrl { - spi2_default: spi2_default { - group1 { - psels = , - , - ; - }; - }; - - spi2_sleep: spi2_sleep { - group1 { - psels = , - , - ; - low-power-enable; - }; - }; - - i2c0_default: i2c0_default { - group1 { - psels = , - ; - }; - }; - - i2c0_sleep: i2c0_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; - - qspi_default: qspi_default { - group1 { - psels = , - , - , - , - , - ; - }; - }; - - qspi_sleep: qspi_sleep { - group1 { - psels = , - , - , - , - , - ; - low-power-enable; - }; - }; -}; +/* + * Seeed XIAO nRF52840 + Wio-SX1262 (headers) — pin control + * SPDX-License-Identifier: MIT + * + * MeshCore variants/xiao_nrf52 variant.cpp + platformio.ini: + * - SPI2 (SX1262): SCK=P1.13, MOSI=P1.15, MISO=P1.14 (D8–D10) + * - I2C0: SDA=P1.12, SCL=P1.11 (MeshCore PIN_WIRE_SDA=D7, PIN_WIRE_SCL=D6) + * - QSPI P25Q16H: same as other XIAO nRF52840 designs + */ + +&pinctrl { + spi2_default: spi2_default { + group1 { + psels = , + , + ; + }; + }; + + spi2_sleep: spi2_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + i2c0_default: i2c0_default { + group1 { + psels = , + ; + }; + }; + + i2c0_sleep: i2c0_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + qspi_default: qspi_default { + group1 { + psels = , + , + , + , + , + ; + }; + }; + + qspi_sleep: qspi_sleep { + group1 { + psels = , + , + , + , + , + ; + low-power-enable; + }; + }; +}; diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840.dts b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840.dts index e72ab91..4250b63 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840.dts +++ b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840.dts @@ -1,231 +1,231 @@ -/* - * Seeed XIAO nRF52840 + Wio-SX1262 on headers - * SPDX-License-Identifier: Apache-2.0 - * - * MeshCore variants/xiao_nrf52 (plain XIAO, no GPS): - * - SX1262: CS/RST/BUSY/DIO1/RXEN = P0.04/28/29/03/05 (D4–D1, D5) - * - SPI: P1.13/14/15 (D8–D10); DIO2 RF switch; TCXO 1.8V - * - LEDs: red P0.26 (D11, MeshCore P_LORA_TX_LED), blue P0.06 (D12), green P0.30 (D13), active-low - * - User button: D0 = P0.02 - * - Battery: AIN7 P0.31, divider enable P0.14 (D14), active-low enable - * - I2C: P1.12 SDA / P1.11 SCL (MeshCore Wire on D7/D6 when LoRa uses D4/D5) - * - UART0 not used (pins shared with I2C in this layout) - */ - -/dts-v1/; -#include -#include -#include -#include -#include -#include "xiao_nrf52840_nrf52840-pinctrl.dtsi" - -/delete-node/ &boot_partition; -/delete-node/ &slot0_partition; -/delete-node/ &slot1_partition; -/delete-node/ &storage_partition; - -/ { - model = "Seeed XIAO nRF52840"; - compatible = "seeed,xiao-nrf52840"; - - chosen { - zephyr,code-partition = &code_partition; - zephyr,console = &cdc_acm_uart; - zephyr,shell-uart = &cdc_acm_uart; - }; - - leds { - compatible = "gpio-leds"; - - /* MeshCore LED_STATE_ON 0 → active-low */ - led_red: led_0 { - gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; - label = "LED red (LoRa TX)"; - }; - - led_blue: led_1 { - gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; - label = "LED blue"; - }; - - led_green: led_2 { - gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; - label = "LED green"; - }; - }; - - buttons: buttons { - compatible = "gpio-keys"; - - user_button: button_0 { - gpios = <&gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - zephyr,code = ; - label = "User"; - }; - }; - - user_btn_longpress { - compatible = "zephyr,input-longpress"; - input = <&buttons>; - input-codes = ; - short-codes = ; - long-codes = ; - long-delay-ms = <1000>; - }; - - user_btn_multitap { - compatible = "zephcore,input-multi-tap"; - input-codes = ; - tap-codes = ; - tap-delay-ms = <400>; - }; - - vbat_enable: vbat-enable { - compatible = "regulator-fixed"; - regulator-name = "vbat-enable"; - enable-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; - }; - - zephyr,user { - io-channels = <&adc 7>; - /* mV = raw * mult / 4096; mult from two-point DMM calibration (Zephyr SAADC path) */ - vbat-mv-multiplier = <10911>; - }; - - aliases { - led0 = &led_blue; - led1 = &led_green; - lora-tx-led = &led_red; - sw0 = &user_button; - lora0 = &lora; - watchdog0 = &wdt0; - }; -}; - -®0 { - status = "okay"; -}; - -®1 { - regulator-initial-mode = ; -}; - -&adc { - status = "okay"; - #address-cells = <1>; - #size-cells = <0>; - - channel@7 { - reg = <7>; - zephyr,gain = "ADC_GAIN_1_6"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; - zephyr,resolution = <12>; - }; -}; - -&uicr { - nfct-pins-as-gpios; -}; - -&gpiote { - status = "okay"; -}; - -&gpio0 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; - -&uart0 { - status = "disabled"; -}; - -&i2c0 { - compatible = "nordic,nrf-twim"; - status = "okay"; - clock-frequency = ; - pinctrl-0 = <&i2c0_default>; - pinctrl-1 = <&i2c0_sleep>; - pinctrl-names = "default", "sleep"; - - #include "../../common/sensors-i2c.dtsi" -}; - -&spi2 { - compatible = "nordic,nrf-spim"; - status = "okay"; - cs-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&spi2_default>; - pinctrl-1 = <&spi2_sleep>; - pinctrl-names = "default", "sleep"; - - lora: lora@0 { - compatible = "semtech,sx1262"; - reg = <0>; - reset-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; - busy-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; - dio1-gpios = <&gpio0 3 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; - rx-enable-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; - dio2-tx-enable; - dio3-tcxo-voltage = ; - tcxo-power-startup-delay-ms = <5>; - spi-max-frequency = <8000000>; - rx-boosted; - }; -}; - -&qspi { - status = "okay"; - pinctrl-0 = <&qspi_default>; - pinctrl-1 = <&qspi_sleep>; - pinctrl-names = "default", "sleep"; - - qspi_flash: qspi_flash@0 { - compatible = "nordic,qspi-nor"; - reg = <0>; - writeoc = "pp"; - readoc = "fastread"; - sck-frequency = <16000000>; - jedec-id = [85 60 15]; - sfdp-bfp = [ - e5 20 f1 ff ff ff ff 01 44 eb 08 6b 08 3b 04 bb - ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 - 10 d8 00 ff - ]; - size = <16777216>; - has-dpd; - t-enter-dpd = <3000>; - t-exit-dpd = <50000>; - }; -}; - -zephyr_udc0: &usbd { - compatible = "nordic,nrf-usbd"; - status = "okay"; - - cdc_acm_uart: cdc_acm_uart { - compatible = "zephyr,cdc-acm-uart"; - }; -}; - -#include "../../common/nrf52_partitions_sdv7.dtsi" - -&qspi_flash { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - qspi_storage_partition: partition@0 { - label = "qspi_storage"; - reg = <0x00000000 0x00200000>; - }; - }; -}; -#include "../../common/nrf52_wakeup.dtsi" +/* + * Seeed XIAO nRF52840 + Wio-SX1262 on headers + * SPDX-License-Identifier: MIT + * + * MeshCore variants/xiao_nrf52 (plain XIAO, no GPS): + * - SX1262: CS/RST/BUSY/DIO1/RXEN = P0.04/28/29/03/05 (D4–D1, D5) + * - SPI: P1.13/14/15 (D8–D10); DIO2 RF switch; TCXO 1.8V + * - LEDs: red P0.26 (D11, MeshCore P_LORA_TX_LED), blue P0.06 (D12), green P0.30 (D13), active-low + * - User button: D0 = P0.02 + * - Battery: AIN7 P0.31, divider enable P0.14 (D14), active-low enable + * - I2C: P1.12 SDA / P1.11 SCL (MeshCore Wire on D7/D6 when LoRa uses D4/D5) + * - UART0 not used (pins shared with I2C in this layout) + */ + +/dts-v1/; +#include +#include +#include +#include +#include +#include "xiao_nrf52840_nrf52840-pinctrl.dtsi" + +/delete-node/ &boot_partition; +/delete-node/ &slot0_partition; +/delete-node/ &slot1_partition; +/delete-node/ &storage_partition; + +/ { + model = "Seeed XIAO nRF52840"; + compatible = "seeed,xiao-nrf52840"; + + chosen { + zephyr,code-partition = &code_partition; + zephyr,console = &cdc_acm_uart; + zephyr,shell-uart = &cdc_acm_uart; + }; + + leds { + compatible = "gpio-leds"; + + /* MeshCore LED_STATE_ON 0 → active-low */ + led_red: led_0 { + gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; + label = "LED red (LoRa TX)"; + }; + + led_blue: led_1 { + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + label = "LED blue"; + }; + + led_green: led_2 { + gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; + label = "LED green"; + }; + }; + + buttons: buttons { + compatible = "gpio-keys"; + + user_button: button_0 { + gpios = <&gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + zephyr,code = ; + label = "User"; + }; + }; + + user_btn_longpress { + compatible = "zephyr,input-longpress"; + input = <&buttons>; + input-codes = ; + short-codes = ; + long-codes = ; + long-delay-ms = <1000>; + }; + + user_btn_multitap { + compatible = "zephcore,input-multi-tap"; + input-codes = ; + tap-codes = ; + tap-delay-ms = <400>; + }; + + vbat_enable: vbat-enable { + compatible = "regulator-fixed"; + regulator-name = "vbat-enable"; + enable-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + }; + + zephyr,user { + io-channels = <&adc 7>; + /* mV = raw * mult / 4096; mult from two-point DMM calibration (Zephyr SAADC path) */ + vbat-mv-multiplier = <10911>; + }; + + aliases { + led0 = &led_blue; + led1 = &led_green; + lora-tx-led = &led_red; + sw0 = &user_button; + lora0 = &lora; + watchdog0 = &wdt0; + }; +}; + +®0 { + status = "okay"; +}; + +®1 { + regulator-initial-mode = ; +}; + +&adc { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + channel@7 { + reg = <7>; + zephyr,gain = "ADC_GAIN_1_6"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <12>; + }; +}; + +&uicr { + nfct-pins-as-gpios; +}; + +&gpiote { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&uart0 { + status = "disabled"; +}; + +&i2c0 { + compatible = "nordic,nrf-twim"; + status = "okay"; + clock-frequency = ; + pinctrl-0 = <&i2c0_default>; + pinctrl-1 = <&i2c0_sleep>; + pinctrl-names = "default", "sleep"; + + #include "../../common/sensors-i2c.dtsi" +}; + +&spi2 { + compatible = "nordic,nrf-spim"; + status = "okay"; + cs-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&spi2_default>; + pinctrl-1 = <&spi2_sleep>; + pinctrl-names = "default", "sleep"; + + lora: lora@0 { + compatible = "semtech,sx1262"; + reg = <0>; + reset-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; + busy-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; + dio1-gpios = <&gpio0 3 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; + rx-enable-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; + dio2-tx-enable; + dio3-tcxo-voltage = ; + tcxo-power-startup-delay-ms = <5>; + spi-max-frequency = <8000000>; + rx-boosted; + }; +}; + +&qspi { + status = "okay"; + pinctrl-0 = <&qspi_default>; + pinctrl-1 = <&qspi_sleep>; + pinctrl-names = "default", "sleep"; + + qspi_flash: qspi_flash@0 { + compatible = "nordic,qspi-nor"; + reg = <0>; + writeoc = "pp"; + readoc = "fastread"; + sck-frequency = <16000000>; + jedec-id = [85 60 15]; + sfdp-bfp = [ + e5 20 f1 ff ff ff ff 01 44 eb 08 6b 08 3b 04 bb + ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 + 10 d8 00 ff + ]; + size = <16777216>; + has-dpd; + t-enter-dpd = <3000>; + t-exit-dpd = <50000>; + }; +}; + +zephyr_udc0: &usbd { + compatible = "nordic,nrf-usbd"; + status = "okay"; + + cdc_acm_uart: cdc_acm_uart { + compatible = "zephyr,cdc-acm-uart"; + }; +}; + +#include "../../common/nrf52_partitions_sdv7.dtsi" + +&qspi_flash { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + qspi_storage_partition: partition@0 { + label = "qspi_storage"; + reg = <0x00000000 0x00200000>; + }; + }; +}; +#include "../../common/nrf52_wakeup.dtsi" diff --git a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840_defconfig b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840_defconfig index f0f7210..1ac5d88 100644 --- a/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840_defconfig +++ b/zephcore/boards/nrf52840/xiao_nrf52840/xiao_nrf52840_nrf52840_defconfig @@ -1,10 +1,10 @@ -# Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 - -CONFIG_ARM_MPU=y -CONFIG_HW_STACK_PROTECTION=y -CONFIG_GPIO=y -CONFIG_SERIAL=y -CONFIG_CONSOLE=y -CONFIG_BUILD_OUTPUT_UF2=y -CONFIG_USE_DT_CODE_PARTITION=y +# Copyright (c) 2025 ZephCore +# SPDX-License-Identifier: MIT + +CONFIG_ARM_MPU=y +CONFIG_HW_STACK_PROTECTION=y +CONFIG_GPIO=y +CONFIG_SERIAL=y +CONFIG_CONSOLE=y +CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_USE_DT_CODE_PARTITION=y diff --git a/zephcore/boards/nrf54l/xiao_nrf54l15/board.overlay b/zephcore/boards/nrf54l/xiao_nrf54l15/board.overlay index b852181..74c770e 100644 --- a/zephcore/boards/nrf54l/xiao_nrf54l15/board.overlay +++ b/zephcore/boards/nrf54l/xiao_nrf54l15/board.overlay @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * XIAO nRF54L15 + Wio-SX1262 LoRa * * Pin mapping (XIAO nRF54L15 connector → Wio-SX1262): diff --git a/zephcore/dts/bindings/display/zephcore,mono-tft.yaml b/zephcore/dts/bindings/display/zephcore,mono-tft.yaml index 8103e98..19f9f32 100644 --- a/zephcore/dts/bindings/display/zephcore,mono-tft.yaml +++ b/zephcore/dts/bindings/display/zephcore,mono-tft.yaml @@ -1,6 +1,6 @@ # Copyright (c) 2026 ZephCore # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | Monochrome wrapper for RGB TFT displays (ST7789V, etc.) diff --git a/zephcore/dts/bindings/input/zephcore,input-multi-tap.yaml b/zephcore/dts/bindings/input/zephcore,input-multi-tap.yaml index 1957eb8..65369cb 100644 --- a/zephcore/dts/bindings/input/zephcore,input-multi-tap.yaml +++ b/zephcore/dts/bindings/input/zephcore,input-multi-tap.yaml @@ -1,5 +1,5 @@ # Copyright 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | Input multi-tap pseudo-device. diff --git a/zephcore/dts/bindings/rtc/zephcore,rtc-i2c.yaml b/zephcore/dts/bindings/rtc/zephcore,rtc-i2c.yaml index f556603..92f2e92 100644 --- a/zephcore/dts/bindings/rtc/zephcore,rtc-i2c.yaml +++ b/zephcore/dts/bindings/rtc/zephcore,rtc-i2c.yaml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # # Data-only descriptor for an I2C RTC chip read by ZephyrRTCDiscover # (adapters/clock/ZephyrRTCDiscover.c). This binds NO Zephyr RTC driver — diff --git a/zephcore/helpers/AdvertDataHelpers.cpp b/zephcore/helpers/AdvertDataHelpers.cpp index 4fb1ec8..cf80f3b 100644 --- a/zephcore/helpers/AdvertDataHelpers.cpp +++ b/zephcore/helpers/AdvertDataHelpers.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore AdvertDataHelpers implementation */ diff --git a/zephcore/helpers/AdvertDataHelpers.h b/zephcore/helpers/AdvertDataHelpers.h index 70d0867..f479604 100644 --- a/zephcore/helpers/AdvertDataHelpers.h +++ b/zephcore/helpers/AdvertDataHelpers.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore AdvertDataHelpers - encode/decode advertisement payloads */ diff --git a/zephcore/helpers/BaseChatMesh.cpp b/zephcore/helpers/BaseChatMesh.cpp index db42b51..1cb5594 100644 --- a/zephcore/helpers/BaseChatMesh.cpp +++ b/zephcore/helpers/BaseChatMesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore BaseChatMesh implementation */ diff --git a/zephcore/helpers/BaseChatMesh.h b/zephcore/helpers/BaseChatMesh.h index fa629e8..34162c7 100644 --- a/zephcore/helpers/BaseChatMesh.h +++ b/zephcore/helpers/BaseChatMesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore BaseChatMesh - base class for chat-style mesh clients */ diff --git a/zephcore/helpers/ChannelDetails.h b/zephcore/helpers/ChannelDetails.h index b2950eb..d4d84c0 100644 --- a/zephcore/helpers/ChannelDetails.h +++ b/zephcore/helpers/ChannelDetails.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ChannelDetails - group channel info */ diff --git a/zephcore/helpers/ClientACL.cpp b/zephcore/helpers/ClientACL.cpp index b00eb5c..31cb5a6 100644 --- a/zephcore/helpers/ClientACL.cpp +++ b/zephcore/helpers/ClientACL.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ClientACL - Access Control List for repeater clients */ diff --git a/zephcore/helpers/ClientACL.h b/zephcore/helpers/ClientACL.h index f7c83f1..663b078 100644 --- a/zephcore/helpers/ClientACL.h +++ b/zephcore/helpers/ClientACL.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ClientACL - Access Control List for repeater clients */ diff --git a/zephcore/helpers/CommonCLI.cpp b/zephcore/helpers/CommonCLI.cpp index 624b3ca..4d1675e 100644 --- a/zephcore/helpers/CommonCLI.cpp +++ b/zephcore/helpers/CommonCLI.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * CommonCLI - Common CLI command handlers for repeaters */ diff --git a/zephcore/helpers/CommonCLI.h b/zephcore/helpers/CommonCLI.h index c985b0e..25a834d 100644 --- a/zephcore/helpers/CommonCLI.h +++ b/zephcore/helpers/CommonCLI.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * CommonCLI - Common CLI command handlers for repeaters */ diff --git a/zephcore/helpers/ContactInfo.h b/zephcore/helpers/ContactInfo.h index 9dd4f60..dc0a655 100644 --- a/zephcore/helpers/ContactInfo.h +++ b/zephcore/helpers/ContactInfo.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ContactInfo - contact/peer info for mesh */ diff --git a/zephcore/helpers/IdentityStore.h b/zephcore/helpers/IdentityStore.h index 34b593a..8368d65 100644 --- a/zephcore/helpers/IdentityStore.h +++ b/zephcore/helpers/IdentityStore.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * IdentityStore.h - Re-exports identity/crypto constants from MeshCore */ diff --git a/zephcore/helpers/MeshcoreJson.h b/zephcore/helpers/MeshcoreJson.h index 3b8efc9..924c3d0 100644 --- a/zephcore/helpers/MeshcoreJson.h +++ b/zephcore/helpers/MeshcoreJson.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * meshcoretomqtt-compatible JSON builders. * * Shared by ObserverMesh (mesh:: namespace) and the RepeaterMesh MQTT uplink diff --git a/zephcore/helpers/NodePrefs.h b/zephcore/helpers/NodePrefs.h index 5da7c3a..6745c76 100644 --- a/zephcore/helpers/NodePrefs.h +++ b/zephcore/helpers/NodePrefs.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * NodePrefs - persisted node configuration (unified for all roles) * * Serialized field-by-field, not raw memcpy; struct layout does diff --git a/zephcore/helpers/RateLimiter.h b/zephcore/helpers/RateLimiter.h index 17e1b73..8f66386 100644 --- a/zephcore/helpers/RateLimiter.h +++ b/zephcore/helpers/RateLimiter.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RateLimiter - simple rate limiting for repeaters */ diff --git a/zephcore/helpers/RegionMap.cpp b/zephcore/helpers/RegionMap.cpp index 274c54d..c8affec 100644 --- a/zephcore/helpers/RegionMap.cpp +++ b/zephcore/helpers/RegionMap.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RegionMap - Region-based flood filtering for repeaters */ diff --git a/zephcore/helpers/RegionMap.h b/zephcore/helpers/RegionMap.h index 953fe5b..7fe7c39 100644 --- a/zephcore/helpers/RegionMap.h +++ b/zephcore/helpers/RegionMap.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * RegionMap - Region-based flood filtering for repeaters */ diff --git a/zephcore/helpers/StatsFormatHelper.h b/zephcore/helpers/StatsFormatHelper.h index 34a1a38..79c2f13 100644 --- a/zephcore/helpers/StatsFormatHelper.h +++ b/zephcore/helpers/StatsFormatHelper.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * StatsFormatHelper - Format statistics JSON for CLI/protocol */ diff --git a/zephcore/helpers/TransportKeyStore.cpp b/zephcore/helpers/TransportKeyStore.cpp index 91e3303..465ff54 100644 --- a/zephcore/helpers/TransportKeyStore.cpp +++ b/zephcore/helpers/TransportKeyStore.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * TransportKeyStore - Transport key cache for region filtering */ diff --git a/zephcore/helpers/TransportKeyStore.h b/zephcore/helpers/TransportKeyStore.h index d7c4275..437c544 100644 --- a/zephcore/helpers/TransportKeyStore.h +++ b/zephcore/helpers/TransportKeyStore.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * TransportKeyStore - Transport key cache for region filtering */ diff --git a/zephcore/helpers/TxtDataHelpers.h b/zephcore/helpers/TxtDataHelpers.h index f0d40e9..c5f31ed 100644 --- a/zephcore/helpers/TxtDataHelpers.h +++ b/zephcore/helpers/TxtDataHelpers.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore TxtDataHelpers - text message type constants and string helpers */ diff --git a/zephcore/helpers/battery_curve.c b/zephcore/helpers/battery_curve.c index f5122ca..02cb24a 100644 --- a/zephcore/helpers/battery_curve.c +++ b/zephcore/helpers/battery_curve.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "battery_curve.h" diff --git a/zephcore/helpers/battery_curve.h b/zephcore/helpers/battery_curve.h index e0d83f1..9cb717e 100644 --- a/zephcore/helpers/battery_curve.h +++ b/zephcore/helpers/battery_curve.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #pragma once diff --git a/zephcore/helpers/fatal_reboot.c b/zephcore/helpers/fatal_reboot.c index 4f11ad6..4517103 100644 --- a/zephcore/helpers/fatal_reboot.c +++ b/zephcore/helpers/fatal_reboot.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Production reboot-on-fatal-error handler. * diff --git a/zephcore/helpers/joystick_ui_hooks.h b/zephcore/helpers/joystick_ui_hooks.h index 5ecd6db..9fad55c 100644 --- a/zephcore/helpers/joystick_ui_hooks.h +++ b/zephcore/helpers/joystick_ui_hooks.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Hooks (public API) * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Mesh layer → joystick UI bridge. Real implementations live in * helpers/ui-joystick/joystick_ui_hooks.cpp when CONFIG_ZEPHCORE_UI_DESIGN_JOYSTICK=y. diff --git a/zephcore/helpers/oled_power.c b/zephcore/helpers/oled_power.c index a5b76f5..1c4456e 100644 --- a/zephcore/helpers/oled_power.c +++ b/zephcore/helpers/oled_power.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - OLED display power management * * Sends I2C display-off command to SH1106/SSD1306 OLED to save power. diff --git a/zephcore/helpers/oled_power.h b/zephcore/helpers/oled_power.h index f402e40..17c29b6 100644 --- a/zephcore/helpers/oled_power.h +++ b/zephcore/helpers/oled_power.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - OLED display power management * * Sends I2C display-off command to SH1106/SSD1306 OLED to save power. diff --git a/zephcore/helpers/time_sync.h b/zephcore/helpers/time_sync.h index 3d8e7fe..2c52f90 100644 --- a/zephcore/helpers/time_sync.h +++ b/zephcore/helpers/time_sync.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Joystick UI: track which source last set the RTC (System > Info > Time). */ diff --git a/zephcore/helpers/ui-button/time_sync.c b/zephcore/helpers/ui-button/time_sync.c index 11bef0e..499180e 100644 --- a/zephcore/helpers/ui-button/time_sync.c +++ b/zephcore/helpers/ui-button/time_sync.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Button UI: track which source last set the RTC, for the top-bar clock tag. * * The tag reflects *freshness*: an external sync (GPS / app / network) is diff --git a/zephcore/helpers/ui-button/ui_pages.c b/zephcore/helpers/ui-button/ui_pages.c index ab972e6..78c4afc 100644 --- a/zephcore/helpers/ui-button/ui_pages.c +++ b/zephcore/helpers/ui-button/ui_pages.c @@ -1,7 +1,7 @@ /* * ZephCore - UI Page Renderers * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Multi-page UI system matching Arduino's ui-new HomeScreen implementation. * Each page renders via the display abstraction (any resolution/display type). diff --git a/zephcore/helpers/ui-button/ui_pages.h b/zephcore/helpers/ui-button/ui_pages.h index df1f6de..acae116 100644 --- a/zephcore/helpers/ui-button/ui_pages.h +++ b/zephcore/helpers/ui-button/ui_pages.h @@ -1,7 +1,7 @@ /* * ZephCore - UI Page System * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Defines the multi-page UI matching Arduino's ui-new implementation. * Each page has a render function that draws to the display. diff --git a/zephcore/helpers/ui-button/ui_task.c b/zephcore/helpers/ui-button/ui_task.c index 709b73a..17a42c0 100644 --- a/zephcore/helpers/ui-button/ui_task.c +++ b/zephcore/helpers/ui-button/ui_task.c @@ -1,7 +1,7 @@ /* * ZephCore - UI Task * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Integration layer that wires buttons, buzzer, and display together. * All event-driven via Zephyr input subsystem + k_work. diff --git a/zephcore/helpers/ui-joystick/joystick_defs.h b/zephcore/helpers/ui-joystick/joystick_defs.h index ff385ec..1995056 100644 --- a/zephcore/helpers/ui-joystick/joystick_defs.h +++ b/zephcore/helpers/ui-joystick/joystick_defs.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Definitions * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Key codes and layout constants for the joystick UI. */ diff --git a/zephcore/helpers/ui-joystick/joystick_display.h b/zephcore/helpers/ui-joystick/joystick_display.h index cb9026d..66f53ed 100644 --- a/zephcore/helpers/ui-joystick/joystick_display.h +++ b/zephcore/helpers/ui-joystick/joystick_display.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick Display Adapter * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * JoystickDisplay: DisplayDriver-compatible adapter over mc_display_*. * diff --git a/zephcore/helpers/ui-joystick/joystick_screens.h b/zephcore/helpers/ui-joystick/joystick_screens.h index 5a2171d..d9b38dd 100644 --- a/zephcore/helpers/ui-joystick/joystick_screens.h +++ b/zephcore/helpers/ui-joystick/joystick_screens.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Screens * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * All screen class declarations for the joystick UI. */ diff --git a/zephcore/helpers/ui-joystick/joystick_ui_hooks.cpp b/zephcore/helpers/ui-joystick/joystick_ui_hooks.cpp index 9de4fd8..056367a 100644 --- a/zephcore/helpers/ui-joystick/joystick_ui_hooks.cpp +++ b/zephcore/helpers/ui-joystick/joystick_ui_hooks.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Hooks * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * JoystickUIHooks: ui_task.h implementation for the joystick companion UI. * diff --git a/zephcore/helpers/ui-joystick/joystick_ui_hooks.h b/zephcore/helpers/ui-joystick/joystick_ui_hooks.h index 63d52d4..020b7be 100644 --- a/zephcore/helpers/ui-joystick/joystick_ui_hooks.h +++ b/zephcore/helpers/ui-joystick/joystick_ui_hooks.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Hooks * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Deprecated include path — use (helpers/). */ diff --git a/zephcore/helpers/ui-joystick/joystick_ui_task.cpp b/zephcore/helpers/ui-joystick/joystick_ui_task.cpp index eda403c..58334e6 100644 --- a/zephcore/helpers/ui-joystick/joystick_ui_task.cpp +++ b/zephcore/helpers/ui-joystick/joystick_ui_task.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Task * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Runs in the mesh event loop thread (main_companion.cpp). * Input events are queued from the Zephyr input subsystem callback. diff --git a/zephcore/helpers/ui-joystick/joystick_ui_task.h b/zephcore/helpers/ui-joystick/joystick_ui_task.h index 4a0f33f..5ea8127 100644 --- a/zephcore/helpers/ui-joystick/joystick_ui_task.h +++ b/zephcore/helpers/ui-joystick/joystick_ui_task.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Task * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * JoystickUITask: joystick-based UI coordinator for the ZephCore companion. * diff --git a/zephcore/helpers/ui-joystick/screens/contacts.cpp b/zephcore/helpers/ui-joystick/screens/contacts.cpp index cd17c12..cbfcefb 100644 --- a/zephcore/helpers/ui-joystick/screens/contacts.cpp +++ b/zephcore/helpers/ui-joystick/screens/contacts.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Contacts Screen * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/screens/home.cpp b/zephcore/helpers/ui-joystick/screens/home.cpp index 3905565..1fc966b 100644 --- a/zephcore/helpers/ui-joystick/screens/home.cpp +++ b/zephcore/helpers/ui-joystick/screens/home.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Home Screen * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/screens/input.cpp b/zephcore/helpers/ui-joystick/screens/input.cpp index 2557320..ae51ab2 100644 --- a/zephcore/helpers/ui-joystick/screens/input.cpp +++ b/zephcore/helpers/ui-joystick/screens/input.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Input Screen * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/screens/messaging.cpp b/zephcore/helpers/ui-joystick/screens/messaging.cpp index 49b4fc4..6ccdf1a 100644 --- a/zephcore/helpers/ui-joystick/screens/messaging.cpp +++ b/zephcore/helpers/ui-joystick/screens/messaging.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Messaging Screens * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/screens/screen_helpers.h b/zephcore/helpers/ui-joystick/screens/screen_helpers.h index a4325bc..b093651 100644 --- a/zephcore/helpers/ui-joystick/screens/screen_helpers.h +++ b/zephcore/helpers/ui-joystick/screens/screen_helpers.h @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Screen Helpers * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Static helper functions shared by all joystick UI screens. * Include this file once per .cpp file that needs it. diff --git a/zephcore/helpers/ui-joystick/screens/system.cpp b/zephcore/helpers/ui-joystick/screens/system.cpp index 9e2c19d..bb419ae 100644 --- a/zephcore/helpers/ui-joystick/screens/system.cpp +++ b/zephcore/helpers/ui-joystick/screens/system.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI System Screen * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/screens/tools.cpp b/zephcore/helpers/ui-joystick/screens/tools.cpp index dd34a83..bd82917 100644 --- a/zephcore/helpers/ui-joystick/screens/tools.cpp +++ b/zephcore/helpers/ui-joystick/screens/tools.cpp @@ -1,7 +1,7 @@ /* * ZephCore - Joystick UI Tools Screen * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include "../joystick_screens.h" diff --git a/zephcore/helpers/ui-joystick/time_sync.c b/zephcore/helpers/ui-joystick/time_sync.c index e324d17..7873d69 100644 --- a/zephcore/helpers/ui-joystick/time_sync.c +++ b/zephcore/helpers/ui-joystick/time_sync.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include diff --git a/zephcore/helpers/ui/buzzer.c b/zephcore/helpers/ui/buzzer.c index 98c314c..38dfd5d 100644 --- a/zephcore/helpers/ui/buzzer.c +++ b/zephcore/helpers/ui/buzzer.c @@ -1,7 +1,7 @@ /* * ZephCore - PWM Buzzer with RTTTL Melody Playback * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Non-blocking RTTTL parser using Zephyr PWM API. * Each note is scheduled via k_work_delayable on a dedicated work queue diff --git a/zephcore/helpers/ui/buzzer.h b/zephcore/helpers/ui/buzzer.h index 0fdcfe5..fb9b6ec 100644 --- a/zephcore/helpers/ui/buzzer.h +++ b/zephcore/helpers/ui/buzzer.h @@ -1,7 +1,7 @@ /* * ZephCore - PWM Buzzer with RTTTL Melody Playback * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Non-blocking RTTTL melody playback using Zephyr PWM API. * Notes scheduled via k_work_delayable on a dedicated work queue. diff --git a/zephcore/helpers/ui/cfb_font_0608.c b/zephcore/helpers/ui/cfb_font_0608.c index 27604b5..2033c6b 100644 --- a/zephcore/helpers/ui/cfb_font_0608.c +++ b/zephcore/helpers/ui/cfb_font_0608.c @@ -4,7 +4,7 @@ * Each glyph is 6 bytes wide x 8 bits tall. * Covers code points 32-255 (ASCII + Latin-1 Supplement). * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include diff --git a/zephcore/helpers/ui/display.c b/zephcore/helpers/ui/display.c index 7ca721d..0709604 100644 --- a/zephcore/helpers/ui/display.c +++ b/zephcore/helpers/ui/display.c @@ -1,7 +1,7 @@ /* * ZephCore - Display Abstraction (CFB) * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Wraps Zephyr's Character Framebuffer (CFB) subsystem. * Auto-detects any Zephyr-supported display from devicetree: diff --git a/zephcore/helpers/ui/display.h b/zephcore/helpers/ui/display.h index b0506f7..b623a29 100644 --- a/zephcore/helpers/ui/display.h +++ b/zephcore/helpers/ui/display.h @@ -1,7 +1,7 @@ /* * ZephCore - Display Abstraction (CFB) * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Wraps Zephyr's Character Framebuffer (CFB) subsystem with: * - Auto-detection from devicetree (any Zephyr-supported display) diff --git a/zephcore/helpers/ui/display_mono_tft.c b/zephcore/helpers/ui/display_mono_tft.c index c700489..82f75d7 100644 --- a/zephcore/helpers/ui/display_mono_tft.c +++ b/zephcore/helpers/ui/display_mono_tft.c @@ -2,7 +2,7 @@ * ZephCore - Monochrome wrapper for RGB TFT displays * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Reports PIXEL_FORMAT_MONO01 to CFB so the framebuffer is ~4 KB * (240×135/8 = 4050 bytes) instead of the ~64 KB RGB565 buffer that diff --git a/zephcore/helpers/ui/doom_game.c b/zephcore/helpers/ui/doom_game.c index 9298c7a..72abf01 100644 --- a/zephcore/helpers/ui/doom_game.c +++ b/zephcore/helpers/ui/doom_game.c @@ -1,7 +1,7 @@ /* * ZephCore - Doom Raycaster Easter Egg * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Wolf3D-style raycasting engine merged into a single file. * Runs on k_work_delayable at 20 FPS on the system work queue. diff --git a/zephcore/helpers/ui/doom_game.h b/zephcore/helpers/ui/doom_game.h index 68f983c..71d0304 100644 --- a/zephcore/helpers/ui/doom_game.h +++ b/zephcore/helpers/ui/doom_game.h @@ -1,7 +1,7 @@ /* * ZephCore - Doom Raycaster Easter Egg * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Hidden easter egg: Wolf3D-style raycaster on the OLED display. * Activated by double-click + single-click joystick center on page 0. diff --git a/zephcore/helpers/ui/input_multi_tap.c b/zephcore/helpers/ui/input_multi_tap.c index f463ed1..0c2128c 100644 --- a/zephcore/helpers/ui/input_multi_tap.c +++ b/zephcore/helpers/ui/input_multi_tap.c @@ -1,6 +1,6 @@ /* * Copyright 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Multi-tap input filter. * diff --git a/zephcore/helpers/ui/ui_common.c b/zephcore/helpers/ui/ui_common.c index 170e2a9..23fc1d8 100644 --- a/zephcore/helpers/ui/ui_common.c +++ b/zephcore/helpers/ui/ui_common.c @@ -1,7 +1,7 @@ /* * ZephCore - UI Common * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Shared ui_task.h implementations that are identical across all UI variants. * Compiled for every build that includes any UI (button, joystick, or future). diff --git a/zephcore/helpers/ui/ui_headless_stubs.c b/zephcore/helpers/ui/ui_headless_stubs.c index dbbd491..45450fc 100644 --- a/zephcore/helpers/ui/ui_headless_stubs.c +++ b/zephcore/helpers/ui/ui_headless_stubs.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * No-op stubs for the UI API on headless builds. * * Companion code (CompanionMesh, main_companion, ui_mesh_actions) calls diff --git a/zephcore/helpers/ui/ui_mesh_actions.cpp b/zephcore/helpers/ui/ui_mesh_actions.cpp index 9b34f81..d6bc326 100644 --- a/zephcore/helpers/ui/ui_mesh_actions.cpp +++ b/zephcore/helpers/ui/ui_mesh_actions.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore UI ↔ Mesh Action Helpers * * Deferred UI button actions and periodic housekeeping display refresh. diff --git a/zephcore/helpers/ui/ui_mesh_actions.h b/zephcore/helpers/ui/ui_mesh_actions.h index c8fb508..7f09cc4 100644 --- a/zephcore/helpers/ui/ui_mesh_actions.h +++ b/zephcore/helpers/ui/ui_mesh_actions.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore UI ↔ Mesh Action Helpers * * Deferred UI button actions and periodic housekeeping display refresh. diff --git a/zephcore/helpers/ui/ui_mesh_actions_stubs.c b/zephcore/helpers/ui/ui_mesh_actions_stubs.c index 8b4fb9e..b5832ee 100644 --- a/zephcore/helpers/ui/ui_mesh_actions_stubs.c +++ b/zephcore/helpers/ui/ui_mesh_actions_stubs.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Weak stubs for companion-only UI mesh actions. * * Repeater builds with a display compile ui_task.c which references these diff --git a/zephcore/helpers/ui/ui_task.h b/zephcore/helpers/ui/ui_task.h index 8839df4..5f2c56a 100644 --- a/zephcore/helpers/ui/ui_task.h +++ b/zephcore/helpers/ui/ui_task.h @@ -1,7 +1,7 @@ /* * ZephCore - UI Task * Copyright (c) 2025 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Wires together buttons, buzzer, and display. * Handles input events, page navigation, and notifications from mesh. diff --git a/zephcore/include/mesh/Board.h b/zephcore/include/mesh/Board.h index 435fe56..7b20e73 100644 --- a/zephcore/include/mesh/Board.h +++ b/zephcore/include/mesh/Board.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore MainBoard interface */ diff --git a/zephcore/include/mesh/Clock.h b/zephcore/include/mesh/Clock.h index 7cde515..7a1b915 100644 --- a/zephcore/include/mesh/Clock.h +++ b/zephcore/include/mesh/Clock.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore clock interfaces */ diff --git a/zephcore/include/mesh/ContentionTracker.h b/zephcore/include/mesh/ContentionTracker.h index dde720c..007e1e8 100644 --- a/zephcore/include/mesh/ContentionTracker.h +++ b/zephcore/include/mesh/ContentionTracker.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Adaptive Contention Window — EMA-based flood retransmit delay * * Counts neighbor retransmit dupes within a 10s window per packet. diff --git a/zephcore/include/mesh/Dispatcher.h b/zephcore/include/mesh/Dispatcher.h index f39fc86..335057d 100644 --- a/zephcore/include/mesh/Dispatcher.h +++ b/zephcore/include/mesh/Dispatcher.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Dispatcher - packet queue and radio scheduling */ diff --git a/zephcore/include/mesh/Identity.h b/zephcore/include/mesh/Identity.h index 0270260..a67d0e4 100644 --- a/zephcore/include/mesh/Identity.h +++ b/zephcore/include/mesh/Identity.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Identity - Ed25519 key pairs */ diff --git a/zephcore/include/mesh/LoRaConfig.h b/zephcore/include/mesh/LoRaConfig.h index 3da0bfe..e50fb43 100644 --- a/zephcore/include/mesh/LoRaConfig.h +++ b/zephcore/include/mesh/LoRaConfig.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore LoRa default parameters */ diff --git a/zephcore/include/mesh/Mesh.h b/zephcore/include/mesh/Mesh.h index d53fcad..9e00f5e 100644 --- a/zephcore/include/mesh/Mesh.h +++ b/zephcore/include/mesh/Mesh.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Mesh - routing protocol layer */ diff --git a/zephcore/include/mesh/MeshCore.h b/zephcore/include/mesh/MeshCore.h index 42faab3..71b9da1 100644 --- a/zephcore/include/mesh/MeshCore.h +++ b/zephcore/include/mesh/MeshCore.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore constants and base types */ diff --git a/zephcore/include/mesh/Packet.h b/zephcore/include/mesh/Packet.h index f6f0e31..730119e 100644 --- a/zephcore/include/mesh/Packet.h +++ b/zephcore/include/mesh/Packet.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Packet - fundamental transmission unit */ diff --git a/zephcore/include/mesh/PowerController.h b/zephcore/include/mesh/PowerController.h index 5253196..6853273 100644 --- a/zephcore/include/mesh/PowerController.h +++ b/zephcore/include/mesh/PowerController.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Adaptive Power Control (APC) — echo-based TX power reduction * * Measures link margin by tracking echo packets (flood dupes of diff --git a/zephcore/include/mesh/RNG.h b/zephcore/include/mesh/RNG.h index b8acd80..27f9d38 100644 --- a/zephcore/include/mesh/RNG.h +++ b/zephcore/include/mesh/RNG.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore RNG interface - matches Utils.h */ diff --git a/zephcore/include/mesh/RTC.h b/zephcore/include/mesh/RTC.h index 76c9992..88799d1 100644 --- a/zephcore/include/mesh/RTC.h +++ b/zephcore/include/mesh/RTC.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore RTC interface - matches MeshCore.h */ diff --git a/zephcore/include/mesh/Radio.h b/zephcore/include/mesh/Radio.h index 9ec6a24..53cbac7 100644 --- a/zephcore/include/mesh/Radio.h +++ b/zephcore/include/mesh/Radio.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Radio interface - matches Dispatcher.h */ diff --git a/zephcore/include/mesh/RadioIncludes.h b/zephcore/include/mesh/RadioIncludes.h index 041f719..345e403 100644 --- a/zephcore/include/mesh/RadioIncludes.h +++ b/zephcore/include/mesh/RadioIncludes.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - Common radio includes for LoRa mesh roles * * Shared by companion, repeater, and any future role that uses the diff --git a/zephcore/include/mesh/SimpleMeshTables.h b/zephcore/include/mesh/SimpleMeshTables.h index e31b773..a6e7536 100644 --- a/zephcore/include/mesh/SimpleMeshTables.h +++ b/zephcore/include/mesh/SimpleMeshTables.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * SimpleMeshTables - hash-based packet deduplication */ diff --git a/zephcore/include/mesh/StaticPoolPacketManager.h b/zephcore/include/mesh/StaticPoolPacketManager.h index 00ef4a3..a330316 100644 --- a/zephcore/include/mesh/StaticPoolPacketManager.h +++ b/zephcore/include/mesh/StaticPoolPacketManager.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Static pool PacketManager */ diff --git a/zephcore/include/mesh/Utils.h b/zephcore/include/mesh/Utils.h index bd37fa3..2a380fc 100644 --- a/zephcore/include/mesh/Utils.h +++ b/zephcore/include/mesh/Utils.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Utils - crypto and helpers (Zephyr port) */ diff --git a/zephcore/lib/monocypher/CMakeLists.txt b/zephcore/lib/monocypher/CMakeLists.txt index a55bd01..68165fe 100644 --- a/zephcore/lib/monocypher/CMakeLists.txt +++ b/zephcore/lib/monocypher/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # Vendored Monocypher 4.0.2 (https://monocypher.org) — license CC0-1.0 OR # BSD-2-Clause. Provides RFC 8032 Ed25519 (SHA-512) + X25519. Replaces the # previous orlp/ed25519 vendored library; the Identity layer drives sign/keygen diff --git a/zephcore/patches/zephyr-new/drivers/entropy/fake_entropy_native_sim.c b/zephcore/patches/zephyr-new/drivers/entropy/fake_entropy_native_sim.c index 64408ff..509744a 100644 --- a/zephcore/patches/zephyr-new/drivers/entropy/fake_entropy_native_sim.c +++ b/zephcore/patches/zephyr-new/drivers/entropy/fake_entropy_native_sim.c @@ -2,7 +2,7 @@ * Copyright (c) 2018 Oticon A/S * Copyright (c) 2026 ZephCore * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * ZephCore replacement for Zephyr's fake_entropy_native_sim.c. * diff --git a/zephcore/patches/zephyr-new/drivers/gpio/Kconfig.native_linux b/zephcore/patches/zephyr-new/drivers/gpio/Kconfig.native_linux index af0bffd..54f8ded 100644 --- a/zephcore/patches/zephyr-new/drivers/gpio/Kconfig.native_linux +++ b/zephcore/patches/zephyr-new/drivers/gpio/Kconfig.native_linux @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config GPIO_NATIVE_LINUX bool "ZephCore native Linux GPIO driver (kernel V2 chardev)" diff --git a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux.c b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux.c index 415489e..1d9f1c3 100644 --- a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux.c +++ b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Zephyr GPIO controller that bridges to a Linux /dev/gpiochipX device * via the kernel's GPIO V2 character-device uAPI (direct ioctls, no diff --git a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.c b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.c index 39a82cd..a6f0b25 100644 --- a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.c +++ b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Host-side Linux GPIO chardev V2 wrapper for gpio_native_linux. * diff --git a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.h b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.h index 0bcfacc..b137926 100644 --- a/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.h +++ b/zephcore/patches/zephyr-new/drivers/gpio/gpio_native_linux_adapt.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Host-side libgpiod v2 wrapper for gpio_native_linux. * Compiled into the native_simulator INTERFACE so libgpiod headers diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/CMakeLists.txt b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/CMakeLists.txt index 46cf43b..3485df0 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/CMakeLists.txt +++ b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT zephyr_library() diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/Kconfig b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/Kconfig index cd1c727..39870be 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/Kconfig +++ b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/Kconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 MeshCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config LORA_LR11XX bool "Semtech LR11xx LoRa transceiver driver" diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.c b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.c index ce8a6a5..9f9f316 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.c +++ b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR11xx Zephyr LoRa driver * * Implements the standard Zephyr lora_driver_api using the Semtech lr11xx_driver diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.h b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.h index 945b68d..3bd06cc 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.h +++ b/zephcore/patches/zephyr-new/drivers/lora/lr11xx/lr11xx_lora.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR11xx Zephyr LoRa driver — extension API * * Functions extending the standard Zephyr lora_driver_api with diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/CMakeLists.txt b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/CMakeLists.txt index d59a678..d47fa07 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/CMakeLists.txt +++ b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT zephyr_library() zephyr_library_compile_definitions(LR20XX_DISABLE_WARNINGS) diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/Kconfig b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/Kconfig index 12d139d..903ce45 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/Kconfig +++ b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/Kconfig @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config LORA_LR20XX bool "Semtech LR20xx LoRa transceiver driver" diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.c b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.c index 31a21ea..4bdccf9 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.c +++ b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR20xx Zephyr LoRa driver * * Implements the standard Zephyr lora_driver_api using the Semtech lr20xx_driver diff --git a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.h b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.h index 92cd72d..5b592ae 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.h +++ b/zephcore/patches/zephyr-new/drivers/lora/lr20xx/lr20xx_lora.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * LR20xx Zephyr LoRa driver — extension API * * Functions extending the standard Zephyr lora_driver_api with diff --git a/zephcore/patches/zephyr-new/drivers/lora/native/sx126x/sx126x_ext.h b/zephcore/patches/zephyr-new/drivers/lora/native/sx126x/sx126x_ext.h index cc8c52b..63cec97 100644 --- a/zephcore/patches/zephyr-new/drivers/lora/native/sx126x/sx126x_ext.h +++ b/zephcore/patches/zephyr-new/drivers/lora/native/sx126x/sx126x_ext.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * SX126x native driver — extension API * * Functions extending the standard Zephyr lora_driver_api with diff --git a/zephcore/patches/zephyr-new/drivers/spi/Kconfig.native_linux b/zephcore/patches/zephyr-new/drivers/spi/Kconfig.native_linux index e389880..cda9c32 100644 --- a/zephcore/patches/zephyr-new/drivers/spi/Kconfig.native_linux +++ b/zephcore/patches/zephyr-new/drivers/spi/Kconfig.native_linux @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT config SPI_NATIVE_LINUX bool "ZephCore native Linux SPI driver (spidev)" diff --git a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux.c b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux.c index 706fc19..7cc723f 100644 --- a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux.c +++ b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Zephyr SPI driver that bridges to a Linux /dev/spidev character device. * Runs under native_sim on a real Linux host (not in QEMU/simulation). diff --git a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.c b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.c index fc6fb16..f21dec2 100644 --- a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.c +++ b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Host-side spidev wrapper functions for spi_native_linux. * diff --git a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.h b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.h index 175a2c1..764b59c 100644 --- a/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.h +++ b/zephcore/patches/zephyr-new/drivers/spi/spi_native_linux_adapt.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2026 ZephCore - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Host-side spidev wrapper functions for spi_native_linux. * Compiled into the native_simulator INTERFACE so host headers diff --git a/zephcore/patches/zephyr-new/dts/bindings/gpio/zephcore,gpio-native-linux.yaml b/zephcore/patches/zephyr-new/dts/bindings/gpio/zephcore,gpio-native-linux.yaml index 7f5eb38..73e6c4a 100644 --- a/zephcore/patches/zephyr-new/dts/bindings/gpio/zephcore,gpio-native-linux.yaml +++ b/zephcore/patches/zephyr-new/dts/bindings/gpio/zephcore,gpio-native-linux.yaml @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | ZephCore GPIO controller using Linux libgpiod v2. diff --git a/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr1110.yaml b/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr1110.yaml index 15afbaf..736796d 100644 --- a/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr1110.yaml +++ b/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr1110.yaml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | Semtech LR1110/LR1120/LR1121 LoRa transceiver. diff --git a/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr2021.yaml b/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr2021.yaml index 393229a..c5ee42b 100644 --- a/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr2021.yaml +++ b/zephcore/patches/zephyr-new/dts/bindings/lora/semtech,lr2021.yaml @@ -1,5 +1,5 @@ # Copyright (c) 2025 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | Semtech LR2021 LoRa Plus transceiver (4th-gen LoRa IP). diff --git a/zephcore/patches/zephyr-new/dts/bindings/spi/zephcore,spi-native-linux.yaml b/zephcore/patches/zephyr-new/dts/bindings/spi/zephcore,spi-native-linux.yaml index 2de840b..11e00c5 100644 --- a/zephcore/patches/zephyr-new/dts/bindings/spi/zephcore,spi-native-linux.yaml +++ b/zephcore/patches/zephyr-new/dts/bindings/spi/zephcore,spi-native-linux.yaml @@ -1,5 +1,5 @@ # Copyright (c) 2026 ZephCore -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT description: | ZephCore SPI driver using Linux spidev. diff --git a/zephcore/src/ContentionTracker.cpp b/zephcore/src/ContentionTracker.cpp index 9f96562..b819630 100644 --- a/zephcore/src/ContentionTracker.cpp +++ b/zephcore/src/ContentionTracker.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Adaptive Contention Window — dupe-counting based delay estimation */ diff --git a/zephcore/src/Dispatcher.cpp b/zephcore/src/Dispatcher.cpp index af63e35..0e4994e 100644 --- a/zephcore/src/Dispatcher.cpp +++ b/zephcore/src/Dispatcher.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Dispatcher implementation */ diff --git a/zephcore/src/Identity.cpp b/zephcore/src/Identity.cpp index ac371a9..b16ef60 100644 --- a/zephcore/src/Identity.cpp +++ b/zephcore/src/Identity.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Identity - Ed25519 sign/verify (Monocypher backend) * * Backed by Monocypher (lib/monocypher). The persisted private key keeps the diff --git a/zephcore/src/Mesh.cpp b/zephcore/src/Mesh.cpp index de3e610..712b93d 100644 --- a/zephcore/src/Mesh.cpp +++ b/zephcore/src/Mesh.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Mesh - minimal port for Phase 5 */ diff --git a/zephcore/src/Packet.cpp b/zephcore/src/Packet.cpp index 8e75eae..6e8fbb3 100644 --- a/zephcore/src/Packet.cpp +++ b/zephcore/src/Packet.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Packet implementation */ diff --git a/zephcore/src/PowerController.cpp b/zephcore/src/PowerController.cpp index a3bdbdb..a3c3154 100644 --- a/zephcore/src/PowerController.cpp +++ b/zephcore/src/PowerController.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Adaptive Power Control — echo-based TX power reduction */ diff --git a/zephcore/src/StaticPoolPacketManager.cpp b/zephcore/src/StaticPoolPacketManager.cpp index 638041f..4bb8cf0 100644 --- a/zephcore/src/StaticPoolPacketManager.cpp +++ b/zephcore/src/StaticPoolPacketManager.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Static pool PacketManager - no dynamic allocation */ diff --git a/zephcore/src/Utils.cpp b/zephcore/src/Utils.cpp index a85144b..b3eed3f 100644 --- a/zephcore/src/Utils.cpp +++ b/zephcore/src/Utils.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore Utils - PSA Crypto backend for AES-ECB, SHA256, HMAC */ diff --git a/zephcore/src/main_companion.cpp b/zephcore/src/main_companion.cpp index d677c54..b8e25ec 100644 --- a/zephcore/src/main_companion.cpp +++ b/zephcore/src/main_companion.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - CompanionMesh (Event-Driven) * * BLE stack is in adapters/ble/ZephyrBLE.cpp. diff --git a/zephcore/src/main_repeater.cpp b/zephcore/src/main_repeater.cpp index f58b4fd..233db9c 100644 --- a/zephcore/src/main_repeater.cpp +++ b/zephcore/src/main_repeater.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - Repeater (USB CLI, Event-Driven) * * This is the main entry point for the repeater role. diff --git a/zephcore/src/main_room_server.cpp b/zephcore/src/main_room_server.cpp index 93b90c7..17d9cb1 100644 --- a/zephcore/src/main_room_server.cpp +++ b/zephcore/src/main_room_server.cpp @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * ZephCore - Room Server (USB CLI, Event-Driven) * * This is the main entry point for the room server (shared BBS) role. diff --git a/zephcore/tools/formatter/CMakeLists.txt b/zephcore/tools/formatter/CMakeLists.txt index 05ca72f..842ba9a 100644 --- a/zephcore/tools/formatter/CMakeLists.txt +++ b/zephcore/tools/formatter/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # ZephCore Flash Formatter — erases all filesystem partitions, reboots to UF2 DFU. # # Build: west build -b rak4631/nrf52840 zephcore/tools/formatter --pristine diff --git a/zephcore/tools/formatter/src/main.c b/zephcore/tools/formatter/src/main.c index 1cff1d7..57112dc 100644 --- a/zephcore/tools/formatter/src/main.c +++ b/zephcore/tools/formatter/src/main.c @@ -22,7 +22,7 @@ * * Flash: drag-drop build/zephyr/zephyr.uf2 onto UF2 drive * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT */ #include diff --git a/zephcore/tools/formatter/src/qspi_probe.c b/zephcore/tools/formatter/src/qspi_probe.c index 3d6602d..8afc140 100644 --- a/zephcore/tools/formatter/src/qspi_probe.c +++ b/zephcore/tools/formatter/src/qspi_probe.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Universal QSPI flash probe and erase — bare-metal nRF52840 register access * * Bypasses the Zephyr QSPI driver entirely. Directly configures the nRF52840 diff --git a/zephcore/tools/formatter/src/qspi_probe.h b/zephcore/tools/formatter/src/qspi_probe.h index 81ebb05..e98a41d 100644 --- a/zephcore/tools/formatter/src/qspi_probe.h +++ b/zephcore/tools/formatter/src/qspi_probe.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Universal QSPI flash probe and erase — bare-metal nRF52840 QSPI register access * * Probes all known pin configurations to detect external QSPI flash, diff --git a/zephcore/tools/lr1110_updater/CMakeLists.txt b/zephcore/tools/lr1110_updater/CMakeLists.txt index 9075270..719fa4d 100644 --- a/zephcore/tools/lr1110_updater/CMakeLists.txt +++ b/zephcore/tools/lr1110_updater/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT # ZephCore LR1110 Firmware Updater — updates LR1110 radio firmware to 0x0401. # # Board-specific: only builds for boards with an LR1110 radio (e.g., t1000_e). diff --git a/zephcore/tools/lr1110_updater/boards/t1000_e/board.overlay b/zephcore/tools/lr1110_updater/boards/t1000_e/board.overlay index ceb5a51..a6f244e 100644 --- a/zephcore/tools/lr1110_updater/boards/t1000_e/board.overlay +++ b/zephcore/tools/lr1110_updater/boards/t1000_e/board.overlay @@ -1,6 +1,6 @@ /* * T1000-E LR1110 Updater overlay - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Minimal overlay — only SPI1 (LR1110 radio) and USB console. * Disables GPS UART, I2C sensors, and other peripherals not needed for update. diff --git a/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.c b/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.c index 92f71f9..89b32b7 100644 --- a/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.c +++ b/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Minimal LR11xx HAL for firmware updater. * * Implements the Semtech lr11xx_hal_* interface used by lr1110_bootloader.c. diff --git a/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.h b/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.h index 4c2e505..ba5e22d 100644 --- a/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.h +++ b/zephcore/tools/lr1110_updater/src/lr11xx_hal_updater.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * Minimal LR11xx HAL for firmware updater — no IRQ, no DIO1, just SPI+GPIO. * * Provides the lr11xx_hal_write/read/direct_read/reset interface that the diff --git a/zephcore/tools/lr1110_updater/src/main.c b/zephcore/tools/lr1110_updater/src/main.c index 66ca3fe..1bcb80e 100644 --- a/zephcore/tools/lr1110_updater/src/main.c +++ b/zephcore/tools/lr1110_updater/src/main.c @@ -1,6 +1,6 @@ /* * ZephCore LR1110 Firmware Updater - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: MIT * * Standalone tool that updates the LR1110 radio firmware to v0x0401. * Flash this UF2 first, let it update the radio, then flash ZephCore main firmware.