# SPDX-License-Identifier: GPL-2.0 # # Bus Devices # menu "Bus devices" config ARM_CCI bool config ARM_CCI400_COMMON bool select ARM_CCI config ARM_CCI400_PORT_CTRL bool depends on ARM && OF && CPU_V7 select ARM_CCI400_COMMON help Low level power management driver for CCI400 cache coherent interconnect for ARM platforms. config BRCMSTB_GISB_ARB bool "Broadcom STB GISB bus arbiter" depends on ARM || ARM64 || MIPS default ARCH_BRCMSTB || BMIPS_GENERIC help Driver for the Broadcom Set Top Box System-on-a-chip internal bus arbiter. This driver provides timeout and target abort error handling and internal bus master decoding. config BT1_APB tristate "Baikal-T1 APB-bus driver" depends on MIPS_BAIKAL_T1 || COMPILE_TEST select REGMAP_MMIO help Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs. IO requests are routed to this bus by means of the DW AMBA 3 AXI Interconnect. In case of any APB protocol collisions, slave device not responding on timeout an IRQ is raised with an erroneous address reported to the APB terminator (APB Errors Handler Block). This driver provides the interrupt handler to detect the erroneous address, prints an error message about the address fault, updates an errors counter. The counter and the APB-bus operations timeout can be accessed via corresponding sysfs nodes. config BT1_AXI tristate "Baikal-T1 AXI-bus driver" depends on MIPS_BAIKAL_T1 || COMPILE_TEST select MFD_SYSCON help AXI3-bus is the main communication bus connecting all high-speed peripheral IP-cores with RAM controller and with MIPS P5600 cores on Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI Interconnect (so called AXI Main Interconnect) routing IO requests from one SoC block to another. This driver provides a way to detect any bus protocol errors and device not responding situations by means of an embedded on top of the interconnect errors handler block (EHB). AXI Interconnect QoS arbitration tuning is currently unsupported. config MOXTET tristate "CZ.NIC Turris Mox module configuration bus" depends on SPI_MASTER && OF help Say yes here to add support for the module configuration bus found on CZ.NIC's Turris Mox. This is needed for the ability to discover the order in which the modules are connected and to get/set some of their settings. For example the GPIOs on Mox SFP module are configured through this bus. config HISILICON_LPC bool "Support for ISA I/O space on HiSilicon Hip06/7" depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC && !C6X) depends on HAS_IOMEM select INDIRECT_PIO if ARM64 help Driver to enable I/O access to devices attached to the Low Pin Count bus on the HiSilicon Hip06/7 SoC. config IMX_WEIM bool "Freescale EIM DRIVER" depends on ARCH_MXC help Driver for i.MX WEIM controller. The WEIM(Wireless External Interface Module) works like a bus. You can attach many different devices on it, such as NOR, onenand. config MIPS_CDMM bool "MIPS Common Device Memory Map (CDMM) Driver" depends on CPU_MIPSR2 help Driver needed for the MIPS Common Device Memory Map bus in MIPS cores. This bus is for per-CPU tightly coupled devices such as the Fast Debug Channel (FDC). For this to work, either your bootloader needs to enable the CDMM region at an unused physical address on the boot CPU, or else your platform code needs to implement mips_cdmm_phys_base() (see asm/cdmm.h). config MVEBU_MBUS bool depends on PLAT_ORION help Driver needed for the MBus configuration on Marvell EBU SoCs (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP). config OMAP_INTERCONNECT tristate "OMAP INTERCONNECT DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable OMAP interconnect error handling driver. config OMAP_OCP2SCP tristate "OMAP OCP2SCP DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable ocp2scp module which transforms ocp interface protocol to scp protocol. In OMAP4, USB PHY is connected via OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via OCP2SCP. config QCOM_EBI2 bool "Qualcomm External Bus Interface 2 (EBI2)" depends on HAS_IOMEM depends on ARCH_QCOM || COMPILE_TEST default ARCH_QCOM help Say y here to enable support for the Qualcomm External Bus Interface 2, which can be used to connect things like NAND Flash, SRAM, ethernet adapters, FPGAs and LCD displays. config SIMPLE_PM_BUS tristate "Simple Power-Managed Bus Driver" depends on OF && PM help Driver for transparent busses that don't need a real driver, but where the bus controller is part of a PM domain, or under the control of a functional clock, and thus relies on runtime PM for managing this PM domain and/or clock. An example of such a bus controller is the Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus Bridge", or "External Bus Interface") as found on several Renesas ARM SoCs. config SUN50I_DE2_BUS bool "Allwinner A64 DE2 Bus Driver" default ARM64 depends on ARCH_SUNXI select SUNXI_SRAM help Say y here to enable support for Allwinner A64 DE2 bus driver. It's mostly transparent, but a SRAM region needs to be claimed in the SRAM controller to make the all blocks in the DE2 part accessible. config SUNXI_RSB tristate "Allwinner sunXi Reduced Serial Bus Driver" default MACH_SUN8I || MACH_SUN9I || ARM64 depends on ARCH_SUNXI select REGMAP help Say y here to enable support for Allwinner's Reduced Serial Bus (RSB) support. This controller is responsible for communicating with various RSB based devices, such as AXP223, AXP8XX PMICs, and AC100/AC200 ICs. config TEGRA_ACONNECT tristate "Tegra ACONNECT Bus Driver" depends on ARCH_TEGRA_210_SOC depends on OF && PM help Driver for the Tegra ACONNECT bus which is used to interface with the devices inside the Audio Processing Engine (APE) for Tegra210. config TEGRA_GMI tristate "Tegra Generic Memory Interface bus driver" depends on ARCH_TEGRA help Driver for the Tegra Generic Memory Interface bus which can be used to attach devices such as NOR, UART, FPGA and more. config TI_PWMSS bool default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM || TI_EQEP) help PWM Subsystem driver support for AM33xx SOC. PWM submodules require PWM config space access from submodule drivers and require common parent driver support. config TI_SYSC bool "TI sysc interconnect target module driver" depends on ARCH_OMAP2PLUS help Generic driver for Texas Instruments interconnect target module found on many TI SoCs. config TS_NBUS tristate "Technologic Systems NBUS Driver" depends on SOC_IMX28 depends on OF_GPIO && PWM help Driver for the Technologic Systems NBUS which is used to interface with the peripherals in the FPGA of the TS-4600 SoM. config UNIPHIER_SYSTEM_BUS tristate "UniPhier System Bus driver" depends on ARCH_UNIPHIER && OF default y help Support for UniPhier System Bus, a simple external bus. This is needed to use on-board devices connected to UniPhier SoCs. config VEXPRESS_CONFIG bool "Versatile Express configuration bus" default y if ARCH_VEXPRESS depends on ARM || ARM64 depends on OF select REGMAP help Platform configuration infrastructure for the ARM Ltd. Versatile Express. config DA8XX_MSTPRI bool "TI da8xx master peripheral priority driver" depends on ARCH_DAVINCI_DA8XX help Driver for Texas Instruments da8xx master peripheral priority configuration. Allows to adjust the priorities of all master peripherals. source "drivers/bus/fsl-mc/Kconfig" source "drivers/bus/mhi/Kconfig" endmenu