diff --git a/boards/m5stack/m5stack_core2/Kconfig b/boards/m5stack/m5stack_core2/Kconfig new file mode 100644 index 00000000000..abe38faa5ec --- /dev/null +++ b/boards/m5stack/m5stack_core2/Kconfig @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_M5STACK_CORE2 + select SOC_ESP32_PROCPU if BOARD_M5STACK_CORE2_ESP32_PROCPU + select SOC_ESP32_APPCPU if BOARD_M5STACK_CORE2_ESP32_APPCPU diff --git a/boards/boards_legacy/xtensa/m5stack_core2/Kconfig.defconfig b/boards/m5stack/m5stack_core2/Kconfig.defconfig similarity index 80% rename from boards/boards_legacy/xtensa/m5stack_core2/Kconfig.defconfig rename to boards/m5stack/m5stack_core2/Kconfig.defconfig index 15dfc61483a..6057cf0a0f5 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/Kconfig.defconfig +++ b/boards/m5stack/m5stack_core2/Kconfig.defconfig @@ -3,14 +3,7 @@ # Copyright (c) 2023 Martin Kiepfer # SPDX-License-Identifier: Apache-2.0 -if BOARD_M5STACK_CORE2 - -config BOARD - default "m5stack_core2" - depends on BOARD_M5STACK_CORE2 - -config ENTROPY_GENERATOR - default y +if BOARD_M5STACK_CORE2_ESP32_PROCPU config HEAP_MEM_POOL_ADD_SIZE_BOARD int @@ -50,4 +43,11 @@ config MIPI_DBI_INIT_PRIORITY endif # MIPI_DBI -endif # BOARD_M5STACK_CORE2 +endif # BOARD_M5STACK_CORE2_ESP32_PROCPU + +if BOARD_M5STACK_CORE2_ESP32_APPCPU + +config HEAP_MEM_POOL_ADD_SIZE_BOARD + default 256 + +endif # BOARD_M5STACK_CORE2_ESP32_APPCPU diff --git a/boards/boards_legacy/xtensa/m5stack_core2/Kconfig.board b/boards/m5stack/m5stack_core2/Kconfig.m5stack_core2 similarity index 56% rename from boards/boards_legacy/xtensa/m5stack_core2/Kconfig.board rename to boards/m5stack/m5stack_core2/Kconfig.m5stack_core2 index 9b48a15c24d..f6858d5a928 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/Kconfig.board +++ b/boards/m5stack/m5stack_core2/Kconfig.m5stack_core2 @@ -4,9 +4,4 @@ # SPDX-License-Identifier: Apache-2.0 config BOARD_M5STACK_CORE2 - bool "M5Stack Core2 Development Board" - depends on SOC_SERIES_ESP32 - -choice SOC_PART_NUMBER - default SOC_ESP32_D0WD_V3 -endchoice + select SOC_ESP32_D0WD_V3 diff --git a/boards/boards_legacy/xtensa/m5stack_core2/board.cmake b/boards/m5stack/m5stack_core2/board.cmake similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/board.cmake rename to boards/m5stack/m5stack_core2/board.cmake diff --git a/boards/m5stack/m5stack_core2/board.yml b/boards/m5stack/m5stack_core2/board.yml new file mode 100644 index 00000000000..1ff253f8201 --- /dev/null +++ b/boards/m5stack/m5stack_core2/board.yml @@ -0,0 +1,5 @@ +board: + name: m5stack_core2 + vendor: m5stack + socs: + - name: esp32 diff --git a/boards/boards_legacy/xtensa/m5stack_core2/doc/img/m5stack_core2.webp b/boards/m5stack/m5stack_core2/doc/img/m5stack_core2.webp similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/doc/img/m5stack_core2.webp rename to boards/m5stack/m5stack_core2/doc/img/m5stack_core2.webp diff --git a/boards/boards_legacy/xtensa/m5stack_core2/doc/index.rst b/boards/m5stack/m5stack_core2/doc/index.rst similarity index 99% rename from boards/boards_legacy/xtensa/m5stack_core2/doc/index.rst rename to boards/m5stack/m5stack_core2/doc/index.rst index 11fd9b9826e..9dc66f5c9ba 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/doc/index.rst +++ b/boards/m5stack/m5stack_core2/doc/index.rst @@ -152,7 +152,7 @@ Build and flash applications as usual (see :ref:`build_an_application` and .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: m5stack_core2 + :board: m5stack_core2/esp32/procpu :goals: build The usual ``flash`` target will work with the ``m5stack_core2`` board @@ -161,7 +161,7 @@ application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: m5stack_core2 + :board: m5stack_core2/esp32/procpu :goals: flash The baud rate of 921600bps is set by default. If experiencing issues when flashing, diff --git a/boards/boards_legacy/xtensa/m5stack_core2/grove_connectors.dtsi b/boards/m5stack/m5stack_core2/grove_connectors.dtsi similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/grove_connectors.dtsi rename to boards/m5stack/m5stack_core2/grove_connectors.dtsi diff --git a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2-pinctrl.dtsi b/boards/m5stack/m5stack_core2/m5stack_core2-pinctrl.dtsi similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2-pinctrl.dtsi rename to boards/m5stack/m5stack_core2/m5stack_core2-pinctrl.dtsi diff --git a/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu.dts b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu.dts new file mode 100644 index 00000000000..cd5cf5d0bf2 --- /dev/null +++ b/boards/m5stack/m5stack_core2/m5stack_core2_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 = "M5Stack Core2 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/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu.yaml b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu.yaml new file mode 100644 index 00000000000..8e5a51d07c7 --- /dev/null +++ b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu.yaml @@ -0,0 +1,27 @@ +identifier: m5stack_core2/esp32/appcpu +name: M5Stack Core2 +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: m5stack diff --git a/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu_defconfig b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_appcpu_defconfig new file mode 100644 index 00000000000..100bb882567 --- /dev/null +++ b/boards/m5stack/m5stack_core2/m5stack_core2_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/m5stack_core2/m5stack_core2.dts b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.dts similarity index 99% rename from boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2.dts rename to boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.dts index 17cbe3fe638..0ca3efab6cd 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2.dts +++ b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.dts @@ -13,7 +13,7 @@ #include / { - model = "M5Stack Core2"; + model = "M5Stack Core2 PROCPU"; compatible = "m5stack,core2"; aliases { diff --git a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2.yaml b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.yaml similarity index 85% rename from boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2.yaml rename to boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.yaml index 78b361e8834..b5f7a37910d 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2.yaml +++ b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu.yaml @@ -1,4 +1,4 @@ -identifier: m5stack_core2 +identifier: m5stack_core2/esp32/procpu name: M5Stack Core2 type: mcu arch: xtensa diff --git a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2_defconfig b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu_defconfig similarity index 80% rename from boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2_defconfig rename to boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu_defconfig index 10fde73b477..008eb0afc9e 100644 --- a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_core2_defconfig +++ b/boards/m5stack/m5stack_core2/m5stack_core2_esp32_procpu_defconfig @@ -1,9 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -CONFIG_BOARD_M5STACK_CORE2=y - -CONFIG_SOC_SERIES_ESP32=y - CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ESP_HEAP_MEM_POOL_REGION_1_SIZE=0 diff --git a/boards/boards_legacy/xtensa/m5stack_core2/m5stack_mbus_connectors.dtsi b/boards/m5stack/m5stack_core2/m5stack_mbus_connectors.dtsi similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/m5stack_mbus_connectors.dtsi rename to boards/m5stack/m5stack_core2/m5stack_mbus_connectors.dtsi diff --git a/boards/boards_legacy/xtensa/m5stack_core2/support/openocd.cfg b/boards/m5stack/m5stack_core2/support/openocd.cfg similarity index 100% rename from boards/boards_legacy/xtensa/m5stack_core2/support/openocd.cfg rename to boards/m5stack/m5stack_core2/support/openocd.cfg