xref: /linux/drivers/bus/Kconfig (revision dc20e93b935e43e9315128626f20962039fda7d9)
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
2344127b77SFlorian Fainelliconfig BRCMSTB_GISB_ARB
2444127b77SFlorian Fainelli	bool "Broadcom STB GISB bus arbiter"
258c7aa17aSDoug Berger	depends on ARM || ARM64 || MIPS
26b0ec633cSFlorian Fainelli	default ARCH_BRCMSTB || BMIPS_GENERIC
2744127b77SFlorian Fainelli	help
2844127b77SFlorian Fainelli	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
2944127b77SFlorian Fainelli	  arbiter. This driver provides timeout and target abort error handling
3044127b77SFlorian Fainelli	  and internal bus master decoding.
3144127b77SFlorian Fainelli
328f93662dSSerge Seminconfig BT1_APB
33*dc20e93bSSerge Semin	bool "Baikal-T1 APB-bus driver"
348f93662dSSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
358f93662dSSerge Semin	select REGMAP_MMIO
368f93662dSSerge Semin	help
378f93662dSSerge Semin	  Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs.
388f93662dSSerge Semin	  IO requests are routed to this bus by means of the DW AMBA 3 AXI
398f93662dSSerge Semin	  Interconnect. In case of any APB protocol collisions, slave device
408f93662dSSerge Semin	  not responding on timeout an IRQ is raised with an erroneous address
418f93662dSSerge Semin	  reported to the APB terminator (APB Errors Handler Block). This
428f93662dSSerge Semin	  driver provides the interrupt handler to detect the erroneous
438f93662dSSerge Semin	  address, prints an error message about the address fault, updates an
448f93662dSSerge Semin	  errors counter. The counter and the APB-bus operations timeout can be
458f93662dSSerge Semin	  accessed via corresponding sysfs nodes.
468f93662dSSerge Semin
4763cb7713SSerge Seminconfig BT1_AXI
4863cb7713SSerge Semin	tristate "Baikal-T1 AXI-bus driver"
4963cb7713SSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
5063cb7713SSerge Semin	select MFD_SYSCON
5163cb7713SSerge Semin	help
5263cb7713SSerge Semin	  AXI3-bus is the main communication bus connecting all high-speed
5363cb7713SSerge Semin	  peripheral IP-cores with RAM controller and with MIPS P5600 cores on
5463cb7713SSerge Semin	  Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI
5563cb7713SSerge Semin	  Interconnect (so called AXI Main Interconnect) routing IO requests
5663cb7713SSerge Semin	  from one SoC block to another. This driver provides a way to detect
5763cb7713SSerge Semin	  any bus protocol errors and device not responding situations by
5863cb7713SSerge Semin	  means of an embedded on top of the interconnect errors handler
5963cb7713SSerge Semin	  block (EHB). AXI Interconnect QoS arbitration tuning is currently
6063cb7713SSerge Semin	  unsupported.
6163cb7713SSerge Semin
625bc7f990SMarek Behúnconfig MOXTET
635bc7f990SMarek Behún	tristate "CZ.NIC Turris Mox module configuration bus"
645bc7f990SMarek Behún	depends on SPI_MASTER && OF
655bc7f990SMarek Behún	help
665bc7f990SMarek Behún	  Say yes here to add support for the module configuration bus found
675bc7f990SMarek Behún	  on CZ.NIC's Turris Mox. This is needed for the ability to discover
685bc7f990SMarek Behún	  the order in which the modules are connected and to get/set some of
695bc7f990SMarek Behún	  their settings. For example the GPIOs on Mox SFP module are
705bc7f990SMarek Behún	  configured through this bus.
715bc7f990SMarek Behún
72adf38bb0SZhichang Yuanconfig HISILICON_LPC
73adf38bb0SZhichang Yuan	bool "Support for ISA I/O space on HiSilicon Hip06/7"
743e5cd20dSJohn Garry	depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC && !C6X)
753e5cd20dSJohn Garry	depends on HAS_IOMEM
763e5cd20dSJohn Garry	select INDIRECT_PIO if ARM64
77adf38bb0SZhichang Yuan	help
78adf38bb0SZhichang Yuan	  Driver to enable I/O access to devices attached to the Low Pin
79adf38bb0SZhichang Yuan	  Count bus on the HiSilicon Hip06/7 SoC.
80adf38bb0SZhichang Yuan
8185bf6d4eSHuang Shijieconfig IMX_WEIM
8285bf6d4eSHuang Shijie	bool "Freescale EIM DRIVER"
8385bf6d4eSHuang Shijie	depends on ARCH_MXC
8485bf6d4eSHuang Shijie	help
853f98b6baSAlexander Shiyan	  Driver for i.MX WEIM controller.
8685bf6d4eSHuang Shijie	  The WEIM(Wireless External Interface Module) works like a bus.
8785bf6d4eSHuang Shijie	  You can attach many different devices on it, such as NOR, onenand.
8885bf6d4eSHuang Shijie
898286ae03SJames Hoganconfig MIPS_CDMM
908286ae03SJames Hogan	bool "MIPS Common Device Memory Map (CDMM) Driver"
918286ae03SJames Hogan	depends on CPU_MIPSR2
928286ae03SJames Hogan	help
938286ae03SJames Hogan	  Driver needed for the MIPS Common Device Memory Map bus in MIPS
948286ae03SJames Hogan	  cores. This bus is for per-CPU tightly coupled devices such as the
958286ae03SJames Hogan	  Fast Debug Channel (FDC).
968286ae03SJames Hogan
978286ae03SJames Hogan	  For this to work, either your bootloader needs to enable the CDMM
988286ae03SJames Hogan	  region at an unused physical address on the boot CPU, or else your
998286ae03SJames Hogan	  platform code needs to implement mips_cdmm_phys_base() (see
1008286ae03SJames Hogan	  asm/cdmm.h).
1018286ae03SJames Hogan
102fddddb52SThomas Petazzoniconfig MVEBU_MBUS
103fddddb52SThomas Petazzoni	bool
104fddddb52SThomas Petazzoni	depends on PLAT_ORION
105fddddb52SThomas Petazzoni	help
106fddddb52SThomas Petazzoni	  Driver needed for the MBus configuration on Marvell EBU SoCs
107fddddb52SThomas Petazzoni	  (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
108fddddb52SThomas Petazzoni
10913fbf3c8SGeert Uytterhoevenconfig OMAP_INTERCONNECT
11013fbf3c8SGeert Uytterhoeven	tristate "OMAP INTERCONNECT DRIVER"
11113fbf3c8SGeert Uytterhoeven	depends on ARCH_OMAP2PLUS
11213fbf3c8SGeert Uytterhoeven
11313fbf3c8SGeert Uytterhoeven	help
11413fbf3c8SGeert Uytterhoeven	  Driver to enable OMAP interconnect error handling driver.
11513fbf3c8SGeert Uytterhoeven
11626a84b3eSKishon Vijay Abraham Iconfig OMAP_OCP2SCP
11726a84b3eSKishon Vijay Abraham I	tristate "OMAP OCP2SCP DRIVER"
118770b6cb4STony Lindgren	depends on ARCH_OMAP2PLUS
11926a84b3eSKishon Vijay Abraham I	help
12026a84b3eSKishon Vijay Abraham I	  Driver to enable ocp2scp module which transforms ocp interface
12126a84b3eSKishon Vijay Abraham I	  protocol to scp protocol. In OMAP4, USB PHY is connected via
12226a84b3eSKishon Vijay Abraham I	  OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
12326a84b3eSKishon Vijay Abraham I	  OCP2SCP.
12426a84b3eSKishon Vijay Abraham I
125335a1275SLinus Walleijconfig QCOM_EBI2
126335a1275SLinus Walleij	bool "Qualcomm External Bus Interface 2 (EBI2)"
127d6db68b2SLinus Walleij	depends on HAS_IOMEM
1285fac7e84SLinus Walleij	depends on ARCH_QCOM || COMPILE_TEST
129c5d8ccfeSLinus Walleij	default ARCH_QCOM
130335a1275SLinus Walleij	help
131335a1275SLinus Walleij	  Say y here to enable support for the Qualcomm External Bus
132335a1275SLinus Walleij	  Interface 2, which can be used to connect things like NAND Flash,
133335a1275SLinus Walleij	  SRAM, ethernet adapters, FPGAs and LCD displays.
134335a1275SLinus Walleij
13589d463eaSGeert Uytterhoevenconfig SIMPLE_PM_BUS
136a248efb3SPaul Gortmaker	tristate "Simple Power-Managed Bus Driver"
13789d463eaSGeert Uytterhoeven	depends on OF && PM
1380ee7261cSSantosh Shilimkar	help
13989d463eaSGeert Uytterhoeven	  Driver for transparent busses that don't need a real driver, but
14089d463eaSGeert Uytterhoeven	  where the bus controller is part of a PM domain, or under the control
14189d463eaSGeert Uytterhoeven	  of a functional clock, and thus relies on runtime PM for managing
14289d463eaSGeert Uytterhoeven	  this PM domain and/or clock.
14389d463eaSGeert Uytterhoeven	  An example of such a bus controller is the Renesas Bus State
14489d463eaSGeert Uytterhoeven	  Controller (BSC, sometimes called "LBSC within Bus Bridge", or
14589d463eaSGeert Uytterhoeven	  "External Bus Interface") as found on several Renesas ARM SoCs.
146a33b0daaSPawel Moll
1478818e865SIcenowy Zhengconfig SUN50I_DE2_BUS
1488818e865SIcenowy Zheng	bool "Allwinner A64 DE2 Bus Driver"
1498818e865SIcenowy Zheng	  default ARM64
1508818e865SIcenowy Zheng	  depends on ARCH_SUNXI
1518818e865SIcenowy Zheng	  select SUNXI_SRAM
1528818e865SIcenowy Zheng	  help
1538818e865SIcenowy Zheng	  Say y here to enable support for Allwinner A64 DE2 bus driver. It's
1548818e865SIcenowy Zheng	  mostly transparent, but a SRAM region needs to be claimed in the SRAM
1558818e865SIcenowy Zheng	  controller to make the all blocks in the DE2 part accessible.
1568818e865SIcenowy Zheng
157d787dcdbSChen-Yu Tsaiconfig SUNXI_RSB
158d787dcdbSChen-Yu Tsai	tristate "Allwinner sunXi Reduced Serial Bus Driver"
159dc1a37b2SJagan Teki	  default MACH_SUN8I || MACH_SUN9I || ARM64
160d787dcdbSChen-Yu Tsai	  depends on ARCH_SUNXI
161d787dcdbSChen-Yu Tsai	  select REGMAP
162d787dcdbSChen-Yu Tsai	  help
163d787dcdbSChen-Yu Tsai	  Say y here to enable support for Allwinner's Reduced Serial Bus
164d787dcdbSChen-Yu Tsai	  (RSB) support. This controller is responsible for communicating
165d787dcdbSChen-Yu Tsai	  with various RSB based devices, such as AXP223, AXP8XX PMICs,
166d787dcdbSChen-Yu Tsai	  and AC100/AC200 ICs.
167d787dcdbSChen-Yu Tsai
16846a88534SJon Hunterconfig TEGRA_ACONNECT
1692d301c07SThierry Reding	tristate "Tegra ACONNECT Bus Driver"
17046a88534SJon Hunter	depends on ARCH_TEGRA_210_SOC
17146a88534SJon Hunter	depends on OF && PM
17246a88534SJon Hunter	help
17346a88534SJon Hunter	  Driver for the Tegra ACONNECT bus which is used to interface with
17446a88534SJon Hunter	  the devices inside the Audio Processing Engine (APE) for Tegra210.
17546a88534SJon Hunter
17640eb4776SMirza Krakconfig TEGRA_GMI
17740eb4776SMirza Krak	tristate "Tegra Generic Memory Interface bus driver"
17840eb4776SMirza Krak	depends on ARCH_TEGRA
17940eb4776SMirza Krak	help
18040eb4776SMirza Krak	  Driver for the Tegra Generic Memory Interface bus which can be used
18140eb4776SMirza Krak	  to attach devices such as NOR, UART, FPGA and more.
18240eb4776SMirza Krak
1837cabf925SDavid Lechnerconfig  TI_PWMSS
1847cabf925SDavid Lechner	bool
185f213729fSDavid Lechner	default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP)
1867cabf925SDavid Lechner	help
1877cabf925SDavid Lechner	  PWM Subsystem driver support for AM33xx SOC.
1887cabf925SDavid Lechner
1897cabf925SDavid Lechner	  PWM submodules require PWM config space access from submodule
1907cabf925SDavid Lechner	  drivers and require common parent driver support.
1917cabf925SDavid Lechner
1920eecc636STony Lindgrenconfig TI_SYSC
1930eecc636STony Lindgren	bool "TI sysc interconnect target module driver"
1940eecc636STony Lindgren	depends on ARCH_OMAP2PLUS
1950eecc636STony Lindgren	help
1960eecc636STony Lindgren	  Generic driver for Texas Instruments interconnect target module
1970eecc636STony Lindgren	  found on many TI SoCs.
1980eecc636STony Lindgren
1995b143d2aSSebastien Bourdelinconfig TS_NBUS
2005b143d2aSSebastien Bourdelin	tristate "Technologic Systems NBUS Driver"
2015b143d2aSSebastien Bourdelin	depends on SOC_IMX28
2025b143d2aSSebastien Bourdelin	depends on OF_GPIO && PWM
2035b143d2aSSebastien Bourdelin	help
2045b143d2aSSebastien Bourdelin	  Driver for the Technologic Systems NBUS which is used to interface
2055b143d2aSSebastien Bourdelin	  with the peripherals in the FPGA of the TS-4600 SoM.
2065b143d2aSSebastien Bourdelin
2074b7f48d3SMasahiro Yamadaconfig UNIPHIER_SYSTEM_BUS
208047a555fSMasahiro Yamada	tristate "UniPhier System Bus driver"
2094b7f48d3SMasahiro Yamada	depends on ARCH_UNIPHIER && OF
2104b7f48d3SMasahiro Yamada	default y
2114b7f48d3SMasahiro Yamada	help
2124b7f48d3SMasahiro Yamada	  Support for UniPhier System Bus, a simple external bus.  This is
2134b7f48d3SMasahiro Yamada	  needed to use on-board devices connected to UniPhier SoCs.
2144b7f48d3SMasahiro Yamada
2153b9334acSPawel Mollconfig VEXPRESS_CONFIG
2163b9334acSPawel Moll	bool "Versatile Express configuration bus"
2173b9334acSPawel Moll	default y if ARCH_VEXPRESS
2183b9334acSPawel Moll	depends on ARM || ARM64
219b33cdd28SArnd Bergmann	depends on OF
2203b9334acSPawel Moll	select REGMAP
2213b9334acSPawel Moll	help
2223b9334acSPawel Moll	  Platform configuration infrastructure for the ARM Ltd.
2233b9334acSPawel Moll	  Versatile Express.
2248e7223fcSBartosz Golaszewski
2258e7223fcSBartosz Golaszewskiconfig DA8XX_MSTPRI
2268e7223fcSBartosz Golaszewski	bool "TI da8xx master peripheral priority driver"
2278e7223fcSBartosz Golaszewski	depends on ARCH_DAVINCI_DA8XX
2288e7223fcSBartosz Golaszewski	help
2298e7223fcSBartosz Golaszewski	  Driver for Texas Instruments da8xx master peripheral priority
2308e7223fcSBartosz Golaszewski	  configuration. Allows to adjust the priorities of all master
2318e7223fcSBartosz Golaszewski	  peripherals.
2328e7223fcSBartosz Golaszewski
2336bd067c4SBogdan Purcareatasource "drivers/bus/fsl-mc/Kconfig"
2340cbf2608SManivannan Sadhasivamsource "drivers/bus/mhi/Kconfig"
2356bd067c4SBogdan Purcareata
23626a84b3eSKishon Vijay Abraham Iendmenu
237