1menu "Mailbox Controller Support"
2
3config DM_MAILBOX
4	bool "Enable mailbox controllers using Driver Model"
5	depends on DM && OF_CONTROL
6	help
7	  Enable support for the mailbox driver class. Mailboxes provide the
8	  ability to transfer small messages and/or notifications from one
9	  CPU to another CPU, or sometimes to dedicated HW modules. They form
10	  the basis of a variety of inter-process/inter-CPU communication
11	  protocols.
12
13config APPLE_MBOX
14	bool "Enable Apple IOP controller support"
15	depends on DM_MAILBOX && ARCH_APPLE
16	default y
17	help
18	  Enable support for the mailboxes that provide a comminucation
19	  channel with Apple IOP controllers integrated on Apple SoCs.
20	  These IOP controllers are used to implement various functions
21	  such as the System Management Controller (SMC) and NVMe and this
22	  driver is required to get that functionality up and running.
23
24config IMX_MU_MBOX
25	bool "Enable i.MX MU MBOX support"
26	depends on DM_MAILBOX
27	help
28	  Enable support for i.MX Messaging Unit for communication with other
29	  processors on the SoC using mailbox interface
30
31config MPFS_MBOX
32	bool "Enable MPFS system controller support"
33	depends on DM_MAILBOX && ARCH_RV64I
34	help
35	  Enable support for the mailboxes that provide a communication
36	  channel with the system controller integrated on PolarFire SoC.
37
38config SANDBOX_MBOX
39	bool "Enable the sandbox mailbox test driver"
40	depends on DM_MAILBOX && SANDBOX
41	help
42	  Enable support for a test mailbox implementation, which simply echos
43	  back a modified version of any message that is sent.
44
45config TEGRA_HSP
46	bool "Enable Tegra HSP controller support"
47	depends on DM_MAILBOX && ARCH_TEGRA
48	help
49	  This enables support for the NVIDIA Tegra HSP Hw module, which
50	  implements doorbells, mailboxes, semaphores, and shared interrupts.
51
52config STM32_IPCC
53	bool "Enable STM32 IPCC controller support"
54	depends on DM_MAILBOX && ARCH_STM32MP
55	help
56	  This enables support for the STM32MP IPCC Hw module, which
57	  implements doorbells between 2 processors.
58
59config K3_SEC_PROXY
60	bool "Texas Instruments K3 Secure Proxy Driver"
61	depends on DM_MAILBOX && ARCH_K3
62	help
63	  An implementation of Secure proxy slave driver for K3 SoCs from
64	  Texas Instruments. Secure proxy is a communication entity mainly
65	  used for communication between multiple processors with the SoC.
66	  Select this driver if your platform has support for this hardware
67	  block.
68
69config ZYNQMP_IPI
70	bool "Xilinx ZynqMP IPI controller support"
71	depends on DM_MAILBOX && (ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET || ARCH_VERSAL2)
72	help
73	  This enables support for the Xilinx ZynqMP Inter Processor Interrupt
74	  communication controller.
75endmenu
76