mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 22:50:56 +07:00
8286ae0330
Add MIPS Common Device Memory Map (CDMM) support in the form of a bus in the standard Linux device model. Each device attached via CDMM is discoverable via an 8-bit type identifier and may contain a number of blocks of memory mapped registers in the CDMM region. IRQs are expected to be handled separately. Due to the per-cpu (per-VPE for MT cores) nature of the CDMM devices, all the driver callbacks take place from workqueues which are run on the right CPU for the device in question, so that the driver doesn't need to be as concerned about which CPU it is running on. Callbacks also exist for when CPUs are taken offline, so that any per-CPU resources used by the driver can be disabled so they don't get forcefully migrated. CDMM devices are created as children of the CPU device they are attached to. Any existing CDMM configuration by the bootloader will be inherited, however platforms wishing to enable CDMM should implement the weak mips_cdmm_phys_base() function (see asm/cdmm.h) so that the bus driver knows where it should put the CDMM region in the physical address space if the bootloader hasn't already enabled it. A mips_cdmm_early_probe() function is also provided to allow early boot or particularly low level code to set up the CDMM region and probe for a specific device type, for example early console or KGDB IO drivers for the EJTAG Fast Debug Channel (FDC) CDMM device. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/9599/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
84 lines
2.2 KiB
Plaintext
84 lines
2.2 KiB
Plaintext
#
|
|
# Bus Devices
|
|
#
|
|
|
|
menu "Bus devices"
|
|
|
|
config BRCMSTB_GISB_ARB
|
|
bool "Broadcom STB GISB bus arbiter"
|
|
depends on ARM || MIPS
|
|
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 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_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 OMAP_INTERCONNECT
|
|
tristate "OMAP INTERCONNECT DRIVER"
|
|
depends on ARCH_OMAP2PLUS
|
|
|
|
help
|
|
Driver to enable OMAP interconnect error handling driver.
|
|
|
|
config ARM_CCI
|
|
bool "ARM CCI driver support"
|
|
depends on ARM && OF && CPU_V7
|
|
help
|
|
Driver supporting the CCI cache coherent interconnect for ARM
|
|
platforms.
|
|
|
|
config ARM_CCN
|
|
bool "ARM CCN driver support"
|
|
depends on ARM || ARM64
|
|
depends on PERF_EVENTS
|
|
help
|
|
PMU (perf) driver supporting the ARM CCN (Cache Coherent Network)
|
|
interconnect.
|
|
|
|
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.
|
|
endmenu
|