Skip to content

Commit a7ba802

Browse files
ZiadElhanafykartben
authored andcommitted
drivers: mbox: Add Arm MHUv3 Mailbox driver
This adds new Arm MHUv3 mailbox driver. The Arm MHUv3 (Message Handling Unit version 3) is a hardware block designed for inter-processor communication in SoCs. The ARM MHUv3 can optionally support various extensions to enable different kinds of transport to be used for communication. At the moment only the doorbell extension is supported in the driver. For more information refer to Arm Message Handling Unit Architecture https://documentation-service.arm.com/static/65f01fbab5e3c10fe1335edf Signed-off-by: Ziad Elhanafy <[email protected]>
1 parent 06f42f6 commit a7ba802

File tree

5 files changed

+1615
-0
lines changed

5 files changed

+1615
-0
lines changed

drivers/mbox/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ zephyr_library_sources_ifdef(CONFIG_MBOX_STM32_HSEM mbox_stm32_hsem.c)
2121
zephyr_library_sources_ifdef(CONFIG_MBOX_IVSHMEM mbox_ivshmem.c)
2222
zephyr_library_sources_ifdef(CONFIG_MBOX_TI_OMAP_MAILBOX mbox_ti_omap.c)
2323
zephyr_library_sources_ifdef(CONFIG_MBOX_RENESAS_RZ_MHU mbox_renesas_rz_mhu.c)
24+
zephyr_library_sources_ifdef(CONFIG_MBOX_MHUV3 mbox_mhuv3.c)

drivers/mbox/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ source "drivers/mbox/Kconfig.esp32"
2525
source "drivers/mbox/Kconfig.ivshmem"
2626
source "drivers/mbox/Kconfig.ti_omap"
2727
source "drivers/mbox/Kconfig.renesas_rz"
28+
source "drivers/mbox/Kconfig.mhuv3"
2829

2930

3031
config MBOX_INIT_PRIORITY

drivers/mbox/Kconfig.mhuv3

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#
2+
# SPDX-FileCopyrightText: <text>Copyright 2024-2025 Arm Limited and/or its
3+
# affiliates <[email protected]></text>
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
config MBOX_MHUV3
8+
bool "ARM MHUv3 mailbox driver"
9+
depends on DT_HAS_ARM_MHUV3_ENABLED
10+
default y
11+
help
12+
Driver for Arm MHUv3 (Message Handling Unit v3)
13+
14+
if MBOX_MHUV3
15+
16+
config MBOX_MHUV3_NUM_DBCH
17+
int "ARM MHUv3 mailbox doorbell number of channels"
18+
default 0
19+
help
20+
Maximum number of doorbell channels allowed in the Postbox/Mailbox.
21+
This number has to be less than or equal to (NUM_DBCH + 1) in PBX_DBCH_CFG0/MBX_DBCH_CFG0 registers.
22+
If the doorbell extension is supported then this number has to be bigger than zero.
23+
MHUv3 allows up to 128 doorbell channels.
24+
This configuration parameter is needed to avoid the dynamic memory allocation of doorbell channels
25+
data structures.
26+
27+
endif

0 commit comments

Comments
 (0)