zephyr/drivers/ipm/Kconfig

137 lines
2.9 KiB
Plaintext

# SPDX-License-Identifier: Apache-2.0
menuconfig IPM
bool "IPM drivers"
help
Include interrupt-based inter-processor mailboxes
drivers in system configuration
if IPM
config IPM_MCUX
bool "MCUX IPM driver"
depends on HAS_MCUX
help
Driver for MCUX mailbox
config IPM_IMX
bool "IMX IPM driver"
depends on HAS_IMX_HAL
help
Driver for NXP i.MX messaging unit
config IPM_IMX_REV2
bool "IMX IPM driver (rev 2)"
depends on HAS_MCUX
depends on !IPM_IMX
help
Rev 2 driver for NXP i.MX messaging unit (MCUX-based)
choice
prompt "IMX IPM max data size"
default IPM_IMX_MAX_DATA_SIZE_16
depends on IPM_IMX || IPM_IMX_REV2
help
Select maximum message size for NXP i.MX messaging unit.
config IPM_IMX_MAX_DATA_SIZE_4
bool "4 bytes"
help
There will be four message types with ids 0, 1, 2 or 3
and a maximum size of 4 bytes each.
config IPM_IMX_MAX_DATA_SIZE_8
bool "8 bytes"
help
There will be two message types with ids 0 or 1
and a maximum size of 8 bytes each.
config IPM_IMX_MAX_DATA_SIZE_16
bool "16 bytes"
help
There will be a single message type with id 0
and a maximum size of 16 bytes.
endchoice
config IPM_IMX_MAX_DATA_SIZE
int
range 4 16
default 4 if IPM_IMX_MAX_DATA_SIZE_4
default 8 if IPM_IMX_MAX_DATA_SIZE_8
default 16 if IPM_IMX_MAX_DATA_SIZE_16
depends on IPM_IMX || IPM_IMX_REV2
config IPM_IMX_MAX_ID_VAL
int
range 0 3
default 3 if IPM_IMX_MAX_DATA_SIZE_4
default 1 if IPM_IMX_MAX_DATA_SIZE_8
default 0 if IPM_IMX_MAX_DATA_SIZE_16
depends on IPM_IMX || IPM_IMX_REV2
config IPM_MHU
bool "IPM MHU driver"
help
Driver for SSE 200 MHU (Message Handling Unit)
config IPM_NRFX
bool "IPM NRF driver"
depends on HAS_HW_NRF_IPC
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.
source "drivers/ipm/Kconfig.nrfx"
config IPM_STM32_IPCC
bool "STM32 IPCC controller"
select USE_STM32_LL_IPCC
help
Driver for stm32 IPCC mailboxes
config IPM_STM32_IPCC_PROCID
int "STM32 IPCC Processor ID"
default 2
range 1 2
depends on IPM_STM32_IPCC
help
use to define the Processor ID for IPCC access
config IPM_CAVS_IDC
bool "CAVS DSP Intra-DSP Communication (IDC) driver"
depends on IPM && CAVS_ICTL
default y if MP_NUM_CPUS > 1 && SMP
help
Driver for the Intra-DSP Communication (IDC) channel for
cross SoC communications.
config IPM_STM32_HSEM
bool "STM32 HSEM controller"
depends on STM32H7_DUAL_CORE
help
Driver for stm32 HSEM mailbox
config IPM_STM32_HSEM_CPU
int "HSEM CPU ID"
default 1 if "$(dt_nodelabel_enabled,cpu0)"
default 2 if "$(dt_nodelabel_enabled,cpu1)"
range 1 2
depends on IPM_STM32_HSEM
help
use to define the CPU ID used by HSEM
module = IPM
module-str = ipm
source "subsys/logging/Kconfig.template.log_config"
endif #IPM