311 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			311 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-only
 | 
						|
menuconfig MAILBOX
 | 
						|
	bool "Mailbox Hardware Support"
 | 
						|
	help
 | 
						|
	  Mailbox is a framework to control hardware communication between
 | 
						|
	  on-chip processors through queued messages and interrupt driven
 | 
						|
	  signals. Say Y if your platform supports hardware mailboxes.
 | 
						|
 | 
						|
if MAILBOX
 | 
						|
 | 
						|
config MAILBOX_POLL_PERIOD_US
 | 
						|
	bool "Mailbox TX Done Poll in Microseconds"
 | 
						|
	help
 | 
						|
	  Say Y if you want to set Mailbox TX Done H/R timer polling
 | 
						|
	  period from millisecond to microseconds.
 | 
						|
 | 
						|
config APPLE_MAILBOX
 | 
						|
	tristate "Apple Mailbox driver"
 | 
						|
	depends on ARCH_APPLE || (ARM64 && COMPILE_TEST)
 | 
						|
	default ARCH_APPLE
 | 
						|
	help
 | 
						|
	  Apple SoCs have various co-processors required for certain
 | 
						|
	  peripherals to work (NVMe, display controller, etc.). This
 | 
						|
	  driver adds support for the mailbox controller used to
 | 
						|
	  communicate with those.
 | 
						|
 | 
						|
	  Say Y here if you have a Apple SoC.
 | 
						|
 | 
						|
config ARM_MHU
 | 
						|
	tristate "ARM MHU Mailbox"
 | 
						|
	depends on ARM_AMBA
 | 
						|
	help
 | 
						|
	  Say Y here if you want to build the ARM MHU controller driver.
 | 
						|
	  The controller has 3 mailbox channels, the last of which can be
 | 
						|
	  used in Secure mode only.
 | 
						|
 | 
						|
config ARM_MHU_V2
 | 
						|
	tristate "ARM MHUv2 Mailbox"
 | 
						|
	depends on ARM_AMBA
 | 
						|
	help
 | 
						|
	  Say Y here if you want to build the ARM MHUv2 controller driver,
 | 
						|
	  which provides unidirectional mailboxes between processing elements.
 | 
						|
 | 
						|
config IMX_MBOX
 | 
						|
	tristate "i.MX Mailbox"
 | 
						|
	depends on ARCH_MXC || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Mailbox implementation for i.MX Messaging Unit (MU).
 | 
						|
 | 
						|
config PLATFORM_MHU
 | 
						|
	tristate "Platform MHU Mailbox"
 | 
						|
	depends on OF
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	help
 | 
						|
	  Say Y here if you want to build a platform specific variant MHU
 | 
						|
	  controller driver.
 | 
						|
	  The controller has a maximum of 3 mailbox channels, the last of
 | 
						|
	  which can be used in Secure mode only.
 | 
						|
 | 
						|
config PL320_MBOX
 | 
						|
	bool "ARM PL320 Mailbox"
 | 
						|
	depends on ARM_AMBA
 | 
						|
	help
 | 
						|
	  An implementation of the ARM PL320 Interprocessor Communication
 | 
						|
	  Mailbox (IPCM), tailored for the Calxeda Highbank. It is used to
 | 
						|
	  send short messages between Highbank's A9 cores and the EnergyCore
 | 
						|
	  Management Engine, primarily for cpufreq. Say Y here if you want
 | 
						|
	  to use the PL320 IPCM support.
 | 
						|
 | 
						|
config ARMADA_37XX_RWTM_MBOX
 | 
						|
	tristate "Armada 37xx rWTM BIU Mailbox"
 | 
						|
	depends on ARCH_MVEBU || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	help
 | 
						|
	  Mailbox implementation for communication with the the firmware
 | 
						|
	  running on the Cortex-M3 rWTM secure processor of the Armada 37xx
 | 
						|
	  SOC. Say Y here if you are building for such a device (for example
 | 
						|
	  the Turris Mox router).
 | 
						|
 | 
						|
config OMAP2PLUS_MBOX
 | 
						|
	tristate "OMAP2+ Mailbox framework support"
 | 
						|
	depends on ARCH_OMAP2PLUS || ARCH_K3
 | 
						|
	help
 | 
						|
	  Mailbox implementation for OMAP family chips with hardware for
 | 
						|
	  interprocessor communication involving DSP, IVA1.0 and IVA2 in
 | 
						|
	  OMAP2/3; or IPU, IVA HD and DSP in OMAP4/5. Say Y here if you
 | 
						|
	  want to use OMAP2+ Mailbox framework support.
 | 
						|
 | 
						|
config OMAP_MBOX_KFIFO_SIZE
 | 
						|
	int "Mailbox kfifo default buffer size (bytes)"
 | 
						|
	depends on OMAP2PLUS_MBOX
 | 
						|
	default 256
 | 
						|
	help
 | 
						|
	  Specify the default size of mailbox's kfifo buffers (bytes).
 | 
						|
	  This can also be changed at runtime (via the mbox_kfifo_size
 | 
						|
	  module parameter).
 | 
						|
 | 
						|
config ROCKCHIP_MBOX
 | 
						|
	tristate "Rockchip Soc Integrated Mailbox Support"
 | 
						|
	depends on ARCH_ROCKCHIP || COMPILE_TEST
 | 
						|
	select MAILBOX_POLL_PERIOD_US if NO_GKI
 | 
						|
	help
 | 
						|
	  This driver provides support for inter-processor communication
 | 
						|
	  between CPU cores and MCU processor on Some Rockchip SOCs.
 | 
						|
	  Please check it that the Soc you use have Mailbox hardware.
 | 
						|
	  Say Y here if you want to use the Rockchip Mailbox support.
 | 
						|
 | 
						|
config ROCKCHIP_MBOX_DEMO
 | 
						|
	tristate "Rockchip MBOX Demo"
 | 
						|
	depends on ROCKCHIP_MBOX
 | 
						|
	help
 | 
						|
	  Say y here to enable Rockchip MBOX Demo.
 | 
						|
 | 
						|
config PCC
 | 
						|
	bool "Platform Communication Channel Driver"
 | 
						|
	depends on ACPI
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  ACPI 5.0+ spec defines a generic mode of communication
 | 
						|
	  between the OS and a platform such as the BMC. This medium
 | 
						|
	  (PCC) is typically used by CPPC (ACPI CPU Performance management),
 | 
						|
	  RAS (ACPI reliability protocol) and MPST (ACPI Memory power
 | 
						|
	  states). Select this driver if your platform implements the
 | 
						|
	  PCC clients mentioned above.
 | 
						|
 | 
						|
config ALTERA_MBOX
 | 
						|
	tristate "Altera Mailbox"
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	help
 | 
						|
	  An implementation of the Altera Mailbox soft core. It is used
 | 
						|
	  to send message between processors. Say Y here if you want to use the
 | 
						|
	  Altera mailbox support.
 | 
						|
 | 
						|
config BCM2835_MBOX
 | 
						|
	tristate "BCM2835 Mailbox"
 | 
						|
	depends on ARCH_BCM2835
 | 
						|
	help
 | 
						|
	  An implementation of the BCM2385 Mailbox.  It is used to invoke
 | 
						|
	  the services of the Videocore. Say Y here if you want to use the
 | 
						|
	  BCM2835 Mailbox.
 | 
						|
 | 
						|
config STI_MBOX
 | 
						|
	tristate "STI Mailbox framework support"
 | 
						|
	depends on ARCH_STI && OF
 | 
						|
	help
 | 
						|
	  Mailbox implementation for STMicroelectonics family chips with
 | 
						|
	  hardware for interprocessor communication.
 | 
						|
 | 
						|
config TI_MESSAGE_MANAGER
 | 
						|
	tristate "Texas Instruments Message Manager Driver"
 | 
						|
	depends on ARCH_KEYSTONE || ARCH_K3
 | 
						|
	help
 | 
						|
	  An implementation of Message Manager slave driver for Keystone
 | 
						|
	  and K3 architecture SoCs from Texas Instruments. Message Manager
 | 
						|
	  is a communication entity found on few of Texas Instrument's keystone
 | 
						|
	  and K3 architecture SoCs. These may be used for communication between
 | 
						|
	  multiple processors within the SoC. Select this driver if your
 | 
						|
	  platform has support for the hardware block.
 | 
						|
 | 
						|
config HI3660_MBOX
 | 
						|
	tristate "Hi3660 Mailbox" if EXPERT
 | 
						|
	depends on (ARCH_HISI || COMPILE_TEST)
 | 
						|
	depends on OF
 | 
						|
	default ARCH_HISI
 | 
						|
	help
 | 
						|
	  An implementation of the hi3660 mailbox. It is used to send message
 | 
						|
	  between application processors and other processors/MCU/DSP. Select
 | 
						|
	  Y here if you want to use Hi3660 mailbox controller.
 | 
						|
 | 
						|
config HI6220_MBOX
 | 
						|
	tristate "Hi6220 Mailbox" if EXPERT
 | 
						|
	depends on (ARCH_HISI || COMPILE_TEST)
 | 
						|
	depends on OF
 | 
						|
	default ARCH_HISI
 | 
						|
	help
 | 
						|
	  An implementation of the hi6220 mailbox. It is used to send message
 | 
						|
	  between application processors and MCU. Say Y here if you want to
 | 
						|
	  build Hi6220 mailbox controller driver.
 | 
						|
 | 
						|
config MAILBOX_TEST
 | 
						|
	tristate "Mailbox Test Client"
 | 
						|
	depends on OF
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	help
 | 
						|
	  Test client to help with testing new Controller driver
 | 
						|
	  implementations.
 | 
						|
 | 
						|
config POLARFIRE_SOC_MAILBOX
 | 
						|
	tristate "PolarFire SoC (MPFS) Mailbox"
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  This driver adds support for the PolarFire SoC (MPFS) mailbox controller.
 | 
						|
 | 
						|
	  To compile this driver as a module, choose M here. the
 | 
						|
	  module will be called mailbox-mpfs.
 | 
						|
 | 
						|
	  If unsure, say N.
 | 
						|
 | 
						|
config QCOM_APCS_IPC
 | 
						|
	tristate "Qualcomm APCS IPC driver"
 | 
						|
	depends on ARCH_QCOM || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Say y here to enable support for the APCS IPC mailbox driver,
 | 
						|
	  providing an interface for invoking the inter-process communication
 | 
						|
	  signals from the application processor to other masters.
 | 
						|
 | 
						|
config TEGRA_HSP_MBOX
 | 
						|
	bool "Tegra HSP (Hardware Synchronization Primitives) Driver"
 | 
						|
	depends on ARCH_TEGRA
 | 
						|
	help
 | 
						|
	  The Tegra HSP driver is used for the interprocessor communication
 | 
						|
	  between different remote processors and host processors on Tegra186
 | 
						|
	  and later SoCs. Say Y here if you want to have this support.
 | 
						|
	  If unsure say N.
 | 
						|
 | 
						|
config XGENE_SLIMPRO_MBOX
 | 
						|
	tristate "APM SoC X-Gene SLIMpro Mailbox Controller"
 | 
						|
	depends on ARCH_XGENE
 | 
						|
	help
 | 
						|
	  An implementation of the APM X-Gene Interprocessor Communication
 | 
						|
	  Mailbox (IPCM) between the ARM 64-bit cores and SLIMpro controller.
 | 
						|
	  It is used to send short messages between ARM64-bit cores and
 | 
						|
	  the SLIMpro Management Engine, primarily for PM. Say Y here if you
 | 
						|
	  want to use the APM X-Gene SLIMpro IPCM support.
 | 
						|
 | 
						|
config BCM_PDC_MBOX
 | 
						|
	tristate "Broadcom FlexSparx DMA Mailbox"
 | 
						|
	depends on ARCH_BCM_IPROC || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Mailbox implementation for the Broadcom FlexSparx DMA ring manager,
 | 
						|
	  which provides access to various offload engines on Broadcom
 | 
						|
	  SoCs, including FA2/FA+ on Northstar Plus and PDC on Northstar 2.
 | 
						|
 | 
						|
config BCM_FLEXRM_MBOX
 | 
						|
	tristate "Broadcom FlexRM Mailbox"
 | 
						|
	depends on ARM64
 | 
						|
	depends on ARCH_BCM_IPROC || COMPILE_TEST
 | 
						|
	select GENERIC_MSI_IRQ_DOMAIN
 | 
						|
	default m if ARCH_BCM_IPROC
 | 
						|
	help
 | 
						|
	  Mailbox implementation of the Broadcom FlexRM ring manager,
 | 
						|
	  which provides access to various offload engines on Broadcom
 | 
						|
	  SoCs. Say Y here if you want to use the Broadcom FlexRM.
 | 
						|
 | 
						|
config STM32_IPCC
 | 
						|
	tristate "STM32 IPCC Mailbox"
 | 
						|
	depends on MACH_STM32MP157 || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Mailbox implementation for STMicroelectonics STM32 family chips
 | 
						|
	  with hardware for Inter-Processor Communication Controller (IPCC)
 | 
						|
	  between processors. Say Y here if you want to have this support.
 | 
						|
 | 
						|
config MTK_ADSP_MBOX
 | 
						|
	tristate "MediaTek ADSP Mailbox Controller"
 | 
						|
	depends on ARCH_MEDIATEK || COMPILE_TEST
 | 
						|
	help
 | 
						|
          Say yes here to add support for "MediaTek ADSP Mailbox Controller.
 | 
						|
          This mailbox driver is used to send notification or short message
 | 
						|
          between processors with ADSP. It will place the message to share
 | 
						|
	  buffer and will access the ipc control.
 | 
						|
 | 
						|
config MTK_CMDQ_MBOX
 | 
						|
	tristate "MediaTek CMDQ Mailbox Support"
 | 
						|
	depends on ARCH_MEDIATEK || COMPILE_TEST
 | 
						|
	select MTK_INFRACFG
 | 
						|
	help
 | 
						|
	  Say yes here to add support for the MediaTek Command Queue (CMDQ)
 | 
						|
	  mailbox driver. The CMDQ is used to help read/write registers with
 | 
						|
	  critical time limitation, such as updating display configuration
 | 
						|
	  during the vblank.
 | 
						|
 | 
						|
config ZYNQMP_IPI_MBOX
 | 
						|
	bool "Xilinx ZynqMP IPI Mailbox"
 | 
						|
	depends on ARCH_ZYNQMP && OF
 | 
						|
	help
 | 
						|
	  Say yes here to add support for Xilinx IPI mailbox driver.
 | 
						|
	  This mailbox driver is used to send notification or short message
 | 
						|
	  between processors with Xilinx ZynqMP IPI. It will place the
 | 
						|
	  message to the IPI buffer and will access the IPI control
 | 
						|
	  registers to kick the other processor or enquire status.
 | 
						|
 | 
						|
config SUN6I_MSGBOX
 | 
						|
	tristate "Allwinner sun6i/sun8i/sun9i/sun50i Message Box"
 | 
						|
	depends on ARCH_SUNXI || COMPILE_TEST
 | 
						|
	default ARCH_SUNXI
 | 
						|
	help
 | 
						|
	  Mailbox implementation for the hardware message box present in
 | 
						|
	  various Allwinner SoCs. This mailbox is used for communication
 | 
						|
	  between the application CPUs and the power management coprocessor.
 | 
						|
 | 
						|
config SPRD_MBOX
 | 
						|
	tristate "Spreadtrum Mailbox"
 | 
						|
	depends on ARCH_SPRD || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Mailbox driver implementation for the Spreadtrum platform. It is used
 | 
						|
	  to send message between application processors and MCU. Say Y here if
 | 
						|
	  you want to build the Spreatrum mailbox controller driver.
 | 
						|
 | 
						|
config QCOM_IPCC
 | 
						|
	tristate "Qualcomm Technologies, Inc. IPCC driver"
 | 
						|
	depends on ARCH_QCOM || COMPILE_TEST
 | 
						|
	help
 | 
						|
	  Qualcomm Technologies, Inc. Inter-Processor Communication Controller
 | 
						|
	  (IPCC) driver for MSM devices. The driver provides mailbox support for
 | 
						|
	  sending interrupts to the clients. On the other hand, the driver also
 | 
						|
	  acts as an interrupt controller for receiving interrupts from clients.
 | 
						|
	  Say Y here if you want to build this driver.
 | 
						|
 | 
						|
endif
 |