xref: /openbmc/linux/drivers/bus/Kconfig (revision e0f6d1a5)
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 BRCMSTB_GISB_ARB
24	bool "Broadcom STB GISB bus arbiter"
25	depends on ARM || ARM64 || MIPS
26	default ARCH_BRCMSTB || BMIPS_GENERIC
27	help
28	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
29	  arbiter. This driver provides timeout and target abort error handling
30	  and internal bus master decoding.
31
32config HISILICON_LPC
33	bool "Support for ISA I/O space on HiSilicon Hip06/7"
34	depends on ARM64 && (ARCH_HISI || COMPILE_TEST)
35	select INDIRECT_PIO
36	select MFD_CORE if ACPI
37	help
38	  Driver to enable I/O access to devices attached to the Low Pin
39	  Count bus on the HiSilicon Hip06/7 SoC.
40
41config IMX_WEIM
42	bool "Freescale EIM DRIVER"
43	depends on ARCH_MXC
44	help
45	  Driver for i.MX WEIM controller.
46	  The WEIM(Wireless External Interface Module) works like a bus.
47	  You can attach many different devices on it, such as NOR, onenand.
48
49config MIPS_CDMM
50	bool "MIPS Common Device Memory Map (CDMM) Driver"
51	depends on CPU_MIPSR2
52	help
53	  Driver needed for the MIPS Common Device Memory Map bus in MIPS
54	  cores. This bus is for per-CPU tightly coupled devices such as the
55	  Fast Debug Channel (FDC).
56
57	  For this to work, either your bootloader needs to enable the CDMM
58	  region at an unused physical address on the boot CPU, or else your
59	  platform code needs to implement mips_cdmm_phys_base() (see
60	  asm/cdmm.h).
61
62config MVEBU_MBUS
63	bool
64	depends on PLAT_ORION
65	help
66	  Driver needed for the MBus configuration on Marvell EBU SoCs
67	  (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
68
69config OMAP_INTERCONNECT
70	tristate "OMAP INTERCONNECT DRIVER"
71	depends on ARCH_OMAP2PLUS
72
73	help
74	  Driver to enable OMAP interconnect error handling driver.
75
76config OMAP_OCP2SCP
77	tristate "OMAP OCP2SCP DRIVER"
78	depends on ARCH_OMAP2PLUS
79	help
80	  Driver to enable ocp2scp module which transforms ocp interface
81	  protocol to scp protocol. In OMAP4, USB PHY is connected via
82	  OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
83	  OCP2SCP.
84
85config QCOM_EBI2
86	bool "Qualcomm External Bus Interface 2 (EBI2)"
87	depends on HAS_IOMEM
88	depends on ARCH_QCOM || COMPILE_TEST
89	default ARCH_QCOM
90	help
91	  Say y here to enable support for the Qualcomm External Bus
92	  Interface 2, which can be used to connect things like NAND Flash,
93	  SRAM, ethernet adapters, FPGAs and LCD displays.
94
95config SIMPLE_PM_BUS
96	tristate "Simple Power-Managed Bus Driver"
97	depends on OF && PM
98	help
99	  Driver for transparent busses that don't need a real driver, but
100	  where the bus controller is part of a PM domain, or under the control
101	  of a functional clock, and thus relies on runtime PM for managing
102	  this PM domain and/or clock.
103	  An example of such a bus controller is the Renesas Bus State
104	  Controller (BSC, sometimes called "LBSC within Bus Bridge", or
105	  "External Bus Interface") as found on several Renesas ARM SoCs.
106
107config SUNXI_RSB
108	tristate "Allwinner sunXi Reduced Serial Bus Driver"
109	  default MACH_SUN8I || MACH_SUN9I || ARM64
110	  depends on ARCH_SUNXI
111	  select REGMAP
112	  help
113	  Say y here to enable support for Allwinner's Reduced Serial Bus
114	  (RSB) support. This controller is responsible for communicating
115	  with various RSB based devices, such as AXP223, AXP8XX PMICs,
116	  and AC100/AC200 ICs.
117
118config TEGRA_ACONNECT
119	tristate "Tegra ACONNECT Bus Driver"
120	depends on ARCH_TEGRA_210_SOC
121	depends on OF && PM
122	select PM_CLK
123	help
124	  Driver for the Tegra ACONNECT bus which is used to interface with
125	  the devices inside the Audio Processing Engine (APE) for Tegra210.
126
127config TEGRA_GMI
128	tristate "Tegra Generic Memory Interface bus driver"
129	depends on ARCH_TEGRA
130	help
131	  Driver for the Tegra Generic Memory Interface bus which can be used
132	  to attach devices such as NOR, UART, FPGA and more.
133
134config TI_SYSC
135	bool "TI sysc interconnect target module driver"
136	depends on ARCH_OMAP2PLUS
137	help
138	  Generic driver for Texas Instruments interconnect target module
139	  found on many TI SoCs.
140
141config TS_NBUS
142	tristate "Technologic Systems NBUS Driver"
143	depends on SOC_IMX28
144	depends on OF_GPIO && PWM
145	help
146	  Driver for the Technologic Systems NBUS which is used to interface
147	  with the peripherals in the FPGA of the TS-4600 SoM.
148
149config UNIPHIER_SYSTEM_BUS
150	tristate "UniPhier System Bus driver"
151	depends on ARCH_UNIPHIER && OF
152	default y
153	help
154	  Support for UniPhier System Bus, a simple external bus.  This is
155	  needed to use on-board devices connected to UniPhier SoCs.
156
157config VEXPRESS_CONFIG
158	bool "Versatile Express configuration bus"
159	default y if ARCH_VEXPRESS
160	depends on ARM || ARM64
161	depends on OF
162	select REGMAP
163	help
164	  Platform configuration infrastructure for the ARM Ltd.
165	  Versatile Express.
166
167config DA8XX_MSTPRI
168	bool "TI da8xx master peripheral priority driver"
169	depends on ARCH_DAVINCI_DA8XX
170	help
171	  Driver for Texas Instruments da8xx master peripheral priority
172	  configuration. Allows to adjust the priorities of all master
173	  peripherals.
174
175source "drivers/bus/fsl-mc/Kconfig"
176
177endmenu
178