1# SPDX-License-Identifier: Apache-2.0
2
3menuconfig IPM
4	bool "Inter-Processor Mailbox (IPM) drivers"
5	help
6	  Include interrupt-based inter-processor mailboxes
7	  drivers in system configuration
8
9if IPM
10
11config IPM_MHU
12	bool "IPM MHU driver"
13	default y
14	depends on DT_HAS_ARM_MHU_ENABLED
15	help
16	  Driver for SSE 200 MHU (Message Handling Unit)
17
18config IPM_NRFX
19	bool "IPM NRF driver"
20	default y
21	depends on DT_HAS_NORDIC_NRF_IPC_ENABLED
22	select NRFX_IPC
23	help
24	  Driver for Nordic nRF messaging unit, based
25	  on nRF IPC peripheral HW.
26
27config IPM_NRF_SINGLE_INSTANCE
28	bool "Single instance of IPM device"
29	help
30	  Enable this option if the IPM device should have
31	  a single instance, instead of one per IPC
32	  message channel.
33
34config ESP32_SOFT_IPM
35	bool "ESP32 Software IPM driver"
36	default y
37	depends on DT_HAS_ESPRESSIF_ESP32_IPM_ENABLED
38	help
39	  Interprocessor driver for ESP32 when using AMP.
40
41config IPM_IVSHMEM
42	bool "IPM driver based on IVSHMEM-Doorbell"
43	default y
44	depends on DT_HAS_LINARO_IVSHMEM_IPM_ENABLED
45	depends on IVSHMEM
46	depends on IVSHMEM_DOORBELL
47	help
48	  Interprocessor driver using IVSHMEM Doorbell mechanism.
49
50config XLNX_IPI
51	bool "AMD-Xilinx IPM driver"
52	default y
53	depends on DT_HAS_XLNX_ZYNQMP_IPI_MAILBOX_ENABLED
54	help
55	  Inter Processor Interrupt driver for AMD-Xilinx
56	  platforms such as ZynqMP Ultrascale+.
57
58source "drivers/ipm/Kconfig.nrfx"
59source "drivers/ipm/Kconfig.imx"
60source "drivers/ipm/Kconfig.stm32"
61source "drivers/ipm/Kconfig.intel_adsp"
62source "drivers/ipm/Kconfig.ivshmem"
63source "drivers/ipm/Kconfig.sedi"
64
65
66module = IPM
67module-str = ipm
68source "subsys/logging/Kconfig.template.log_config"
69
70endif #IPM
71