Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# 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 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_INTEL_ADSP
	bool "IPM ADSP Host-DSP Communication driver"
	help
	  Driver for the Host-DSP Mailbox Communication channel.

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