xref: /linux/drivers/mailbox/Kconfig (revision 8f82121dcf32b168412c2a5eb33a493f81f436e8)
130058677SRob Herringmenuconfig MAILBOX
230058677SRob Herring	bool "Mailbox Hardware Support"
330058677SRob Herring	help
430058677SRob Herring	  Mailbox is a framework to control hardware communication between
530058677SRob Herring	  on-chip processors through queued messages and interrupt driven
630058677SRob Herring	  signals. Say Y if your platform supports hardware mailboxes.
730058677SRob Herring
830058677SRob Herringif MAILBOX
9ee23d66aSJassi Brar
10ee23d66aSJassi Brarconfig ARM_MHU
11ee23d66aSJassi Brar	tristate "ARM MHU Mailbox"
12ee23d66aSJassi Brar	depends on ARM_AMBA
13ee23d66aSJassi Brar	help
14ee23d66aSJassi Brar	  Say Y here if you want to build the ARM MHU controller driver.
15ee23d66aSJassi Brar	  The controller has 3 mailbox channels, the last of which can be
16ee23d66aSJassi Brar	  used in Secure mode only.
17ee23d66aSJassi Brar
18ad3a212cSNeil Armstrongconfig PLATFORM_MHU
19ad3a212cSNeil Armstrong	tristate "Platform MHU Mailbox"
20ad3a212cSNeil Armstrong	depends on OF
21ad3a212cSNeil Armstrong	depends on HAS_IOMEM
22ad3a212cSNeil Armstrong	help
23ad3a212cSNeil Armstrong	  Say Y here if you want to build a platform specific variant MHU
24ad3a212cSNeil Armstrong	  controller driver.
25ad3a212cSNeil Armstrong	  The controller has a maximum of 3 mailbox channels, the last of
26ad3a212cSNeil Armstrong	  which can be used in Secure mode only.
27ad3a212cSNeil Armstrong
2830058677SRob Herringconfig PL320_MBOX
2930058677SRob Herring	bool "ARM PL320 Mailbox"
3030058677SRob Herring	depends on ARM_AMBA
3130058677SRob Herring	help
3230058677SRob Herring	  An implementation of the ARM PL320 Interprocessor Communication
3330058677SRob Herring	  Mailbox (IPCM), tailored for the Calxeda Highbank. It is used to
3430058677SRob Herring	  send short messages between Highbank's A9 cores and the EnergyCore
3530058677SRob Herring	  Management Engine, primarily for cpufreq. Say Y here if you want
3630058677SRob Herring	  to use the PL320 IPCM support.
3730058677SRob Herring
38c869c75cSSuman Annaconfig OMAP2PLUS_MBOX
39c869c75cSSuman Anna	tristate "OMAP2+ Mailbox framework support"
40c869c75cSSuman Anna	depends on ARCH_OMAP2PLUS
41c869c75cSSuman Anna	help
42c869c75cSSuman Anna	  Mailbox implementation for OMAP family chips with hardware for
43c869c75cSSuman Anna	  interprocessor communication involving DSP, IVA1.0 and IVA2 in
44c869c75cSSuman Anna	  OMAP2/3; or IPU, IVA HD and DSP in OMAP4/5. Say Y here if you
45c869c75cSSuman Anna	  want to use OMAP2+ Mailbox framework support.
46c869c75cSSuman Anna
47c869c75cSSuman Annaconfig OMAP_MBOX_KFIFO_SIZE
48c869c75cSSuman Anna	int "Mailbox kfifo default buffer size (bytes)"
4979859094SSuman Anna	depends on OMAP2PLUS_MBOX
50c869c75cSSuman Anna	default 256
51c869c75cSSuman Anna	help
52c869c75cSSuman Anna	  Specify the default size of mailbox's kfifo buffers (bytes).
53c869c75cSSuman Anna	  This can also be changed at runtime (via the mbox_kfifo_size
54c869c75cSSuman Anna	  module parameter).
5586c22f8cSAshwin Chaugule
56f70ed3b5SCaesar Wangconfig ROCKCHIP_MBOX
57f70ed3b5SCaesar Wang	bool "Rockchip Soc Intergrated Mailbox Support"
58f70ed3b5SCaesar Wang	depends on ARCH_ROCKCHIP || COMPILE_TEST
59f70ed3b5SCaesar Wang	help
60f70ed3b5SCaesar Wang	  This driver provides support for inter-processor communication
61f70ed3b5SCaesar Wang	  between CPU cores and MCU processor on Some Rockchip SOCs.
62f70ed3b5SCaesar Wang	  Please check it that the Soc you use have Mailbox hardware.
63f70ed3b5SCaesar Wang	  Say Y here if you want to use the Rockchip Mailbox support.
64f70ed3b5SCaesar Wang
6586c22f8cSAshwin Chauguleconfig PCC
6686c22f8cSAshwin Chaugule	bool "Platform Communication Channel Driver"
6786c22f8cSAshwin Chaugule	depends on ACPI
68b6fc6072SAshwin Chaugule	default n
6986c22f8cSAshwin Chaugule	help
7086c22f8cSAshwin Chaugule	  ACPI 5.0+ spec defines a generic mode of communication
7186c22f8cSAshwin Chaugule	  between the OS and a platform such as the BMC. This medium
7286c22f8cSAshwin Chaugule	  (PCC) is typically used by CPPC (ACPI CPU Performance management),
7386c22f8cSAshwin Chaugule	  RAS (ACPI reliability protocol) and MPST (ACPI Memory power
7486c22f8cSAshwin Chaugule	  states). Select this driver if your platform implements the
7586c22f8cSAshwin Chaugule	  PCC clients mentioned above.
7686c22f8cSAshwin Chaugule
77f62092f6SLey Foon Tanconfig ALTERA_MBOX
78f62092f6SLey Foon Tan	tristate "Altera Mailbox"
7959dd3f02SRichard Weinberger	depends on HAS_IOMEM
80f62092f6SLey Foon Tan	help
81f62092f6SLey Foon Tan	  An implementation of the Altera Mailbox soft core. It is used
82f62092f6SLey Foon Tan	  to send message between processors. Say Y here if you want to use the
83f62092f6SLey Foon Tan	  Altera mailbox support.
840bae6af6SLubomir Rintel
850bae6af6SLubomir Rintelconfig BCM2835_MBOX
860bae6af6SLubomir Rintel	tristate "BCM2835 Mailbox"
870bae6af6SLubomir Rintel	depends on ARCH_BCM2835
880bae6af6SLubomir Rintel	help
890bae6af6SLubomir Rintel	  An implementation of the BCM2385 Mailbox.  It is used to invoke
900bae6af6SLubomir Rintel	  the services of the Videocore. Say Y here if you want to use the
910bae6af6SLubomir Rintel	  BCM2835 Mailbox.
920bae6af6SLubomir Rintel
939ef4546cSLee Jonesconfig STI_MBOX
949ef4546cSLee Jones	tristate "STI Mailbox framework support"
959ef4546cSLee Jones	depends on ARCH_STI && OF
969ef4546cSLee Jones	help
979ef4546cSLee Jones	  Mailbox implementation for STMicroelectonics family chips with
989ef4546cSLee Jones	  hardware for interprocessor communication.
999ef4546cSLee Jones
100aace66b1SNishanth Menonconfig TI_MESSAGE_MANAGER
101aace66b1SNishanth Menon	tristate "Texas Instruments Message Manager Driver"
102aace66b1SNishanth Menon	depends on ARCH_KEYSTONE
103aace66b1SNishanth Menon	help
104aace66b1SNishanth Menon	  An implementation of Message Manager slave driver for Keystone
105aace66b1SNishanth Menon	  architecture SoCs from Texas Instruments. Message Manager is a
106aace66b1SNishanth Menon	  communication entity found on few of Texas Instrument's keystone
107aace66b1SNishanth Menon	  architecture SoCs. These may be used for communication between
108aace66b1SNishanth Menon	  multiple processors within the SoC. Select this driver if your
109aace66b1SNishanth Menon	  platform has support for the hardware block.
110aace66b1SNishanth Menon
1119c384189SLeo Yanconfig HI6220_MBOX
1129c384189SLeo Yan	tristate "Hi6220 Mailbox"
1139c384189SLeo Yan	depends on ARCH_HISI
1149c384189SLeo Yan	help
1159c384189SLeo Yan	  An implementation of the hi6220 mailbox. It is used to send message
1169c384189SLeo Yan	  between application processors and MCU. Say Y here if you want to
1179c384189SLeo Yan	  build Hi6220 mailbox controller driver.
1189c384189SLeo Yan
1198ea4484dSLee Jonesconfig MAILBOX_TEST
1208ea4484dSLee Jones	tristate "Mailbox Test Client"
1218ea4484dSLee Jones	depends on OF
12265d3b04aSRichard Weinberger	depends on HAS_IOMEM
1238ea4484dSLee Jones	help
1248ea4484dSLee Jones	  Test client to help with testing new Controller driver
1258ea4484dSLee Jones	  implementations.
1268ea4484dSLee Jones
12725bfee16SBjorn Anderssonconfig QCOM_APCS_IPC
12825bfee16SBjorn Andersson	tristate "Qualcomm APCS IPC driver"
12925bfee16SBjorn Andersson	depends on ARCH_QCOM || COMPILE_TEST
13025bfee16SBjorn Andersson	help
13125bfee16SBjorn Andersson	  Say y here to enable support for the APCS IPC mailbox driver,
13225bfee16SBjorn Andersson	  providing an interface for invoking the inter-process communication
13325bfee16SBjorn Andersson	  signals from the application processor to other masters.
13425bfee16SBjorn Andersson
1350fe88461SThierry Redingconfig TEGRA_HSP_MBOX
1360fe88461SThierry Reding	bool "Tegra HSP (Hardware Synchronization Primitives) Driver"
1370fe88461SThierry Reding	depends on ARCH_TEGRA_186_SOC
1380fe88461SThierry Reding	help
1390fe88461SThierry Reding	  The Tegra HSP driver is used for the interprocessor communication
1400fe88461SThierry Reding	  between different remote processors and host processors on Tegra186
1410fe88461SThierry Reding	  and later SoCs. Say Y here if you want to have this support.
1420fe88461SThierry Reding	  If unsure say N.
1430fe88461SThierry Reding
144f700e84fSDuc Dangconfig XGENE_SLIMPRO_MBOX
145f700e84fSDuc Dang	tristate "APM SoC X-Gene SLIMpro Mailbox Controller"
146f700e84fSDuc Dang	depends on ARCH_XGENE
147f700e84fSDuc Dang	help
148f700e84fSDuc Dang	  An implementation of the APM X-Gene Interprocessor Communication
149f700e84fSDuc Dang	  Mailbox (IPCM) between the ARM 64-bit cores and SLIMpro controller.
150f700e84fSDuc Dang	  It is used to send short messages between ARM64-bit cores and
151f700e84fSDuc Dang	  the SLIMpro Management Engine, primarily for PM. Say Y here if you
152f700e84fSDuc Dang	  want to use the APM X-Gene SLIMpro IPCM support.
153a24532f8SRob Rice
154a24532f8SRob Riceconfig BCM_PDC_MBOX
155fc2041c5SSteve Lin	tristate "Broadcom FlexSparx DMA Mailbox"
156fc2041c5SSteve Lin	depends on ARCH_BCM_IPROC || COMPILE_TEST
157e0c6fba4SRob Rice	depends on HAS_DMA
158a24532f8SRob Rice	help
159fc2041c5SSteve Lin	  Mailbox implementation for the Broadcom FlexSparx DMA ring manager,
160a24532f8SRob Rice	  which provides access to various offload engines on Broadcom
161fc2041c5SSteve Lin	  SoCs, including FA2/FA+ on Northstar Plus and PDC on Northstar 2.
162dbc049eeSAnup Patel
163dbc049eeSAnup Patelconfig BCM_FLEXRM_MBOX
164dbc049eeSAnup Patel	tristate "Broadcom FlexRM Mailbox"
16573874913SAnup Patel	depends on ARM64
166*8f82121dSScott Branden	depends on ARCH_BCM_IPROC || COMPILE_TEST
167dbc049eeSAnup Patel	depends on HAS_DMA
168dbc049eeSAnup Patel	select GENERIC_MSI_IRQ_DOMAIN
169dbc049eeSAnup Patel	default ARCH_BCM_IPROC
170dbc049eeSAnup Patel	help
171dbc049eeSAnup Patel	  Mailbox implementation of the Broadcom FlexRM ring manager,
172dbc049eeSAnup Patel	  which provides access to various offload engines on Broadcom
173dbc049eeSAnup Patel	  SoCs. Say Y here if you want to use the Broadcom FlexRM.
17430058677SRob Herringendif
175