Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[sfrench/cifs-2.6.git] / drivers / bus / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Bus Devices
4 #
5
6 menu "Bus devices"
7
8 config ARM_CCI
9         bool
10
11 config ARM_CCI_PMU
12         bool
13         select ARM_CCI
14
15 config ARM_CCI400_COMMON
16         bool
17         select ARM_CCI
18
19 config ARM_CCI400_PMU
20         bool "ARM CCI400 PMU support"
21         depends on (ARM && CPU_V7) || ARM64
22         depends on PERF_EVENTS
23         select ARM_CCI400_COMMON
24         select ARM_CCI_PMU
25         help
26           Support for PMU events monitoring on the ARM CCI-400 (cache coherent
27           interconnect). CCI-400 supports counting events related to the
28           connected slave/master interfaces.
29
30 config ARM_CCI400_PORT_CTRL
31         bool
32         depends on ARM && OF && CPU_V7
33         select ARM_CCI400_COMMON
34         help
35           Low level power management driver for CCI400 cache coherent
36           interconnect for ARM platforms.
37
38 config ARM_CCI5xx_PMU
39         bool "ARM CCI-500/CCI-550 PMU support"
40         depends on (ARM && CPU_V7) || ARM64
41         depends on PERF_EVENTS
42         select ARM_CCI_PMU
43         help
44           Support for PMU events monitoring on the ARM CCI-500/CCI-550 cache
45           coherent interconnects. Both of them provide 8 independent event counters,
46           which can count events pertaining to the slave/master interfaces as well
47           as the internal events to the CCI.
48
49           If unsure, say Y
50
51 config ARM_CCN
52         tristate "ARM CCN driver support"
53         depends on ARM || ARM64
54         depends on PERF_EVENTS
55         help
56           PMU (perf) driver supporting the ARM CCN (Cache Coherent Network)
57           interconnect.
58
59 config BRCMSTB_GISB_ARB
60         bool "Broadcom STB GISB bus arbiter"
61         depends on ARM || ARM64 || MIPS
62         default ARCH_BRCMSTB || BMIPS_GENERIC
63         help
64           Driver for the Broadcom Set Top Box System-on-a-chip internal bus
65           arbiter. This driver provides timeout and target abort error handling
66           and internal bus master decoding.
67
68 config IMX_WEIM
69         bool "Freescale EIM DRIVER"
70         depends on ARCH_MXC
71         help
72           Driver for i.MX WEIM controller.
73           The WEIM(Wireless External Interface Module) works like a bus.
74           You can attach many different devices on it, such as NOR, onenand.
75
76 config MIPS_CDMM
77         bool "MIPS Common Device Memory Map (CDMM) Driver"
78         depends on CPU_MIPSR2
79         help
80           Driver needed for the MIPS Common Device Memory Map bus in MIPS
81           cores. This bus is for per-CPU tightly coupled devices such as the
82           Fast Debug Channel (FDC).
83
84           For this to work, either your bootloader needs to enable the CDMM
85           region at an unused physical address on the boot CPU, or else your
86           platform code needs to implement mips_cdmm_phys_base() (see
87           asm/cdmm.h).
88
89 config MVEBU_MBUS
90         bool
91         depends on PLAT_ORION
92         help
93           Driver needed for the MBus configuration on Marvell EBU SoCs
94           (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
95
96 config OMAP_INTERCONNECT
97         tristate "OMAP INTERCONNECT DRIVER"
98         depends on ARCH_OMAP2PLUS
99
100         help
101           Driver to enable OMAP interconnect error handling driver.
102
103 config OMAP_OCP2SCP
104         tristate "OMAP OCP2SCP DRIVER"
105         depends on ARCH_OMAP2PLUS
106         help
107           Driver to enable ocp2scp module which transforms ocp interface
108           protocol to scp protocol. In OMAP4, USB PHY is connected via
109           OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
110           OCP2SCP.
111
112 config QCOM_EBI2
113         bool "Qualcomm External Bus Interface 2 (EBI2)"
114         depends on HAS_IOMEM
115         depends on ARCH_QCOM || COMPILE_TEST
116         default ARCH_QCOM
117         help
118           Say y here to enable support for the Qualcomm External Bus
119           Interface 2, which can be used to connect things like NAND Flash,
120           SRAM, ethernet adapters, FPGAs and LCD displays.
121
122 config SIMPLE_PM_BUS
123         bool "Simple Power-Managed Bus Driver"
124         depends on OF && PM
125         help
126           Driver for transparent busses that don't need a real driver, but
127           where the bus controller is part of a PM domain, or under the control
128           of a functional clock, and thus relies on runtime PM for managing
129           this PM domain and/or clock.
130           An example of such a bus controller is the Renesas Bus State
131           Controller (BSC, sometimes called "LBSC within Bus Bridge", or
132           "External Bus Interface") as found on several Renesas ARM SoCs.
133
134 config SUNXI_RSB
135         tristate "Allwinner sunXi Reduced Serial Bus Driver"
136           default MACH_SUN8I || MACH_SUN9I || ARM64
137           depends on ARCH_SUNXI
138           select REGMAP
139           help
140           Say y here to enable support for Allwinner's Reduced Serial Bus
141           (RSB) support. This controller is responsible for communicating
142           with various RSB based devices, such as AXP223, AXP8XX PMICs,
143           and AC100/AC200 ICs.
144
145 config TEGRA_ACONNECT
146         tristate "Tegra ACONNECT Bus Driver"
147         depends on ARCH_TEGRA_210_SOC
148         depends on OF && PM
149         select PM_CLK
150         help
151           Driver for the Tegra ACONNECT bus which is used to interface with
152           the devices inside the Audio Processing Engine (APE) for Tegra210.
153
154 config TEGRA_GMI
155         tristate "Tegra Generic Memory Interface bus driver"
156         depends on ARCH_TEGRA
157         help
158           Driver for the Tegra Generic Memory Interface bus which can be used
159           to attach devices such as NOR, UART, FPGA and more.
160
161 config TI_SYSC
162         bool "TI sysc interconnect target module driver"
163         depends on ARCH_OMAP2PLUS
164         help
165           Generic driver for Texas Instruments interconnect target module
166           found on many TI SoCs.
167
168 config TS_NBUS
169         tristate "Technologic Systems NBUS Driver"
170         depends on SOC_IMX28
171         depends on OF_GPIO && PWM
172         help
173           Driver for the Technologic Systems NBUS which is used to interface
174           with the peripherals in the FPGA of the TS-4600 SoM.
175
176 config UNIPHIER_SYSTEM_BUS
177         tristate "UniPhier System Bus driver"
178         depends on ARCH_UNIPHIER && OF
179         default y
180         help
181           Support for UniPhier System Bus, a simple external bus.  This is
182           needed to use on-board devices connected to UniPhier SoCs.
183
184 config VEXPRESS_CONFIG
185         bool "Versatile Express configuration bus"
186         default y if ARCH_VEXPRESS
187         depends on ARM || ARM64
188         depends on OF
189         select REGMAP
190         help
191           Platform configuration infrastructure for the ARM Ltd.
192           Versatile Express.
193
194 config DA8XX_MSTPRI
195         bool "TI da8xx master peripheral priority driver"
196         depends on ARCH_DAVINCI_DA8XX
197         help
198           Driver for Texas Instruments da8xx master peripheral priority
199           configuration. Allows to adjust the priorities of all master
200           peripherals.
201
202 endmenu