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>
86 lines
2 KiB
Text
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
|