xref: /linux/drivers/bus/Kconfig (revision a875e0e5a2a307b4c35127f225d0b0b4be2bc75e)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Bus Devices
4#
5
6menu "Bus devices"
7
8config ARM_CCI
9	bool
10
11config ARM_CCI400_COMMON
12	bool
13	select ARM_CCI
14
15config ARM_CCI400_PORT_CTRL
16	bool
17	depends on ARM && OF && CPU_V7
18	select ARM_CCI400_COMMON
19	help
20	  Low level power management driver for CCI400 cache coherent
21	  interconnect for ARM platforms.
22
23config ARM_INTEGRATOR_LM
24	bool "ARM Integrator Logic Module bus"
25	depends on HAS_IOMEM
26	depends on ARCH_INTEGRATOR || COMPILE_TEST
27	default ARCH_INTEGRATOR
28	help
29	  Say y here to enable support for the ARM Logic Module bus
30	  found on the ARM Integrator AP (Application Platform)
31
32config BRCMSTB_GISB_ARB
33	bool "Broadcom STB GISB bus arbiter"
34	depends on ARM || ARM64 || MIPS
35	default ARCH_BRCMSTB || BMIPS_GENERIC
36	help
37	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
38	  arbiter. This driver provides timeout and target abort error handling
39	  and internal bus master decoding.
40
41config MOXTET
42	tristate "CZ.NIC Turris Mox module configuration bus"
43	depends on SPI_MASTER && OF
44	help
45	  Say yes here to add support for the module configuration bus found
46	  on CZ.NIC's Turris Mox. This is needed for the ability to discover
47	  the order in which the modules are connected and to get/set some of
48	  their settings. For example the GPIOs on Mox SFP module are
49	  configured through this bus.
50
51config HISILICON_LPC
52	bool "Support for ISA I/O space on HiSilicon Hip06/7"
53	depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC && !C6X)
54	depends on HAS_IOMEM
55	select INDIRECT_PIO if ARM64
56	help
57	  Driver to enable I/O access to devices attached to the Low Pin
58	  Count bus on the HiSilicon Hip06/7 SoC.
59
60config IMX_WEIM
61	bool "Freescale EIM DRIVER"
62	depends on ARCH_MXC
63	help
64	  Driver for i.MX WEIM controller.
65	  The WEIM(Wireless External Interface Module) works like a bus.
66	  You can attach many different devices on it, such as NOR, onenand.
67
68config MIPS_CDMM
69	bool "MIPS Common Device Memory Map (CDMM) Driver"
70	depends on CPU_MIPSR2
71	help
72	  Driver needed for the MIPS Common Device Memory Map bus in MIPS
73	  cores. This bus is for per-CPU tightly coupled devices such as the
74	  Fast Debug Channel (FDC).
75
76	  For this to work, either your bootloader needs to enable the CDMM
77	  region at an unused physical address on the boot CPU, or else your
78	  platform code needs to implement mips_cdmm_phys_base() (see
79	  asm/cdmm.h).
80
81config MVEBU_MBUS
82	bool
83	depends on PLAT_ORION
84	help
85	  Driver needed for the MBus configuration on Marvell EBU SoCs
86	  (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
87
88config OMAP_INTERCONNECT
89	tristate "OMAP INTERCONNECT DRIVER"
90	depends on ARCH_OMAP2PLUS
91
92	help
93	  Driver to enable OMAP interconnect error handling driver.
94
95config OMAP_OCP2SCP
96	tristate "OMAP OCP2SCP DRIVER"
97	depends on ARCH_OMAP2PLUS
98	help
99	  Driver to enable ocp2scp module which transforms ocp interface
100	  protocol to scp protocol. In OMAP4, USB PHY is connected via
101	  OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
102	  OCP2SCP.
103
104config QCOM_EBI2
105	bool "Qualcomm External Bus Interface 2 (EBI2)"
106	depends on HAS_IOMEM
107	depends on ARCH_QCOM || COMPILE_TEST
108	default ARCH_QCOM
109	help
110	  Say y here to enable support for the Qualcomm External Bus
111	  Interface 2, which can be used to connect things like NAND Flash,
112	  SRAM, ethernet adapters, FPGAs and LCD displays.
113
114config SIMPLE_PM_BUS
115	tristate "Simple Power-Managed Bus Driver"
116	depends on OF && PM
117	help
118	  Driver for transparent busses that don't need a real driver, but
119	  where the bus controller is part of a PM domain, or under the control
120	  of a functional clock, and thus relies on runtime PM for managing
121	  this PM domain and/or clock.
122	  An example of such a bus controller is the Renesas Bus State
123	  Controller (BSC, sometimes called "LBSC within Bus Bridge", or
124	  "External Bus Interface") as found on several Renesas ARM SoCs.
125
126config SUN50I_DE2_BUS
127	bool "Allwinner A64 DE2 Bus Driver"
128	  default ARM64
129	  depends on ARCH_SUNXI
130	  select SUNXI_SRAM
131	  help
132	  Say y here to enable support for Allwinner A64 DE2 bus driver. It's
133	  mostly transparent, but a SRAM region needs to be claimed in the SRAM
134	  controller to make the all blocks in the DE2 part accessible.
135
136config SUNXI_RSB
137	tristate "Allwinner sunXi Reduced Serial Bus Driver"
138	  default MACH_SUN8I || MACH_SUN9I || ARM64
139	  depends on ARCH_SUNXI
140	  select REGMAP
141	  help
142	  Say y here to enable support for Allwinner's Reduced Serial Bus
143	  (RSB) support. This controller is responsible for communicating
144	  with various RSB based devices, such as AXP223, AXP8XX PMICs,
145	  and AC100/AC200 ICs.
146
147config TEGRA_ACONNECT
148	tristate "Tegra ACONNECT Bus Driver"
149	depends on ARCH_TEGRA_210_SOC
150	depends on OF && PM
151	help
152	  Driver for the Tegra ACONNECT bus which is used to interface with
153	  the devices inside the Audio Processing Engine (APE) for Tegra210.
154
155config TEGRA_GMI
156	tristate "Tegra Generic Memory Interface bus driver"
157	depends on ARCH_TEGRA
158	help
159	  Driver for the Tegra Generic Memory Interface bus which can be used
160	  to attach devices such as NOR, UART, FPGA and more.
161
162config  TI_PWMSS
163	bool
164	default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP)
165	help
166	  PWM Subsystem driver support for AM33xx SOC.
167
168	  PWM submodules require PWM config space access from submodule
169	  drivers and require common parent driver support.
170
171config TI_SYSC
172	bool "TI sysc interconnect target module driver"
173	depends on ARCH_OMAP2PLUS
174	help
175	  Generic driver for Texas Instruments interconnect target module
176	  found on many TI SoCs.
177
178config TS_NBUS
179	tristate "Technologic Systems NBUS Driver"
180	depends on SOC_IMX28
181	depends on OF_GPIO && PWM
182	help
183	  Driver for the Technologic Systems NBUS which is used to interface
184	  with the peripherals in the FPGA of the TS-4600 SoM.
185
186config UNIPHIER_SYSTEM_BUS
187	tristate "UniPhier System Bus driver"
188	depends on ARCH_UNIPHIER && OF
189	default y
190	help
191	  Support for UniPhier System Bus, a simple external bus.  This is
192	  needed to use on-board devices connected to UniPhier SoCs.
193
194config VEXPRESS_CONFIG
195	tristate "Versatile Express configuration bus"
196	default y if ARCH_VEXPRESS
197	depends on ARM || ARM64
198	depends on OF
199	select REGMAP
200	help
201	  Platform configuration infrastructure for the ARM Ltd.
202	  Versatile Express.
203
204config DA8XX_MSTPRI
205	bool "TI da8xx master peripheral priority driver"
206	depends on ARCH_DAVINCI_DA8XX
207	help
208	  Driver for Texas Instruments da8xx master peripheral priority
209	  configuration. Allows to adjust the priorities of all master
210	  peripherals.
211
212source "drivers/bus/fsl-mc/Kconfig"
213source "drivers/bus/mhi/Kconfig"
214
215endmenu
216