# SPDX-License-Identifier: GPL-2.0-only
config IMX_DSP
	tristate "IMX DSP Protocol driver"
	depends on IMX_MBOX
	help
	  This enables DSP IPC protocol between host AP (Linux)
	  and the firmware running on DSP.
	  DSP exists on some i.MX8 processors (e.g i.MX8QM, i.MX8QXP).

	  It acts like a doorbell. Client might use shared memory to
	  exchange information with DSP side.

config IMX_SCU
	bool "IMX SCU Protocol driver"
	depends on IMX_MBOX
	select SOC_BUS
	help
	  The System Controller Firmware (SCFW) is a low-level system function
	  which runs on a dedicated Cortex-M core to provide power, clock, and
	  resource management. It exists on some i.MX8 processors. e.g. i.MX8QM
	  (QM, QP), and i.MX8QX (QXP, DX).

	  This driver manages the IPC interface between host CPU and the
	  SCU firmware running on M4.

config IMX_SCMI_CPU_DRV
	tristate "IMX SCMI CPU Protocol driver"
	depends on ARCH_MXC || COMPILE_TEST
	default y if ARCH_MXC
	help
	  The System Controller Management Interface firmware (SCMI FW) is
	  a low-level system function which runs on a dedicated Cortex-M
	  core that could provide cpu management features.

	  This driver can also be built as a module.

config IMX_SCMI_LMM_DRV
	tristate "IMX SCMI LMM Protocol driver"
	depends on ARCH_MXC || COMPILE_TEST
	default y if ARCH_MXC
	help
	  The System Controller Management Interface firmware (SCMI FW) is
	  a low-level system function which runs on a dedicated Cortex-M
	  core that could provide Logical Machine management features.

	  This driver can also be built as a module.

config IMX_SCMI_MISC_DRV
	tristate "IMX SCMI MISC Protocol driver"
	depends on ARCH_MXC || COMPILE_TEST
	default y if ARCH_MXC
	help
	  The System Controller Management Interface firmware (SCMI FW) is
	  a low-level system function which runs on a dedicated Cortex-M
	  core that could provide misc functions such as board control.

	  This driver can also be built as a module.

config IMX_SEC_ENCLAVE
	tristate "i.MX Embedded Secure Enclave - EdgeLock Enclave Firmware driver."
	depends on (IMX_MBOX && ARCH_MXC && ARM64) || COMPILE_TEST
	select FW_LOADER
	default m if ARCH_MXC

	help
	  Exposes APIs supported by the iMX Secure Enclave HW IP called:
	  - EdgeLock Enclave Firmware (for i.MX8ULP, i.MX93),
	    like base, HSM, V2X & SHE using the SAB protocol via the shared Messaging
	    Unit. This driver exposes these interfaces via a set of file descriptors
	    allowing to configure shared memory, send and receive messages.
