zephyr/drivers/ipm/Kconfig
Daniel Leung 492e890cd6 ipm: add driver for the CAVS DSP Intra-DSP Communication (IDC)
This adds a rather primitive driver for use with the Intra-DSP
Communication (IDC) on the DSP on certain Intel SoCs. The IDC
generates interrupts from one core to another by writing to
certain registers. This is also being utilized as
the scheduler IPI since it can interrupt other cores.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-03-25 19:07:28 -04:00

114 lines
2.4 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
choice
prompt "IMX IPM max data size"
default IPM_IMX_MAX_DATA_SIZE_16
depends on IPM_IMX
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
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
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 SMP && CAVS_ICTL
help
Driver for the Intra-DSP Communication (IDC) channel for
cross SoC communications.
module = IPM
module-str = ipm
source "subsys/logging/Kconfig.template.log_config"
endif #IPM