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