From 59bfe591eff4fcd44306e6936b58a8c7ba7c3938 Mon Sep 17 00:00:00 2001 From: Celina Sophie Kalus Date: Thu, 2 May 2024 14:50:41 +0200 Subject: [PATCH] samples: drivers: mbox: Add support for stm32h747i_disco board With the addition of the STM32 hardware semaphore MBOX driver, this sample is now supported by the board. Signed-off-by: Celina Sophie Kalus --- samples/drivers/mbox/CMakeLists.txt | 3 ++- samples/drivers/mbox/Kconfig.sysbuild | 1 + .../stm32h747i_disco_stm32h747xx_m7.conf | 1 + .../stm32h747i_disco_stm32h747xx_m7.overlay | 17 ++++++++++++ samples/drivers/mbox/remote/CMakeLists.txt | 3 ++- .../stm32h747i_disco_stm32h747xx_m4.conf | 5 ++++ .../stm32h747i_disco_stm32h747xx_m4.overlay | 26 +++++++++++++++++++ 7 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.conf create mode 100644 samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.overlay create mode 100644 samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.conf create mode 100644 samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.overlay diff --git a/samples/drivers/mbox/CMakeLists.txt b/samples/drivers/mbox/CMakeLists.txt index d279843dacd..3ca0508ab8c 100644 --- a/samples/drivers/mbox/CMakeLists.txt +++ b/samples/drivers/mbox/CMakeLists.txt @@ -17,7 +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_NRF54H20DK_NRF54H20_CPUAPP) + CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUAPP OR + CONFIG_BOARD_STM32H747I_DISCO_STM32H747XX_M7) message(STATUS "${BOARD}${BOARD_QUALIFIERS} compile as Main in this sample") else() message(FATAL_ERROR "${BOARD}${BOARD_QUALIFIERS} is not supported for this sample") diff --git a/samples/drivers/mbox/Kconfig.sysbuild b/samples/drivers/mbox/Kconfig.sysbuild index b8d7e17c29a..c89a6f7b3f7 100644 --- a/samples/drivers/mbox/Kconfig.sysbuild +++ b/samples/drivers/mbox/Kconfig.sysbuild @@ -15,3 +15,4 @@ string default "mimxrt1160_evk/mimxrt1166/cm4" if $(BOARD) = "mimxrt1160_evk" default "lpcxpresso55s69/lpc55s69/cpu1" if $(BOARD) = "lpcxpresso55s69" default "nrf54h20dk/nrf54h20/cpuppr" if $(BOARD) = "nrf54h20dk" + default "stm32h747i_disco/stm32h747xx/m4" if $(BOARD) = "stm32h747i_disco" diff --git a/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.conf b/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.conf new file mode 100644 index 00000000000..acba758575a --- /dev/null +++ b/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.conf @@ -0,0 +1 @@ +CONFIG_MBOX_STM32_HSEM=y diff --git a/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.overlay b/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.overlay new file mode 100644 index 00000000000..d86cbbc2d42 --- /dev/null +++ b/samples/drivers/mbox/boards/stm32h747i_disco_stm32h747xx_m7.overlay @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2024 Celina Sophie Kalus + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mailbox 11>, <&mailbox 10>; + mbox-names = "tx", "rx"; + }; +}; + +&mailbox { + status = "okay"; +}; diff --git a/samples/drivers/mbox/remote/CMakeLists.txt b/samples/drivers/mbox/remote/CMakeLists.txt index 9c19a0e8b46..9bc1c67a61c 100644 --- a/samples/drivers/mbox/remote/CMakeLists.txt +++ b/samples/drivers/mbox/remote/CMakeLists.txt @@ -15,7 +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_NRF54H20DK_NRF54H20_CPUPPR) + CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUPPR OR + CONFIG_BOARD_STM32H747I_DISCO_STM32H747XX_M4) message(STATUS "${BOARD}${BOARD_QUALIFIERS} compile as remote in this sample") else() message(FATAL_ERROR "${BOARD}${BOARD_QUALIFIERS} is not supported for this sample") diff --git a/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.conf b/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.conf new file mode 100644 index 00000000000..110236f8fbd --- /dev/null +++ b/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.conf @@ -0,0 +1,5 @@ +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_LOG_BACKEND_UART=y + +CONFIG_MBOX_STM32_HSEM=y diff --git a/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.overlay b/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.overlay new file mode 100644 index 00000000000..c39e05aeb9c --- /dev/null +++ b/samples/drivers/mbox/remote/boards/stm32h747i_disco_stm32h747xx_m4.overlay @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2024 Celina Sophie Kalus + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,console = &uart8; + zephyr,shell-uart = &uart8; + }; + + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&mailbox 10>, <&mailbox 11>; + mbox-names = "tx", "rx"; + }; +}; + +&uart8 { + status = "okay"; +}; + +&mailbox { + status = "okay"; +};