18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Bus Devices
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenu "Bus devices"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig ARM_CCI
98c2ecf20Sopenharmony_ci	bool
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciconfig ARM_CCI400_COMMON
128c2ecf20Sopenharmony_ci	bool
138c2ecf20Sopenharmony_ci	select ARM_CCI
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig ARM_CCI400_PORT_CTRL
168c2ecf20Sopenharmony_ci	bool
178c2ecf20Sopenharmony_ci	depends on ARM && OF && CPU_V7
188c2ecf20Sopenharmony_ci	select ARM_CCI400_COMMON
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  Low level power management driver for CCI400 cache coherent
218c2ecf20Sopenharmony_ci	  interconnect for ARM platforms.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciconfig ARM_INTEGRATOR_LM
248c2ecf20Sopenharmony_ci	bool "ARM Integrator Logic Module bus"
258c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
268c2ecf20Sopenharmony_ci	depends on ARCH_INTEGRATOR || COMPILE_TEST
278c2ecf20Sopenharmony_ci	default ARCH_INTEGRATOR
288c2ecf20Sopenharmony_ci	help
298c2ecf20Sopenharmony_ci	  Say y here to enable support for the ARM Logic Module bus
308c2ecf20Sopenharmony_ci	  found on the ARM Integrator AP (Application Platform)
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig BRCMSTB_GISB_ARB
338c2ecf20Sopenharmony_ci	bool "Broadcom STB GISB bus arbiter"
348c2ecf20Sopenharmony_ci	depends on ARM || ARM64 || MIPS
358c2ecf20Sopenharmony_ci	default ARCH_BRCMSTB || BMIPS_GENERIC
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
388c2ecf20Sopenharmony_ci	  arbiter. This driver provides timeout and target abort error handling
398c2ecf20Sopenharmony_ci	  and internal bus master decoding.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig BT1_APB
428c2ecf20Sopenharmony_ci	bool "Baikal-T1 APB-bus driver"
438c2ecf20Sopenharmony_ci	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
448c2ecf20Sopenharmony_ci	select REGMAP_MMIO
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs.
478c2ecf20Sopenharmony_ci	  IO requests are routed to this bus by means of the DW AMBA 3 AXI
488c2ecf20Sopenharmony_ci	  Interconnect. In case of any APB protocol collisions, slave device
498c2ecf20Sopenharmony_ci	  not responding on timeout an IRQ is raised with an erroneous address
508c2ecf20Sopenharmony_ci	  reported to the APB terminator (APB Errors Handler Block). This
518c2ecf20Sopenharmony_ci	  driver provides the interrupt handler to detect the erroneous
528c2ecf20Sopenharmony_ci	  address, prints an error message about the address fault, updates an
538c2ecf20Sopenharmony_ci	  errors counter. The counter and the APB-bus operations timeout can be
548c2ecf20Sopenharmony_ci	  accessed via corresponding sysfs nodes.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig BT1_AXI
578c2ecf20Sopenharmony_ci	bool "Baikal-T1 AXI-bus driver"
588c2ecf20Sopenharmony_ci	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
598c2ecf20Sopenharmony_ci	select MFD_SYSCON
608c2ecf20Sopenharmony_ci	help
618c2ecf20Sopenharmony_ci	  AXI3-bus is the main communication bus connecting all high-speed
628c2ecf20Sopenharmony_ci	  peripheral IP-cores with RAM controller and with MIPS P5600 cores on
638c2ecf20Sopenharmony_ci	  Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI
648c2ecf20Sopenharmony_ci	  Interconnect (so called AXI Main Interconnect) routing IO requests
658c2ecf20Sopenharmony_ci	  from one SoC block to another. This driver provides a way to detect
668c2ecf20Sopenharmony_ci	  any bus protocol errors and device not responding situations by
678c2ecf20Sopenharmony_ci	  means of an embedded on top of the interconnect errors handler
688c2ecf20Sopenharmony_ci	  block (EHB). AXI Interconnect QoS arbitration tuning is currently
698c2ecf20Sopenharmony_ci	  unsupported.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig MOXTET
728c2ecf20Sopenharmony_ci	tristate "CZ.NIC Turris Mox module configuration bus"
738c2ecf20Sopenharmony_ci	depends on SPI_MASTER && OF
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Say yes here to add support for the module configuration bus found
768c2ecf20Sopenharmony_ci	  on CZ.NIC's Turris Mox. This is needed for the ability to discover
778c2ecf20Sopenharmony_ci	  the order in which the modules are connected and to get/set some of
788c2ecf20Sopenharmony_ci	  their settings. For example the GPIOs on Mox SFP module are
798c2ecf20Sopenharmony_ci	  configured through this bus.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciconfig HISILICON_LPC
828c2ecf20Sopenharmony_ci	bool "Support for ISA I/O space on HiSilicon Hip06/7"
838c2ecf20Sopenharmony_ci	depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC && !C6X)
848c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
858c2ecf20Sopenharmony_ci	select INDIRECT_PIO if ARM64
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  Driver to enable I/O access to devices attached to the Low Pin
888c2ecf20Sopenharmony_ci	  Count bus on the HiSilicon Hip06/7 SoC.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig IMX_WEIM
918c2ecf20Sopenharmony_ci	bool "Freescale EIM DRIVER"
928c2ecf20Sopenharmony_ci	depends on ARCH_MXC
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  Driver for i.MX WEIM controller.
958c2ecf20Sopenharmony_ci	  The WEIM(Wireless External Interface Module) works like a bus.
968c2ecf20Sopenharmony_ci	  You can attach many different devices on it, such as NOR, onenand.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig MIPS_CDMM
998c2ecf20Sopenharmony_ci	bool "MIPS Common Device Memory Map (CDMM) Driver"
1008c2ecf20Sopenharmony_ci	depends on CPU_MIPSR2 || CPU_MIPSR5
1018c2ecf20Sopenharmony_ci	help
1028c2ecf20Sopenharmony_ci	  Driver needed for the MIPS Common Device Memory Map bus in MIPS
1038c2ecf20Sopenharmony_ci	  cores. This bus is for per-CPU tightly coupled devices such as the
1048c2ecf20Sopenharmony_ci	  Fast Debug Channel (FDC).
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci	  For this to work, either your bootloader needs to enable the CDMM
1078c2ecf20Sopenharmony_ci	  region at an unused physical address on the boot CPU, or else your
1088c2ecf20Sopenharmony_ci	  platform code needs to implement mips_cdmm_phys_base() (see
1098c2ecf20Sopenharmony_ci	  asm/cdmm.h).
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciconfig MVEBU_MBUS
1128c2ecf20Sopenharmony_ci	bool
1138c2ecf20Sopenharmony_ci	depends on PLAT_ORION
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  Driver needed for the MBus configuration on Marvell EBU SoCs
1168c2ecf20Sopenharmony_ci	  (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP).
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ciconfig OMAP_INTERCONNECT
1198c2ecf20Sopenharmony_ci	tristate "OMAP INTERCONNECT DRIVER"
1208c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci	help
1238c2ecf20Sopenharmony_ci	  Driver to enable OMAP interconnect error handling driver.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig OMAP_OCP2SCP
1268c2ecf20Sopenharmony_ci	tristate "OMAP OCP2SCP DRIVER"
1278c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS
1288c2ecf20Sopenharmony_ci	help
1298c2ecf20Sopenharmony_ci	  Driver to enable ocp2scp module which transforms ocp interface
1308c2ecf20Sopenharmony_ci	  protocol to scp protocol. In OMAP4, USB PHY is connected via
1318c2ecf20Sopenharmony_ci	  OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via
1328c2ecf20Sopenharmony_ci	  OCP2SCP.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciconfig QCOM_EBI2
1358c2ecf20Sopenharmony_ci	bool "Qualcomm External Bus Interface 2 (EBI2)"
1368c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1378c2ecf20Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
1388c2ecf20Sopenharmony_ci	default ARCH_QCOM
1398c2ecf20Sopenharmony_ci	help
1408c2ecf20Sopenharmony_ci	  Say y here to enable support for the Qualcomm External Bus
1418c2ecf20Sopenharmony_ci	  Interface 2, which can be used to connect things like NAND Flash,
1428c2ecf20Sopenharmony_ci	  SRAM, ethernet adapters, FPGAs and LCD displays.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig SIMPLE_PM_BUS
1458c2ecf20Sopenharmony_ci	tristate "Simple Power-Managed Bus Driver"
1468c2ecf20Sopenharmony_ci	depends on OF && PM
1478c2ecf20Sopenharmony_ci	help
1488c2ecf20Sopenharmony_ci	  Driver for transparent busses that don't need a real driver, but
1498c2ecf20Sopenharmony_ci	  where the bus controller is part of a PM domain, or under the control
1508c2ecf20Sopenharmony_ci	  of a functional clock, and thus relies on runtime PM for managing
1518c2ecf20Sopenharmony_ci	  this PM domain and/or clock.
1528c2ecf20Sopenharmony_ci	  An example of such a bus controller is the Renesas Bus State
1538c2ecf20Sopenharmony_ci	  Controller (BSC, sometimes called "LBSC within Bus Bridge", or
1548c2ecf20Sopenharmony_ci	  "External Bus Interface") as found on several Renesas ARM SoCs.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ciconfig SUN50I_DE2_BUS
1578c2ecf20Sopenharmony_ci	bool "Allwinner A64 DE2 Bus Driver"
1588c2ecf20Sopenharmony_ci	  default ARM64
1598c2ecf20Sopenharmony_ci	  depends on ARCH_SUNXI
1608c2ecf20Sopenharmony_ci	  select SUNXI_SRAM
1618c2ecf20Sopenharmony_ci	  help
1628c2ecf20Sopenharmony_ci	  Say y here to enable support for Allwinner A64 DE2 bus driver. It's
1638c2ecf20Sopenharmony_ci	  mostly transparent, but a SRAM region needs to be claimed in the SRAM
1648c2ecf20Sopenharmony_ci	  controller to make the all blocks in the DE2 part accessible.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciconfig SUNXI_RSB
1678c2ecf20Sopenharmony_ci	tristate "Allwinner sunXi Reduced Serial Bus Driver"
1688c2ecf20Sopenharmony_ci	  default MACH_SUN8I || MACH_SUN9I || ARM64
1698c2ecf20Sopenharmony_ci	  depends on ARCH_SUNXI
1708c2ecf20Sopenharmony_ci	  select REGMAP
1718c2ecf20Sopenharmony_ci	  help
1728c2ecf20Sopenharmony_ci	  Say y here to enable support for Allwinner's Reduced Serial Bus
1738c2ecf20Sopenharmony_ci	  (RSB) support. This controller is responsible for communicating
1748c2ecf20Sopenharmony_ci	  with various RSB based devices, such as AXP223, AXP8XX PMICs,
1758c2ecf20Sopenharmony_ci	  and AC100/AC200 ICs.
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ciconfig TEGRA_ACONNECT
1788c2ecf20Sopenharmony_ci	tristate "Tegra ACONNECT Bus Driver"
1798c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA_210_SOC
1808c2ecf20Sopenharmony_ci	depends on OF && PM
1818c2ecf20Sopenharmony_ci	help
1828c2ecf20Sopenharmony_ci	  Driver for the Tegra ACONNECT bus which is used to interface with
1838c2ecf20Sopenharmony_ci	  the devices inside the Audio Processing Engine (APE) for Tegra210.
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciconfig TEGRA_GMI
1868c2ecf20Sopenharmony_ci	tristate "Tegra Generic Memory Interface bus driver"
1878c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA
1888c2ecf20Sopenharmony_ci	help
1898c2ecf20Sopenharmony_ci	  Driver for the Tegra Generic Memory Interface bus which can be used
1908c2ecf20Sopenharmony_ci	  to attach devices such as NOR, UART, FPGA and more.
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ciconfig  TI_PWMSS
1938c2ecf20Sopenharmony_ci	bool
1948c2ecf20Sopenharmony_ci	default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP)
1958c2ecf20Sopenharmony_ci	help
1968c2ecf20Sopenharmony_ci	  PWM Subsystem driver support for AM33xx SOC.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci	  PWM submodules require PWM config space access from submodule
1998c2ecf20Sopenharmony_ci	  drivers and require common parent driver support.
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ciconfig TI_SYSC
2028c2ecf20Sopenharmony_ci	bool "TI sysc interconnect target module driver"
2038c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS
2048c2ecf20Sopenharmony_ci	help
2058c2ecf20Sopenharmony_ci	  Generic driver for Texas Instruments interconnect target module
2068c2ecf20Sopenharmony_ci	  found on many TI SoCs.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciconfig TS_NBUS
2098c2ecf20Sopenharmony_ci	tristate "Technologic Systems NBUS Driver"
2108c2ecf20Sopenharmony_ci	depends on SOC_IMX28
2118c2ecf20Sopenharmony_ci	depends on OF_GPIO && PWM
2128c2ecf20Sopenharmony_ci	help
2138c2ecf20Sopenharmony_ci	  Driver for the Technologic Systems NBUS which is used to interface
2148c2ecf20Sopenharmony_ci	  with the peripherals in the FPGA of the TS-4600 SoM.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig UNIPHIER_SYSTEM_BUS
2178c2ecf20Sopenharmony_ci	tristate "UniPhier System Bus driver"
2188c2ecf20Sopenharmony_ci	depends on ARCH_UNIPHIER && OF
2198c2ecf20Sopenharmony_ci	default y
2208c2ecf20Sopenharmony_ci	help
2218c2ecf20Sopenharmony_ci	  Support for UniPhier System Bus, a simple external bus.  This is
2228c2ecf20Sopenharmony_ci	  needed to use on-board devices connected to UniPhier SoCs.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciconfig VEXPRESS_CONFIG
2258c2ecf20Sopenharmony_ci	tristate "Versatile Express configuration bus"
2268c2ecf20Sopenharmony_ci	default y if ARCH_VEXPRESS
2278c2ecf20Sopenharmony_ci	depends on ARM || ARM64
2288c2ecf20Sopenharmony_ci	depends on OF
2298c2ecf20Sopenharmony_ci	select REGMAP
2308c2ecf20Sopenharmony_ci	help
2318c2ecf20Sopenharmony_ci	  Platform configuration infrastructure for the ARM Ltd.
2328c2ecf20Sopenharmony_ci	  Versatile Express.
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ciconfig DA8XX_MSTPRI
2358c2ecf20Sopenharmony_ci	bool "TI da8xx master peripheral priority driver"
2368c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI_DA8XX
2378c2ecf20Sopenharmony_ci	help
2388c2ecf20Sopenharmony_ci	  Driver for Texas Instruments da8xx master peripheral priority
2398c2ecf20Sopenharmony_ci	  configuration. Allows to adjust the priorities of all master
2408c2ecf20Sopenharmony_ci	  peripherals.
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_cisource "drivers/bus/fsl-mc/Kconfig"
2438c2ecf20Sopenharmony_cisource "drivers/bus/mhi/Kconfig"
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ciendmenu
246