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