162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Bus Devices 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenu "Bus devices" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciconfig ARM_CCI 962306a36Sopenharmony_ci bool 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciconfig ARM_CCI400_COMMON 1262306a36Sopenharmony_ci bool 1362306a36Sopenharmony_ci select ARM_CCI 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciconfig ARM_CCI400_PORT_CTRL 1662306a36Sopenharmony_ci bool 1762306a36Sopenharmony_ci depends on ARM && OF && CPU_V7 1862306a36Sopenharmony_ci select ARM_CCI400_COMMON 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci Low level power management driver for CCI400 cache coherent 2162306a36Sopenharmony_ci interconnect for ARM platforms. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciconfig ARM_INTEGRATOR_LM 2462306a36Sopenharmony_ci bool "ARM Integrator Logic Module bus" 2562306a36Sopenharmony_ci depends on HAS_IOMEM 2662306a36Sopenharmony_ci depends on ARCH_INTEGRATOR || COMPILE_TEST 2762306a36Sopenharmony_ci default ARCH_INTEGRATOR 2862306a36Sopenharmony_ci help 2962306a36Sopenharmony_ci Say y here to enable support for the ARM Logic Module bus 3062306a36Sopenharmony_ci found on the ARM Integrator AP (Application Platform) 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig BRCMSTB_GISB_ARB 3362306a36Sopenharmony_ci tristate "Broadcom STB GISB bus arbiter" 3462306a36Sopenharmony_ci depends on ARM || ARM64 || MIPS 3562306a36Sopenharmony_ci default ARCH_BRCMSTB || BMIPS_GENERIC 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci Driver for the Broadcom Set Top Box System-on-a-chip internal bus 3862306a36Sopenharmony_ci arbiter. This driver provides timeout and target abort error handling 3962306a36Sopenharmony_ci and internal bus master decoding. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig BT1_APB 4262306a36Sopenharmony_ci bool "Baikal-T1 APB-bus driver" 4362306a36Sopenharmony_ci depends on MIPS_BAIKAL_T1 || COMPILE_TEST 4462306a36Sopenharmony_ci select REGMAP_MMIO 4562306a36Sopenharmony_ci help 4662306a36Sopenharmony_ci Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs. 4762306a36Sopenharmony_ci IO requests are routed to this bus by means of the DW AMBA 3 AXI 4862306a36Sopenharmony_ci Interconnect. In case of any APB protocol collisions, slave device 4962306a36Sopenharmony_ci not responding on timeout an IRQ is raised with an erroneous address 5062306a36Sopenharmony_ci reported to the APB terminator (APB Errors Handler Block). This 5162306a36Sopenharmony_ci driver provides the interrupt handler to detect the erroneous 5262306a36Sopenharmony_ci address, prints an error message about the address fault, updates an 5362306a36Sopenharmony_ci errors counter. The counter and the APB-bus operations timeout can be 5462306a36Sopenharmony_ci accessed via corresponding sysfs nodes. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciconfig BT1_AXI 5762306a36Sopenharmony_ci bool "Baikal-T1 AXI-bus driver" 5862306a36Sopenharmony_ci depends on MIPS_BAIKAL_T1 || COMPILE_TEST 5962306a36Sopenharmony_ci select MFD_SYSCON 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci AXI3-bus is the main communication bus connecting all high-speed 6262306a36Sopenharmony_ci peripheral IP-cores with RAM controller and with MIPS P5600 cores on 6362306a36Sopenharmony_ci Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI 6462306a36Sopenharmony_ci Interconnect (so called AXI Main Interconnect) routing IO requests 6562306a36Sopenharmony_ci from one SoC block to another. This driver provides a way to detect 6662306a36Sopenharmony_ci any bus protocol errors and device not responding situations by 6762306a36Sopenharmony_ci means of an embedded on top of the interconnect errors handler 6862306a36Sopenharmony_ci block (EHB). AXI Interconnect QoS arbitration tuning is currently 6962306a36Sopenharmony_ci unsupported. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig MOXTET 7262306a36Sopenharmony_ci tristate "CZ.NIC Turris Mox module configuration bus" 7362306a36Sopenharmony_ci depends on SPI_MASTER && OF 7462306a36Sopenharmony_ci help 7562306a36Sopenharmony_ci Say yes here to add support for the module configuration bus found 7662306a36Sopenharmony_ci on CZ.NIC's Turris Mox. This is needed for the ability to discover 7762306a36Sopenharmony_ci the order in which the modules are connected and to get/set some of 7862306a36Sopenharmony_ci their settings. For example the GPIOs on Mox SFP module are 7962306a36Sopenharmony_ci configured through this bus. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciconfig HISILICON_LPC 8262306a36Sopenharmony_ci bool "Support for ISA I/O space on HiSilicon Hip06/7" 8362306a36Sopenharmony_ci depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC) 8462306a36Sopenharmony_ci depends on HAS_IOPORT 8562306a36Sopenharmony_ci select INDIRECT_PIO if ARM64 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci Driver to enable I/O access to devices attached to the Low Pin 8862306a36Sopenharmony_ci Count bus on the HiSilicon Hip06/7 SoC. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig IMX_WEIM 9162306a36Sopenharmony_ci bool "Freescale EIM DRIVER" 9262306a36Sopenharmony_ci depends on ARCH_MXC 9362306a36Sopenharmony_ci help 9462306a36Sopenharmony_ci Driver for i.MX WEIM controller. 9562306a36Sopenharmony_ci The WEIM(Wireless External Interface Module) works like a bus. 9662306a36Sopenharmony_ci You can attach many different devices on it, such as NOR, onenand. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciconfig INTEL_IXP4XX_EB 9962306a36Sopenharmony_ci bool "Intel IXP4xx expansion bus interface driver" 10062306a36Sopenharmony_ci depends on HAS_IOMEM 10162306a36Sopenharmony_ci depends on ARCH_IXP4XX || COMPILE_TEST 10262306a36Sopenharmony_ci default ARCH_IXP4XX 10362306a36Sopenharmony_ci select MFD_SYSCON 10462306a36Sopenharmony_ci help 10562306a36Sopenharmony_ci Driver for the Intel IXP4xx expansion bus interface. The driver is 10662306a36Sopenharmony_ci needed to set up various chip select configuration parameters before 10762306a36Sopenharmony_ci devices on the expansion bus can be discovered. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciconfig MIPS_CDMM 11062306a36Sopenharmony_ci bool "MIPS Common Device Memory Map (CDMM) Driver" 11162306a36Sopenharmony_ci depends on CPU_MIPSR2 || CPU_MIPSR5 11262306a36Sopenharmony_ci help 11362306a36Sopenharmony_ci Driver needed for the MIPS Common Device Memory Map bus in MIPS 11462306a36Sopenharmony_ci cores. This bus is for per-CPU tightly coupled devices such as the 11562306a36Sopenharmony_ci Fast Debug Channel (FDC). 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci For this to work, either your bootloader needs to enable the CDMM 11862306a36Sopenharmony_ci region at an unused physical address on the boot CPU, or else your 11962306a36Sopenharmony_ci platform code needs to implement mips_cdmm_phys_base() (see 12062306a36Sopenharmony_ci asm/cdmm.h). 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig MVEBU_MBUS 12362306a36Sopenharmony_ci bool 12462306a36Sopenharmony_ci depends on PLAT_ORION 12562306a36Sopenharmony_ci help 12662306a36Sopenharmony_ci Driver needed for the MBus configuration on Marvell EBU SoCs 12762306a36Sopenharmony_ci (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP). 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciconfig OMAP_INTERCONNECT 13062306a36Sopenharmony_ci tristate "OMAP INTERCONNECT DRIVER" 13162306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci help 13462306a36Sopenharmony_ci Driver to enable OMAP interconnect error handling driver. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciconfig OMAP_OCP2SCP 13762306a36Sopenharmony_ci tristate "OMAP OCP2SCP DRIVER" 13862306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS 13962306a36Sopenharmony_ci help 14062306a36Sopenharmony_ci Driver to enable ocp2scp module which transforms ocp interface 14162306a36Sopenharmony_ci protocol to scp protocol. In OMAP4, USB PHY is connected via 14262306a36Sopenharmony_ci OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via 14362306a36Sopenharmony_ci OCP2SCP. 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ciconfig QCOM_EBI2 14662306a36Sopenharmony_ci bool "Qualcomm External Bus Interface 2 (EBI2)" 14762306a36Sopenharmony_ci depends on HAS_IOMEM 14862306a36Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 14962306a36Sopenharmony_ci default ARCH_QCOM 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci Say y here to enable support for the Qualcomm External Bus 15262306a36Sopenharmony_ci Interface 2, which can be used to connect things like NAND Flash, 15362306a36Sopenharmony_ci SRAM, ethernet adapters, FPGAs and LCD displays. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciconfig QCOM_SSC_BLOCK_BUS 15662306a36Sopenharmony_ci bool "Qualcomm SSC Block Bus Init Driver" 15762306a36Sopenharmony_ci depends on ARCH_QCOM 15862306a36Sopenharmony_ci help 15962306a36Sopenharmony_ci Say y here to enable support for initializing the bus that connects 16062306a36Sopenharmony_ci the SSC block's internal bus to the cNoC (configurantion NoC) on 16162306a36Sopenharmony_ci (some) qcom SoCs. 16262306a36Sopenharmony_ci The SSC (Snapdragon Sensor Core) block contains a gpio controller, 16362306a36Sopenharmony_ci i2c/spi/uart controllers, a hexagon core, and a clock controller 16462306a36Sopenharmony_ci which provides clocks for the above. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig SUN50I_DE2_BUS 16762306a36Sopenharmony_ci bool "Allwinner A64 DE2 Bus Driver" 16862306a36Sopenharmony_ci default ARM64 16962306a36Sopenharmony_ci depends on ARCH_SUNXI 17062306a36Sopenharmony_ci select SUNXI_SRAM 17162306a36Sopenharmony_ci help 17262306a36Sopenharmony_ci Say y here to enable support for Allwinner A64 DE2 bus driver. It's 17362306a36Sopenharmony_ci mostly transparent, but a SRAM region needs to be claimed in the SRAM 17462306a36Sopenharmony_ci controller to make the all blocks in the DE2 part accessible. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciconfig SUNXI_RSB 17762306a36Sopenharmony_ci tristate "Allwinner sunXi Reduced Serial Bus Driver" 17862306a36Sopenharmony_ci default MACH_SUN8I || MACH_SUN9I || ARM64 17962306a36Sopenharmony_ci depends on ARCH_SUNXI 18062306a36Sopenharmony_ci select REGMAP 18162306a36Sopenharmony_ci help 18262306a36Sopenharmony_ci Say y here to enable support for Allwinner's Reduced Serial Bus 18362306a36Sopenharmony_ci (RSB) support. This controller is responsible for communicating 18462306a36Sopenharmony_ci with various RSB based devices, such as AXP223, AXP8XX PMICs, 18562306a36Sopenharmony_ci and AC100/AC200 ICs. 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciconfig TEGRA_ACONNECT 18862306a36Sopenharmony_ci tristate "Tegra ACONNECT Bus Driver" 18962306a36Sopenharmony_ci depends on ARCH_TEGRA 19062306a36Sopenharmony_ci depends on OF && PM 19162306a36Sopenharmony_ci help 19262306a36Sopenharmony_ci Driver for the Tegra ACONNECT bus which is used to interface with 19362306a36Sopenharmony_ci the devices inside the Audio Processing Engine (APE) for 19462306a36Sopenharmony_ci Tegra210 and later. 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ciconfig TEGRA_GMI 19762306a36Sopenharmony_ci tristate "Tegra Generic Memory Interface bus driver" 19862306a36Sopenharmony_ci depends on ARCH_TEGRA 19962306a36Sopenharmony_ci help 20062306a36Sopenharmony_ci Driver for the Tegra Generic Memory Interface bus which can be used 20162306a36Sopenharmony_ci to attach devices such as NOR, UART, FPGA and more. 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ciconfig TI_PWMSS 20462306a36Sopenharmony_ci bool 20562306a36Sopenharmony_ci default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP) 20662306a36Sopenharmony_ci help 20762306a36Sopenharmony_ci PWM Subsystem driver support for AM33xx SOC. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci PWM submodules require PWM config space access from submodule 21062306a36Sopenharmony_ci drivers and require common parent driver support. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciconfig TI_SYSC 21362306a36Sopenharmony_ci bool "TI sysc interconnect target module driver" 21462306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_K3 21562306a36Sopenharmony_ci default y 21662306a36Sopenharmony_ci help 21762306a36Sopenharmony_ci Generic driver for Texas Instruments interconnect target module 21862306a36Sopenharmony_ci found on many TI SoCs. 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ciconfig TS_NBUS 22162306a36Sopenharmony_ci tristate "Technologic Systems NBUS Driver" 22262306a36Sopenharmony_ci depends on SOC_IMX28 22362306a36Sopenharmony_ci depends on OF_GPIO && PWM 22462306a36Sopenharmony_ci help 22562306a36Sopenharmony_ci Driver for the Technologic Systems NBUS which is used to interface 22662306a36Sopenharmony_ci with the peripherals in the FPGA of the TS-4600 SoM. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ciconfig UNIPHIER_SYSTEM_BUS 22962306a36Sopenharmony_ci tristate "UniPhier System Bus driver" 23062306a36Sopenharmony_ci depends on ARCH_UNIPHIER && OF 23162306a36Sopenharmony_ci default y 23262306a36Sopenharmony_ci help 23362306a36Sopenharmony_ci Support for UniPhier System Bus, a simple external bus. This is 23462306a36Sopenharmony_ci needed to use on-board devices connected to UniPhier SoCs. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ciconfig VEXPRESS_CONFIG 23762306a36Sopenharmony_ci tristate "Versatile Express configuration bus" 23862306a36Sopenharmony_ci default y if ARCH_VEXPRESS 23962306a36Sopenharmony_ci depends on ARM || ARM64 24062306a36Sopenharmony_ci depends on OF 24162306a36Sopenharmony_ci select REGMAP 24262306a36Sopenharmony_ci help 24362306a36Sopenharmony_ci Platform configuration infrastructure for the ARM Ltd. 24462306a36Sopenharmony_ci Versatile Express. 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ciconfig DA8XX_MSTPRI 24762306a36Sopenharmony_ci bool "TI da8xx master peripheral priority driver" 24862306a36Sopenharmony_ci depends on ARCH_DAVINCI_DA8XX 24962306a36Sopenharmony_ci help 25062306a36Sopenharmony_ci Driver for Texas Instruments da8xx master peripheral priority 25162306a36Sopenharmony_ci configuration. Allows to adjust the priorities of all master 25262306a36Sopenharmony_ci peripherals. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_cisource "drivers/bus/fsl-mc/Kconfig" 25562306a36Sopenharmony_cisource "drivers/bus/mhi/Kconfig" 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ciendmenu 258