zephyr/drivers/ipm/Kconfig
Arnaud Pouliquen c1a13340ce driver: ipm: introduce IPM_MAX_DATA_SIZE build configuration
The ipm_send() allows transferring data through the IPM device.
However, depending on the platform, the mailbox peripheral may either
transmit a limited amount of data or not transfer data at all.
Introducing this configuration allows exposing the IPM capability to the
application.
This commit defines a default value of 1024 bytes to avoid impacting
existing IPM drivers and sets the value to 0 for the STM32 IPCC and
STM32 HSEM devices.

This allows, in a next step, other devices to use this configuration to
expose their capabilities instead of using proprietary configuration or
a static definition.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-05-27 10:29:20 +02:00

86 lines
2 KiB
Text

# SPDX-License-Identifier: Apache-2.0
menuconfig IPM
bool "Inter-Processor Mailbox (IPM) drivers"
help
Include interrupt-based inter-processor mailboxes
drivers in system configuration
if IPM
config IPM_MAX_DATA_SIZE
int "Max data size supported"
default 0 if IPM_STM32_IPCC || IPM_STM32_HSEM
default 1024
help
Define the max size (in bytes) of data that can be transmitted or
received by the IPM device.
config IPM_MHU
bool "IPM MHU driver"
default y
depends on DT_HAS_ARM_MHU_ENABLED
help
Driver for SSE 200 MHU (Message Handling Unit)
config IPM_NRFX
bool "IPM NRF driver"
default y
depends on DT_HAS_NORDIC_NRF_IPC_ENABLED
select NRFX_IPC
help
Driver for Nordic nRF messaging unit, based
on nRF IPC peripheral HW.
config IPM_NRF_SINGLE_INSTANCE
bool "Single instance of IPM device"
help
Enable this option if the IPM device should have
a single instance, instead of one per IPC
message channel.
config ESP32_SOFT_IPM
bool "ESP32 Software IPM driver"
default y
depends on DT_HAS_ESPRESSIF_ESP32_IPM_ENABLED
help
Interprocessor driver for ESP32 when using AMP.
config IPM_IVSHMEM
bool "IPM driver based on IVSHMEM-Doorbell"
default y
depends on DT_HAS_LINARO_IVSHMEM_IPM_ENABLED
depends on IVSHMEM
depends on IVSHMEM_DOORBELL
help
Interprocessor driver using IVSHMEM Doorbell mechanism.
config XLNX_IPI
bool "AMD-Xilinx IPM driver"
default y
depends on DT_HAS_XLNX_ZYNQMP_IPI_MAILBOX_ENABLED
help
Inter Processor Interrupt driver for AMD-Xilinx
platforms such as ZynqMP Ultrascale+.
config IPM_MBOX
bool "IPM over MBOX driver"
default y
depends on DT_HAS_ZEPHYR_MBOX_IPM_ENABLED
select MBOX
help
IPM driver using a MBOX driver as the backend mechanism.
source "drivers/ipm/Kconfig.nrfx"
source "drivers/ipm/Kconfig.imx"
source "drivers/ipm/Kconfig.stm32"
source "drivers/ipm/Kconfig.intel_adsp"
source "drivers/ipm/Kconfig.ivshmem"
source "drivers/ipm/Kconfig.sedi"
module = IPM
module-str = ipm
source "subsys/logging/Kconfig.template.log_config"
endif #IPM