From b8340b010957c8dc202e58b026b0d8742cd75b46 Mon Sep 17 00:00:00 2001 From: Sylvio Alves Date: Sun, 25 Feb 2024 18:09:22 -0300 Subject: [PATCH] boards: xtensa: m5stickc_plus: Convert to v2 Converts the board to hwmv2 Signed-off-by: Sylvio Alves --- boards/m5stack/m5stickc_plus/Kconfig | 6 ++ .../m5stickc_plus/Kconfig.defconfig | 16 ++-- .../m5stickc_plus/Kconfig.m5stickc_plus} | 7 +- .../m5stickc_plus/Kconfig.sysbuild | 0 .../m5stickc_plus/board.cmake | 0 boards/m5stack/m5stickc_plus/board.yml | 5 ++ .../m5stickc_plus/doc/index.rst | 10 +-- .../m5stickc_plus/m5stickc_plus-pinctrl.dtsi | 0 .../m5stickc_plus_esp32_appcpu.dts | 74 +++++++++++++++++++ .../m5stickc_plus_esp32_appcpu.yaml | 27 +++++++ .../m5stickc_plus_esp32_appcpu_defconfig | 5 ++ .../m5stickc_plus_esp32_procpu.dts} | 2 +- .../m5stickc_plus_esp32_procpu.yaml} | 2 +- .../m5stickc_plus_esp32_procpu_defconfig} | 3 - .../m5stickc_plus/support/openocd.cfg | 0 15 files changed, 135 insertions(+), 22 deletions(-) create mode 100644 boards/m5stack/m5stickc_plus/Kconfig rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/Kconfig.defconfig (61%) rename boards/{boards_legacy/xtensa/m5stickc_plus/Kconfig.board => m5stack/m5stickc_plus/Kconfig.m5stickc_plus} (55%) rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/Kconfig.sysbuild (100%) rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/board.cmake (100%) create mode 100644 boards/m5stack/m5stickc_plus/board.yml rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/doc/index.rst (98%) rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/m5stickc_plus-pinctrl.dtsi (100%) create mode 100644 boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.dts create mode 100644 boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.yaml create mode 100644 boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu_defconfig rename boards/{boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.dts => m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.dts} (98%) rename boards/{boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.yaml => m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.yaml} (84%) rename boards/{boards_legacy/xtensa/m5stickc_plus/m5stickc_plus_defconfig => m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu_defconfig} (72%) rename boards/{boards_legacy/xtensa => m5stack}/m5stickc_plus/support/openocd.cfg (100%) diff --git a/boards/m5stack/m5stickc_plus/Kconfig b/boards/m5stack/m5stickc_plus/Kconfig new file mode 100644 index 00000000000..0befa89fc68 --- /dev/null +++ b/boards/m5stack/m5stickc_plus/Kconfig @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_M5STICKC_PLUS + select SOC_ESP32_PROCPU if BOARD_M5STICKC_PLUS_ESP32_PROCPU + select SOC_ESP32_APPCPU if BOARD_M5STICKC_PLUS_ESP32_APPCPU diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.defconfig b/boards/m5stack/m5stickc_plus/Kconfig.defconfig similarity index 61% rename from boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.defconfig rename to boards/m5stack/m5stickc_plus/Kconfig.defconfig index a9e73202781..638a054bec1 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.defconfig +++ b/boards/m5stack/m5stickc_plus/Kconfig.defconfig @@ -3,12 +3,7 @@ # Copyright (c) 2022 AVSystem Sławomir Wolf Sp.j. (AVSystem) # SPDX-License-Identifier: Apache-2.0 -config BOARD - default "m5stickc_plus" - depends on BOARD_M5STICKC_PLUS - -config ENTROPY_GENERATOR - default y +if BOARD_M5STICKC_PLUS_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_M5STICKC_PLUS_ESP32_PROCPU + +if BOARD_M5STICKC_PLUS_ESP32_APPCPU + +config HEAP_MEM_POOL_ADD_SIZE_BOARD + default 256 + +endif # BOARD_M5STICKC_PLUS_ESP32_APPCPU diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.board b/boards/m5stack/m5stickc_plus/Kconfig.m5stickc_plus similarity index 55% rename from boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.board rename to boards/m5stack/m5stickc_plus/Kconfig.m5stickc_plus index 91e31bc9595..9ab1db5c121 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.board +++ b/boards/m5stack/m5stickc_plus/Kconfig.m5stickc_plus @@ -4,9 +4,4 @@ # SPDX-License-Identifier: Apache-2.0 config BOARD_M5STICKC_PLUS - bool "M5StickC PLUS Development Board" - depends on SOC_SERIES_ESP32 - -choice SOC_PART_NUMBER - default SOC_ESP32_PICO_D4 -endchoice + select SOC_ESP32_PICO_D4 diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.sysbuild b/boards/m5stack/m5stickc_plus/Kconfig.sysbuild similarity index 100% rename from boards/boards_legacy/xtensa/m5stickc_plus/Kconfig.sysbuild rename to boards/m5stack/m5stickc_plus/Kconfig.sysbuild diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/board.cmake b/boards/m5stack/m5stickc_plus/board.cmake similarity index 100% rename from boards/boards_legacy/xtensa/m5stickc_plus/board.cmake rename to boards/m5stack/m5stickc_plus/board.cmake diff --git a/boards/m5stack/m5stickc_plus/board.yml b/boards/m5stack/m5stickc_plus/board.yml new file mode 100644 index 00000000000..3a604266d07 --- /dev/null +++ b/boards/m5stack/m5stickc_plus/board.yml @@ -0,0 +1,5 @@ +board: + name: m5stickc_plus + vendor: m5stack + socs: + - name: esp32 diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/doc/index.rst b/boards/m5stack/m5stickc_plus/doc/index.rst similarity index 98% rename from boards/boards_legacy/xtensa/m5stickc_plus/doc/index.rst rename to boards/m5stack/m5stickc_plus/doc/index.rst index 1b042f4f30f..1e5907d50cd 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/doc/index.rst +++ b/boards/m5stack/m5stickc_plus/doc/index.rst @@ -139,9 +139,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 @@ -173,7 +173,7 @@ Build and flash applications as usual (see :ref:`build_an_application` and .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: m5stickc_plus + :board: m5stickc_plus/esp32/procpu :goals: build The usual ``flash`` target will work with the ``m5stickc_plus`` board @@ -182,7 +182,7 @@ application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: m5stickc_plus + :board: m5stickc_plus/esp32/procpu :goals: flash The default baud rate for the M5StickC PLUS is set to 1500000bps. If experiencing issues when flashing, diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus-pinctrl.dtsi b/boards/m5stack/m5stickc_plus/m5stickc_plus-pinctrl.dtsi similarity index 100% rename from boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus-pinctrl.dtsi rename to boards/m5stack/m5stickc_plus/m5stickc_plus-pinctrl.dtsi diff --git a/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.dts b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.dts new file mode 100644 index 00000000000..8b7e74fdd98 --- /dev/null +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_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 = "M5StickC Plus 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/m5stickc_plus/m5stickc_plus_esp32_appcpu.yaml b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.yaml new file mode 100644 index 00000000000..e436849ced4 --- /dev/null +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu.yaml @@ -0,0 +1,27 @@ +identifier: m5stickc_plus/esp32/appcpu +name: M5StickC PLUS +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/m5stickc_plus/m5stickc_plus_esp32_appcpu_defconfig b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_appcpu_defconfig new file mode 100644 index 00000000000..100bb882567 --- /dev/null +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_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/m5stickc_plus/m5stickc_plus.dts b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.dts similarity index 98% rename from boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.dts rename to boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.dts index 6737973adae..2f0f6975bba 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.dts +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.dts @@ -10,7 +10,7 @@ #include / { - model = "M5StickC Plus"; + model = "M5StickC Plus PROCPU"; compatible = "m5stack,m5stickc-plus"; aliases { diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.yaml b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.yaml similarity index 84% rename from boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.yaml rename to boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.yaml index 821770c2be4..24499601d4a 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus.yaml +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu.yaml @@ -1,4 +1,4 @@ -identifier: m5stickc_plus +identifier: m5stickc_plus/esp32/procpu name: M5StickC PLUS type: mcu arch: xtensa diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus_defconfig b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu_defconfig similarity index 72% rename from boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus_defconfig rename to boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu_defconfig index cc30c956baf..ee9920cda68 100644 --- a/boards/boards_legacy/xtensa/m5stickc_plus/m5stickc_plus_defconfig +++ b/boards/m5stack/m5stickc_plus/m5stickc_plus_esp32_procpu_defconfig @@ -1,8 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -CONFIG_BOARD_M5STICKC_PLUS=y -CONFIG_SOC_SERIES_ESP32=y - CONFIG_MAIN_STACK_SIZE=2048 CONFIG_CONSOLE=y diff --git a/boards/boards_legacy/xtensa/m5stickc_plus/support/openocd.cfg b/boards/m5stack/m5stickc_plus/support/openocd.cfg similarity index 100% rename from boards/boards_legacy/xtensa/m5stickc_plus/support/openocd.cfg rename to boards/m5stack/m5stickc_plus/support/openocd.cfg