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