# SPDX-License-Identifier: Apache-2.0

menuconfig IPM
	bool "IPM drivers"
	help
	  Include interrupt-based inter-processor mailboxes
	  drivers in system configuration

config IPM_QUARK_SE
	bool "Quark SE IPM driver"
	depends on IPM
	help
	  Driver for Quark SE mailboxes

config IPM_QUARK_SE_MASTER
	bool "Quark SE IPM master controller"
	depends on IPM_QUARK_SE
	help
	  Enable this for the first CPU that initializes IPM.
	  Sets up the initial interrupt mask and clears out all
	  channels. Should be turned on for one CPU only.

config IPM_MCUX
	bool "MCUX IPM driver"
	depends on IPM && HAS_MCUX
	help
	  Driver for MCUX mailbox

config IPM_IMX
	bool "IMX IPM driver"
	depends on IPM && 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
	# omit prompt to signify a "hidden" option
	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
	# omit prompt to signify a "hidden" option
	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
