137 lines
2.9 KiB
Plaintext
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
|