diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.board b/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.board deleted file mode 100644 index b364fad83fd..00000000000 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.board +++ /dev/null @@ -1,12 +0,0 @@ -# HELTEC ESP32 board configuration - -# Copyright (c) 2021 Instituto de Pesquisas Eldorado (eldorado.org.br) -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_HELTEC_WIFI_LORA32 - bool "HELTEC WiFi LoRa 32 (V2) Board" - depends on SOC_SERIES_ESP32 - -choice SOC_PART_NUMBER - default SOC_ESP32_D0WD_V3 -endchoice diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/CMakeLists.txt b/boards/heltec/heltec_wifi_lora32_v2/CMakeLists.txt similarity index 100% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/CMakeLists.txt rename to boards/heltec/heltec_wifi_lora32_v2/CMakeLists.txt diff --git a/boards/heltec/heltec_wifi_lora32_v2/Kconfig b/boards/heltec/heltec_wifi_lora32_v2/Kconfig new file mode 100644 index 00000000000..bfffbcb9563 --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/Kconfig @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_HELTEC_WIFI_LORA32_V2 + select SOC_ESP32_PROCPU if BOARD_HELTEC_WIFI_LORA32_V2_ESP32_PROCPU + select SOC_ESP32_APPCPU if BOARD_HELTEC_WIFI_LORA32_V2_ESP32_APPCPU diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.defconfig b/boards/heltec/heltec_wifi_lora32_v2/Kconfig.defconfig similarity index 58% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.defconfig rename to boards/heltec/heltec_wifi_lora32_v2/Kconfig.defconfig index eaf538cd281..4f459aa0ca4 100644 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.defconfig +++ b/boards/heltec/heltec_wifi_lora32_v2/Kconfig.defconfig @@ -3,12 +3,7 @@ # Copyright (c) 2021 Instituto de Pesquisas Eldorado (eldorado.org.br) # SPDX-License-Identifier: Apache-2.0 -config BOARD - default "heltec_wifi_lora32" - depends on BOARD_HELTEC_WIFI_LORA32 - -config ENTROPY_GENERATOR - default y +if BOARD_HELTEC_WIFI_LORA32_V2_ESP32_PROCPU config HEAP_MEM_POOL_ADD_SIZE_BOARD int @@ -20,3 +15,12 @@ config HEAP_MEM_POOL_ADD_SIZE_BOARD choice BT_HCI_BUS_TYPE default BT_ESP32 if BT endchoice + +endif # BOARD_HELTEC_WIFI_LORA32_V2_ESP32_PROCPU + +if BOARD_HELTEC_WIFI_LORA32_V2_ESP32_APPCPU + +config HEAP_MEM_POOL_ADD_SIZE_BOARD + default 256 + +endif # BOARD_HELTEC_WIFI_LORA_V2_ESP32_APPCPU diff --git a/boards/heltec/heltec_wifi_lora32_v2/Kconfig.heltec_wifi_lora32_v2 b/boards/heltec/heltec_wifi_lora32_v2/Kconfig.heltec_wifi_lora32_v2 new file mode 100644 index 00000000000..0e5d5c62da6 --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/Kconfig.heltec_wifi_lora32_v2 @@ -0,0 +1,7 @@ +# HELTEC ESP32 board configuration + +# Copyright (c) 2021 Instituto de Pesquisas Eldorado (eldorado.org.br) +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_HELTEC_WIFI_LORA32_V2 + select SOC_ESP32_D0WD_V3 diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.sysbuild b/boards/heltec/heltec_wifi_lora32_v2/Kconfig.sysbuild similarity index 100% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/Kconfig.sysbuild rename to boards/heltec/heltec_wifi_lora32_v2/Kconfig.sysbuild diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/board.cmake b/boards/heltec/heltec_wifi_lora32_v2/board.cmake similarity index 100% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/board.cmake rename to boards/heltec/heltec_wifi_lora32_v2/board.cmake diff --git a/boards/heltec/heltec_wifi_lora32_v2/board.yml b/boards/heltec/heltec_wifi_lora32_v2/board.yml new file mode 100644 index 00000000000..e87344a9766 --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/board.yml @@ -0,0 +1,5 @@ +board: + name: heltec_wifi_lora32_v2 + vendor: heltec + socs: + - name: esp32 diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/board_init.c b/boards/heltec/heltec_wifi_lora32_v2/board_init.c similarity index 100% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/board_init.c rename to boards/heltec/heltec_wifi_lora32_v2/board_init.c diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/doc/index.rst b/boards/heltec/heltec_wifi_lora32_v2/doc/index.rst similarity index 95% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/doc/index.rst rename to boards/heltec/heltec_wifi_lora32_v2/doc/index.rst index 1029b21dd60..07355a6d70b 100644 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/doc/index.rst +++ b/boards/heltec/heltec_wifi_lora32_v2/doc/index.rst @@ -94,9 +94,9 @@ Zephyr build. Output is structured by the domain subdirectories: build/ ├── hello_world - │   └── zephyr - │   ├── zephyr.elf - │   └── zephyr.bin + │ └── zephyr + │ ├── zephyr.elf + │ └── zephyr.bin ├── mcuboot │ └── zephyr │ ├── zephyr.elf @@ -128,7 +128,7 @@ Build and flash applications as usual (see :ref:`build_an_application` and .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: heltec_wifi_lora32_v2 + :board: heltec_wifi_lora32_v2/esp32/procpu :goals: build The usual ``flash`` target will work with the ``heltec_wifi_lora32_v2`` board @@ -137,7 +137,7 @@ application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: heltec_wifi_lora32_v2 + :board: heltec_wifi_lora32_v2/esp32/procpu :goals: flash Open the serial monitor using the following command: @@ -169,7 +169,7 @@ Here is an example for building the :ref:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: heltec_wifi_lora32_v2 + :board: heltec_wifi_lora32_v2/esp32/procpu :goals: build flash :gen-args: -DOPENOCD= -DOPENOCD_DEFAULT_PATH= @@ -177,7 +177,7 @@ You can debug an application in the usual way. Here is an example for the :ref:` .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: heltec_wifi_lora32_v2 + :board: heltec_wifi_lora32_v2/esp32/procpu :goals: debug Utilizing Hardware Features @@ -192,7 +192,7 @@ connected via I2C. It can therefore be used by enabling the .. zephyr-app-commands:: :zephyr-app: samples/subsys/display/lvgl - :board: heltec_wifi_lora32_v2 + :board: heltec_wifi_lora32_v2/esp32/procpu :shield: ssd1306_128x64 :goals: flash diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2-pinctrl.dtsi b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2-pinctrl.dtsi similarity index 100% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2-pinctrl.dtsi rename to boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2-pinctrl.dtsi diff --git a/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.dts b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.dts new file mode 100644 index 00000000000..4cf9e26b89d --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.dts @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ +/dts-v1/; + +#include + +/ { + model = "Heltec Wi-Fi Lora32 V2 APPCPU"; + compatible = "espressif,esp32"; + + chosen { + zephyr,sram = &sram0; + zephyr,ipc_shm = &shm0; + zephyr,ipc = &ipm0; + }; +}; + +&cpu0 { + clock-frequency = ; +}; + +&cpu1 { + clock-frequency = ; +}; + +&ipm0 { + status = "okay"; +}; + +&trng0 { + status = "okay"; +}; + +&flash0 { + status = "okay"; + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* Reserve 60kB for the bootloader */ + boot_partition: partition@1000 { + label = "mcuboot"; + reg = <0x00001000 0x0000F000>; + read-only; + }; + + /* Reserve 1024kB for the application in slot 0 */ + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x00010000 0x00100000>; + }; + + /* Reserve 1024kB for the application in slot 1 */ + slot1_partition: partition@110000 { + label = "image-1"; + reg = <0x00110000 0x00100000>; + }; + + /* Reserve 256kB for the scratch partition */ + scratch_partition: partition@210000 { + label = "image-scratch"; + reg = <0x00210000 0x00040000>; + }; + + storage_partition: partition@250000 { + label = "storage"; + reg = <0x00250000 0x00006000>; + }; + }; +}; diff --git a/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.yaml b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.yaml new file mode 100644 index 00000000000..373c6b0eae9 --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu.yaml @@ -0,0 +1,27 @@ +identifier: heltec_wifi_lora32_v2/esp32/appcpu +name: ESP32 DEVKITC WROVER APPCPU +type: mcu +arch: xtensa +toolchain: + - zephyr +supported: + - uart +testing: + ignore_tags: + - net + - bluetooth + - flash + - cpp + - posix + - watchdog + - logging + - kernel + - pm + - gpio + - crypto + - eeprom + - heap + - cmsis_rtos + - jwt + - zdsp +vendor: espressif diff --git a/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu_defconfig b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu_defconfig new file mode 100644 index 00000000000..100bb882567 --- /dev/null +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_appcpu_defconfig @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_MAIN_STACK_SIZE=2048 +CONFIG_CLOCK_CONTROL=y +CONFIG_MINIMAL_LIBC=y diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.dts b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.dts similarity index 98% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.dts rename to boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.dts index 636f1afd354..5e1c8c6c6ff 100644 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.dts +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.dts @@ -10,7 +10,7 @@ #include / { - model = "heltec_wifi_lora32"; + model = "Heltec Wi-Fi Lora32 V2 PROCPU"; compatible = "espressif,esp32"; aliases { diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.yaml b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.yaml similarity index 81% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.yaml rename to boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.yaml index 740755b5e6a..f8571589d7a 100644 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2.yaml +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu.yaml @@ -1,4 +1,4 @@ -identifier: heltec_wifi_lora32_v2 +identifier: heltec_wifi_lora32_v2/esp32/procpu name: HELTEC WiFi LoRa 32 (V2) Board type: mcu arch: xtensa diff --git a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_defconfig b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu_defconfig similarity index 69% rename from boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_defconfig rename to boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu_defconfig index ac8cf88d749..f029cac9e9e 100644 --- a/boards/boards_legacy/xtensa/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_defconfig +++ b/boards/heltec/heltec_wifi_lora32_v2/heltec_wifi_lora32_v2_esp32_procpu_defconfig @@ -1,8 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -CONFIG_BOARD_HELTEC_WIFI_LORA32=y -CONFIG_SOC_SERIES_ESP32=y - CONFIG_MAIN_STACK_SIZE=2048 CONFIG_CONSOLE=y diff --git a/boards/heltec/index.rst b/boards/heltec/index.rst new file mode 100644 index 00000000000..5e8fb67eea2 --- /dev/null +++ b/boards/heltec/index.rst @@ -0,0 +1,10 @@ +.. _boards-heltec: + +Heltec +###### + +.. toctree:: + :maxdepth: 1 + :glob: + + **/*