xref: /linux/drivers/bus/Kconfig (revision 0f46f50845ce75bfaba62df0421084d23bb6a72f)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
226a84b3eSKishon Vijay Abraham I#
326a84b3eSKishon Vijay Abraham I# Bus Devices
426a84b3eSKishon Vijay Abraham I#
526a84b3eSKishon Vijay Abraham I
626a84b3eSKishon Vijay Abraham Imenu "Bus devices"
726a84b3eSKishon Vijay Abraham I
813fbf3c8SGeert Uytterhoevenconfig ARM_CCI
947f36e49SOlof Johansson	bool
1047f36e49SOlof Johansson
1147f36e49SOlof Johanssonconfig ARM_CCI400_COMMON
1247f36e49SOlof Johansson	bool
1347f36e49SOlof Johansson	select ARM_CCI
1447f36e49SOlof Johansson
1547f36e49SOlof Johanssonconfig ARM_CCI400_PORT_CTRL
1647f36e49SOlof Johansson	bool
1747f36e49SOlof Johansson	depends on ARM && OF && CPU_V7
1847f36e49SOlof Johansson	select ARM_CCI400_COMMON
1947f36e49SOlof Johansson	help
2047f36e49SOlof Johansson	  Low level power management driver for CCI400 cache coherent
2147f36e49SOlof Johansson	  interconnect for ARM platforms.
2213fbf3c8SGeert Uytterhoeven
23ccea5e8aSLinus Walleijconfig ARM_INTEGRATOR_LM
24ccea5e8aSLinus Walleij	bool "ARM Integrator Logic Module bus"
25ccea5e8aSLinus Walleij	depends on HAS_IOMEM
26ccea5e8aSLinus Walleij	depends on ARCH_INTEGRATOR || COMPILE_TEST
27ccea5e8aSLinus Walleij	default ARCH_INTEGRATOR
28ccea5e8aSLinus Walleij	help
29ccea5e8aSLinus Walleij	  Say y here to enable support for the ARM Logic Module bus
30ccea5e8aSLinus Walleij	  found on the ARM Integrator AP (Application Platform)
31ccea5e8aSLinus Walleij
3244127b77SFlorian Fainelliconfig BRCMSTB_GISB_ARB
33707a4cdfSFlorian Fainelli	tristate "Broadcom STB GISB bus arbiter"
34112cd2f9SPeter Robinson	depends on ARCH_BRCMSTB || BMIPS_GENERIC
35b0ec633cSFlorian Fainelli	default ARCH_BRCMSTB || BMIPS_GENERIC
3644127b77SFlorian Fainelli	help
3744127b77SFlorian Fainelli	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
3844127b77SFlorian Fainelli	  arbiter. This driver provides timeout and target abort error handling
3944127b77SFlorian Fainelli	  and internal bus master decoding.
4044127b77SFlorian Fainelli
418f93662dSSerge Seminconfig BT1_APB
42dc20e93bSSerge Semin	bool "Baikal-T1 APB-bus driver"
438f93662dSSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
448f93662dSSerge Semin	select REGMAP_MMIO
458f93662dSSerge Semin	help
468f93662dSSerge Semin	  Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs.
478f93662dSSerge Semin	  IO requests are routed to this bus by means of the DW AMBA 3 AXI
488f93662dSSerge Semin	  Interconnect. In case of any APB protocol collisions, slave device
498f93662dSSerge Semin	  not responding on timeout an IRQ is raised with an erroneous address
508f93662dSSerge Semin	  reported to the APB terminator (APB Errors Handler Block). This
518f93662dSSerge Semin	  driver provides the interrupt handler to detect the erroneous
528f93662dSSerge Semin	  address, prints an error message about the address fault, updates an
538f93662dSSerge Semin	  errors counter. The counter and the APB-bus operations timeout can be
548f93662dSSerge Semin	  accessed via corresponding sysfs nodes.
558f93662dSSerge Semin
5663cb7713SSerge Seminconfig BT1_AXI
5722e795b4SSerge Semin	bool "Baikal-T1 AXI-bus driver"
5863cb7713SSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
5963cb7713SSerge Semin	select MFD_SYSCON
6063cb7713SSerge Semin	help
6163cb7713SSerge Semin	  AXI3-bus is the main communication bus connecting all high-speed
6263cb7713SSerge Semin	  peripheral IP-cores with RAM controller and with MIPS P5600 cores on
6363cb7713SSerge Semin	  Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI
6463cb7713SSerge Semin	  Interconnect (so called AXI Main Interconnect) routing IO requests
6563cb7713SSerge Semin	  from one SoC block to another. This driver provides a way to detect
6663cb7713SSerge Semin	  any bus protocol errors and device not responding situations by
6763cb7713SSerge Semin	  means of an embedded on top of the interconnect errors handler
6863cb7713SSerge Semin	  block (EHB). AXI Interconnect QoS arbitration tuning is currently
6963cb7713SSerge Semin	  unsupported.
7063cb7713SSerge Semin
715bc7f990SMarek Behúnconfig MOXTET
725bc7f990SMarek Behún	tristate "CZ.NIC Turris Mox module configuration bus"
735bc7f990SMarek Behún	depends on SPI_MASTER && OF
745bc7f990SMarek Behún	help
755bc7f990SMarek Behún	  Say yes here to add support for the module configuration bus found
765bc7f990SMarek Behún	  on CZ.NIC's Turris Mox. This is needed for the ability to discover
775bc7f990SMarek Behún	  the order in which the modules are connected and to get/set some of
785bc7f990SMarek Behún	  their settings. For example the GPIOs on Mox SFP module are
795bc7f990SMarek Behún	  configured through this bus.
805bc7f990SMarek Behún
81adf38bb0SZhichang Yuanconfig HISILICON_LPC
82adf38bb0SZhichang Yuan	bool "Support for ISA I/O space on HiSilicon Hip06/7"
83a579fcfaSArnd Bergmann	depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC)
84fcbfe812SNiklas Schnelle	depends on HAS_IOPORT
853e5cd20dSJohn Garry	select INDIRECT_PIO if ARM64
86adf38bb0SZhichang Yuan	help
87adf38bb0SZhichang Yuan	  Driver to enable I/O access to devices attached to the Low Pin
88adf38bb0SZhichang Yuan	  Count bus on the HiSilicon Hip06/7 SoC.
89adf38bb0SZhichang Yuan
90*796cba2dSLaurentiu Mihalceaconfig IMX_AIPSTZ
91*796cba2dSLaurentiu Mihalcea	tristate "Support for IMX Secure AHB to IP Slave bus (AIPSTZ) bridge"
92*796cba2dSLaurentiu Mihalcea	depends on ARCH_MXC
93*796cba2dSLaurentiu Mihalcea	help
94*796cba2dSLaurentiu Mihalcea	  Enable support for IMX AIPSTZ bridge.
95*796cba2dSLaurentiu Mihalcea
9685bf6d4eSHuang Shijieconfig IMX_WEIM
9785bf6d4eSHuang Shijie	bool "Freescale EIM DRIVER"
98ce6697a6SWu Bo	depends on ARCH_MXC || COMPILE_TEST
9985bf6d4eSHuang Shijie	help
1003f98b6baSAlexander Shiyan	  Driver for i.MX WEIM controller.
10185bf6d4eSHuang Shijie	  The WEIM(Wireless External Interface Module) works like a bus.
10285bf6d4eSHuang Shijie	  You can attach many different devices on it, such as NOR, onenand.
10385bf6d4eSHuang Shijie
1041c953bdaSLinus Walleijconfig INTEL_IXP4XX_EB
1051c953bdaSLinus Walleij	bool "Intel IXP4xx expansion bus interface driver"
1061c953bdaSLinus Walleij	depends on HAS_IOMEM
1071c953bdaSLinus Walleij	depends on ARCH_IXP4XX || COMPILE_TEST
1081c953bdaSLinus Walleij	default ARCH_IXP4XX
1091c953bdaSLinus Walleij	select MFD_SYSCON
1101c953bdaSLinus Walleij	help
1111c953bdaSLinus Walleij	  Driver for the Intel IXP4xx expansion bus interface. The driver is
1121c953bdaSLinus Walleij	  needed to set up various chip select configuration parameters before
1131c953bdaSLinus Walleij	  devices on the expansion bus can be discovered.
1141c953bdaSLinus Walleij
1158286ae03SJames Hoganconfig MIPS_CDMM
1168286ae03SJames Hogan	bool "MIPS Common Device Memory Map (CDMM) Driver"
11716274e58SSerge Semin	depends on CPU_MIPSR2 || CPU_MIPSR5
1188286ae03SJames Hogan	help
1198286ae03SJames Hogan	  Driver needed for the MIPS Common Device Memory Map bus in MIPS
1208286ae03SJames Hogan	  cores. This bus is for per-CPU tightly coupled devices such as the
1218286ae03SJames Hogan	  Fast Debug Channel (FDC).
1228286ae03SJames Hogan
1238286ae03SJames Hogan	  For this to work, either your bootloader needs to enable the CDMM
1248286ae03SJames Hogan	  region at an unused physical address on the boot CPU, or else your
1258286ae03SJames Hogan	  platform code needs to implement mips_cdmm_phys_base() (see
1268286ae03SJames Hogan	  asm/cdmm.h).
1278286ae03SJames Hogan
128fddddb52SThomas Petazzoniconfig MVEBU_MBUS
129fddddb52SThomas Petazzoni	bool
130fddddb52SThomas Petazzoni	depends on PLAT_ORION
131fddddb52SThomas Petazzoni	help
132fddddb52SThomas Petazzoni	  Driver needed for the MBus configuration on Marvell EBU SoCs
133fddddb52SThomas Petazzoni	  (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
134fddddb52SThomas Petazzoni
13513fbf3c8SGeert Uytterhoevenconfig OMAP_INTERCONNECT
13613fbf3c8SGeert Uytterhoeven	tristate "OMAP INTERCONNECT DRIVER"
13713fbf3c8SGeert Uytterhoeven	depends on ARCH_OMAP2PLUS
13813fbf3c8SGeert Uytterhoeven
13913fbf3c8SGeert Uytterhoeven	help
14013fbf3c8SGeert Uytterhoeven	  Driver to enable OMAP interconnect error handling driver.
14113fbf3c8SGeert Uytterhoeven
14226a84b3eSKishon Vijay Abraham Iconfig OMAP_OCP2SCP
14326a84b3eSKishon Vijay Abraham I	tristate "OMAP OCP2SCP DRIVER"
144770b6cb4STony Lindgren	depends on ARCH_OMAP2PLUS
14526a84b3eSKishon Vijay Abraham I	help
14626a84b3eSKishon Vijay Abraham I	  Driver to enable ocp2scp module which transforms ocp interface
14726a84b3eSKishon Vijay Abraham I	  protocol to scp protocol. In OMAP4, USB PHY is connected via
14826a84b3eSKishon Vijay Abraham I	  OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
14926a84b3eSKishon Vijay Abraham I	  OCP2SCP.
15026a84b3eSKishon Vijay Abraham I
151335a1275SLinus Walleijconfig QCOM_EBI2
152335a1275SLinus Walleij	bool "Qualcomm External Bus Interface 2 (EBI2)"
153d6db68b2SLinus Walleij	depends on HAS_IOMEM
1545fac7e84SLinus Walleij	depends on ARCH_QCOM || COMPILE_TEST
155c5d8ccfeSLinus Walleij	default ARCH_QCOM
156335a1275SLinus Walleij	help
157335a1275SLinus Walleij	  Say y here to enable support for the Qualcomm External Bus
158335a1275SLinus Walleij	  Interface 2, which can be used to connect things like NAND Flash,
159335a1275SLinus Walleij	  SRAM, ethernet adapters, FPGAs and LCD displays.
160335a1275SLinus Walleij
16197d485edSMichael Srbaconfig QCOM_SSC_BLOCK_BUS
16297d485edSMichael Srba	bool "Qualcomm SSC Block Bus Init Driver"
16397d485edSMichael Srba	  depends on ARCH_QCOM
16497d485edSMichael Srba	  help
16597d485edSMichael Srba	  Say y here to enable support for initializing the bus that connects
16697d485edSMichael Srba	  the SSC block's internal bus to the cNoC (configurantion NoC) on
16797d485edSMichael Srba	  (some) qcom SoCs.
16897d485edSMichael Srba	  The SSC (Snapdragon Sensor Core) block contains a gpio controller,
16997d485edSMichael Srba	  i2c/spi/uart controllers, a hexagon core, and a clock controller
17097d485edSMichael Srba	  which provides clocks for the above.
17197d485edSMichael Srba
1725c9668cfSGatien Chevallierconfig STM32_FIREWALL
1735c9668cfSGatien Chevallier	bool "STM32 Firewall framework"
1745c9668cfSGatien Chevallier	depends on (ARCH_STM32 || COMPILE_TEST) && OF
1755c9668cfSGatien Chevallier	select OF_DYNAMIC
1765c9668cfSGatien Chevallier	help
1775c9668cfSGatien Chevallier	  Say y to enable STM32 firewall framework and its services. Firewall
1785c9668cfSGatien Chevallier	  controllers will be able to register to the framework. Access for
1795c9668cfSGatien Chevallier	  hardware resources linked to a firewall controller can be requested
1805c9668cfSGatien Chevallier	  through this STM32 framework.
1815c9668cfSGatien Chevallier
1828818e865SIcenowy Zhengconfig SUN50I_DE2_BUS
1838818e865SIcenowy Zheng	bool "Allwinner A64 DE2 Bus Driver"
1848818e865SIcenowy Zheng	  default ARM64
1858818e865SIcenowy Zheng	  depends on ARCH_SUNXI
1868818e865SIcenowy Zheng	  select SUNXI_SRAM
1878818e865SIcenowy Zheng	  help
1888818e865SIcenowy Zheng	  Say y here to enable support for Allwinner A64 DE2 bus driver. It's
1898818e865SIcenowy Zheng	  mostly transparent, but a SRAM region needs to be claimed in the SRAM
1908818e865SIcenowy Zheng	  controller to make the all blocks in the DE2 part accessible.
1918818e865SIcenowy Zheng
192d787dcdbSChen-Yu Tsaiconfig SUNXI_RSB
193d787dcdbSChen-Yu Tsai	tristate "Allwinner sunXi Reduced Serial Bus Driver"
194dc1a37b2SJagan Teki	  default MACH_SUN8I || MACH_SUN9I || ARM64
195d787dcdbSChen-Yu Tsai	  depends on ARCH_SUNXI
196d787dcdbSChen-Yu Tsai	  select REGMAP
197d787dcdbSChen-Yu Tsai	  help
198d787dcdbSChen-Yu Tsai	  Say y here to enable support for Allwinner's Reduced Serial Bus
199d787dcdbSChen-Yu Tsai	  (RSB) support. This controller is responsible for communicating
200d787dcdbSChen-Yu Tsai	  with various RSB based devices, such as AXP223, AXP8XX PMICs,
201d787dcdbSChen-Yu Tsai	  and AC100/AC200 ICs.
202d787dcdbSChen-Yu Tsai
20346a88534SJon Hunterconfig TEGRA_ACONNECT
2042d301c07SThierry Reding	tristate "Tegra ACONNECT Bus Driver"
2054acd21a4SPeter Robinson	depends on ARCH_TEGRA
20646a88534SJon Hunter	depends on OF && PM
20746a88534SJon Hunter	help
20846a88534SJon Hunter	  Driver for the Tegra ACONNECT bus which is used to interface with
2094acd21a4SPeter Robinson	  the devices inside the Audio Processing Engine (APE) for
2104acd21a4SPeter Robinson	  Tegra210 and later.
21146a88534SJon Hunter
21240eb4776SMirza Krakconfig TEGRA_GMI
21340eb4776SMirza Krak	tristate "Tegra Generic Memory Interface bus driver"
21440eb4776SMirza Krak	depends on ARCH_TEGRA
21540eb4776SMirza Krak	help
21640eb4776SMirza Krak	  Driver for the Tegra Generic Memory Interface bus which can be used
21740eb4776SMirza Krak	  to attach devices such as NOR, UART, FPGA and more.
21840eb4776SMirza Krak
2197cabf925SDavid Lechnerconfig  TI_PWMSS
2207cabf925SDavid Lechner	bool
221f213729fSDavid Lechner	default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP)
2227cabf925SDavid Lechner	help
2237cabf925SDavid Lechner	  PWM Subsystem driver support for AM33xx SOC.
2247cabf925SDavid Lechner
2257cabf925SDavid Lechner	  PWM submodules require PWM config space access from submodule
2267cabf925SDavid Lechner	  drivers and require common parent driver support.
2277cabf925SDavid Lechner
2280eecc636STony Lindgrenconfig TI_SYSC
2290eecc636STony Lindgren	bool "TI sysc interconnect target module driver"
230063dc062STony Lindgren	depends on ARCH_OMAP2PLUS || ARCH_K3
231063dc062STony Lindgren	default y
2320eecc636STony Lindgren	help
2330eecc636STony Lindgren	  Generic driver for Texas Instruments interconnect target module
2340eecc636STony Lindgren	  found on many TI SoCs.
2350eecc636STony Lindgren
2365b143d2aSSebastien Bourdelinconfig TS_NBUS
2375b143d2aSSebastien Bourdelin	tristate "Technologic Systems NBUS Driver"
2385b143d2aSSebastien Bourdelin	depends on SOC_IMX28
2395b143d2aSSebastien Bourdelin	depends on OF_GPIO && PWM
2405b143d2aSSebastien Bourdelin	help
2415b143d2aSSebastien Bourdelin	  Driver for the Technologic Systems NBUS which is used to interface
2425b143d2aSSebastien Bourdelin	  with the peripherals in the FPGA of the TS-4600 SoM.
2435b143d2aSSebastien Bourdelin
2444b7f48d3SMasahiro Yamadaconfig UNIPHIER_SYSTEM_BUS
245047a555fSMasahiro Yamada	tristate "UniPhier System Bus driver"
2464b7f48d3SMasahiro Yamada	depends on ARCH_UNIPHIER && OF
2474b7f48d3SMasahiro Yamada	default y
2484b7f48d3SMasahiro Yamada	help
2494b7f48d3SMasahiro Yamada	  Support for UniPhier System Bus, a simple external bus.  This is
2504b7f48d3SMasahiro Yamada	  needed to use on-board devices connected to UniPhier SoCs.
2514b7f48d3SMasahiro Yamada
2523b9334acSPawel Mollconfig VEXPRESS_CONFIG
25370e4758aSRob Herring	tristate "Versatile Express configuration bus"
2543b9334acSPawel Moll	default y if ARCH_VEXPRESS
2553b9334acSPawel Moll	depends on ARM || ARM64
256b33cdd28SArnd Bergmann	depends on OF
2573b9334acSPawel Moll	select REGMAP
2583b9334acSPawel Moll	help
2593b9334acSPawel Moll	  Platform configuration infrastructure for the ARM Ltd.
2603b9334acSPawel Moll	  Versatile Express.
2618e7223fcSBartosz Golaszewski
2628e7223fcSBartosz Golaszewskiconfig DA8XX_MSTPRI
2638e7223fcSBartosz Golaszewski	bool "TI da8xx master peripheral priority driver"
2648e7223fcSBartosz Golaszewski	depends on ARCH_DAVINCI_DA8XX
2658e7223fcSBartosz Golaszewski	help
2668e7223fcSBartosz Golaszewski	  Driver for Texas Instruments da8xx master peripheral priority
2678e7223fcSBartosz Golaszewski	  configuration. Allows to adjust the priorities of all master
2688e7223fcSBartosz Golaszewski	  peripherals.
2698e7223fcSBartosz Golaszewski
2706bd067c4SBogdan Purcareatasource "drivers/bus/fsl-mc/Kconfig"
2710cbf2608SManivannan Sadhasivamsource "drivers/bus/mhi/Kconfig"
2726bd067c4SBogdan Purcareata
27326a84b3eSKishon Vijay Abraham Iendmenu
274