From 4e0ff0cb61960a36f20dda9ba93bb34f7e2a1142 Mon Sep 17 00:00:00 2001 From: Felipe Neves Date: Wed, 31 Jul 2024 11:39:06 -0300 Subject: [PATCH] samples: drivers: mbox: add samples for ESP32 and ESP32S3 devkitc and devktim boards for the mbox driver sample. Signed-off-by: Felipe Neves --- samples/drivers/mbox/CMakeLists.txt | 9 +++++++- samples/drivers/mbox/Kconfig.sysbuild | 2 ++ .../boards/esp32_devkitc_wroom_procpu.overlay | 23 +++++++++++++++++++ .../boards/esp32s3_devkitm_procpu.overlay | 23 +++++++++++++++++++ samples/drivers/mbox/remote/CMakeLists.txt | 2 ++ .../boards/esp32_devkitc_wroom_appcpu.overlay | 23 +++++++++++++++++++ .../boards/esp32s3_devkitm_appcpu.overlay | 23 +++++++++++++++++++ 7 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 samples/drivers/mbox/boards/esp32_devkitc_wroom_procpu.overlay create mode 100644 samples/drivers/mbox/boards/esp32s3_devkitm_procpu.overlay create mode 100644 samples/drivers/mbox/remote/boards/esp32_devkitc_wroom_appcpu.overlay create mode 100644 samples/drivers/mbox/remote/boards/esp32s3_devkitm_appcpu.overlay diff --git a/samples/drivers/mbox/CMakeLists.txt b/samples/drivers/mbox/CMakeLists.txt index 658a18ac21f..00eab257b4d 100644 --- a/samples/drivers/mbox/CMakeLists.txt +++ b/samples/drivers/mbox/CMakeLists.txt @@ -17,6 +17,8 @@ if(CONFIG_BOARD_NRF5340DK_NRF5340_CPUAPP OR CONFIG_BOARD_MIMXRT1170_EVK_MIMXRT1176_CM7 OR CONFIG_BOARD_MIMXRT1160_EVK_MIMXRT1166_CM7 OR CONFIG_BOARD_LPCXPRESSO55S69_LPC55S69_CPU0 OR + CONFIG_BOARD_ESP32_DEVKITC_WROOM_ESP32_PROCPU OR + CONFIG_BOARD_ESP32S3_DEVKITM_ESP32S3_PROCPU OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUAPP OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPURAD OR CONFIG_BOARD_NRF54L15PDK_NRF54L15_CPUAPP OR @@ -35,4 +37,9 @@ if(CONFIG_INCLUDE_REMOTE_DIR) INTERFACE ${REMOTE_ZEPHYR_DIR}/include/public) endif() -target_sources(app PRIVATE src/main.c) +if("${BOARD}" STREQUAL "esp32_devkitc_wrover_procpu" OR "${BOARD}" STREQUAL "esp32s3_devkitm_procpu") + set_source_files_properties(${REMOTE_ZEPHYR_DIR}/esp32_appcpu_firmware.c PROPERTIES GENERATED TRUE) + target_sources(app PRIVATE src/main.c ${REMOTE_ZEPHYR_DIR}/esp32_appcpu_firmware.c) +else() + target_sources(app PRIVATE src/main.c) +endif() diff --git a/samples/drivers/mbox/Kconfig.sysbuild b/samples/drivers/mbox/Kconfig.sysbuild index ab6b1bff171..2c7060626bc 100644 --- a/samples/drivers/mbox/Kconfig.sysbuild +++ b/samples/drivers/mbox/Kconfig.sysbuild @@ -17,3 +17,5 @@ config REMOTE_BOARD default "nrf54h20dk/nrf54h20/cpuapp" if "$(BOARD)${BOARD_QUALIFIERS}" = "nrf54h20dk/nrf54h20/cpurad" default "nrf54l15pdk/nrf54l15/cpuflpr" if $(BOARD) = "nrf54l15pdk" default "stm32h747i_disco/stm32h747xx/m4" if $(BOARD) = "stm32h747i_disco" + default "esp32_devkitc_wroom/esp32/appcpu" if "$(BOARD)${BOARD_QUALIFIERS}" = "esp32_devkitc_wroom/esp32/procpu" + default "esp32s3_devkitm/esp32s3/appcpu" if "$(BOARD)${BOARD_QUALIFIERS}" = "esp32s3_devkitm/esp32s3/procpu" diff --git a/samples/drivers/mbox/boards/esp32_devkitc_wroom_procpu.overlay b/samples/drivers/mbox/boards/esp32_devkitc_wroom_procpu.overlay new file mode 100644 index 00000000000..211ec3f8f51 --- /dev/null +++ b/samples/drivers/mbox/boards/esp32_devkitc_wroom_procpu.overlay @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024 Felipe Neves. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,ipc_shm = &shm0; + zephyr,ipc = &mbox0; + }; + + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mbox0 1>, <&mbox0 0>; + mbox-names = "tx", "rx"; + }; +}; + +&mbox0 { + status = "okay"; +}; diff --git a/samples/drivers/mbox/boards/esp32s3_devkitm_procpu.overlay b/samples/drivers/mbox/boards/esp32s3_devkitm_procpu.overlay new file mode 100644 index 00000000000..211ec3f8f51 --- /dev/null +++ b/samples/drivers/mbox/boards/esp32s3_devkitm_procpu.overlay @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024 Felipe Neves. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,ipc_shm = &shm0; + zephyr,ipc = &mbox0; + }; + + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mbox0 1>, <&mbox0 0>; + mbox-names = "tx", "rx"; + }; +}; + +&mbox0 { + status = "okay"; +}; diff --git a/samples/drivers/mbox/remote/CMakeLists.txt b/samples/drivers/mbox/remote/CMakeLists.txt index 203fab879a3..daccb9899e6 100644 --- a/samples/drivers/mbox/remote/CMakeLists.txt +++ b/samples/drivers/mbox/remote/CMakeLists.txt @@ -15,6 +15,8 @@ if(CONFIG_BOARD_NRF5340DK_NRF5340_CPUNET OR CONFIG_BOARD_MIMXRT1170_EVK_MIMXRT1176_CM4 OR CONFIG_BOARD_MIMXRT1160_EVK_MIMXRT1166_CM4 OR CONFIG_BOARD_LPCXPRESSO55S69_LPC55S69_CPU1 OR + CONFIG_BOARD_ESP32_DEVKITC_WROOM_ESP32_APPCPU OR + CONFIG_BOARD_ESP32S3_DEVKITM_ESP32S3_APPCPU OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUPPR OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUFLPR OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUAPP OR diff --git a/samples/drivers/mbox/remote/boards/esp32_devkitc_wroom_appcpu.overlay b/samples/drivers/mbox/remote/boards/esp32_devkitc_wroom_appcpu.overlay new file mode 100644 index 00000000000..c9643fb3e5d --- /dev/null +++ b/samples/drivers/mbox/remote/boards/esp32_devkitc_wroom_appcpu.overlay @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024 Felipe Neves. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,ipc_shm = &shm0; + zephyr,ipc = &mbox0; + }; + + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mbox0 0>, <&mbox0 1>; + mbox-names = "tx", "rx"; + }; +}; + +&mbox0 { + status = "okay"; +}; diff --git a/samples/drivers/mbox/remote/boards/esp32s3_devkitm_appcpu.overlay b/samples/drivers/mbox/remote/boards/esp32s3_devkitm_appcpu.overlay new file mode 100644 index 00000000000..c9643fb3e5d --- /dev/null +++ b/samples/drivers/mbox/remote/boards/esp32s3_devkitm_appcpu.overlay @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024 Felipe Neves. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,ipc_shm = &shm0; + zephyr,ipc = &mbox0; + }; + + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mbox0 0>, <&mbox0 1>; + mbox-names = "tx", "rx"; + }; +}; + +&mbox0 { + status = "okay"; +};