mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 04:07:05 +07:00
adf38bb0b5
The low-pin-count (LPC) interface of Hip06/Hip07 accesses I/O port space of peripherals. Implement the LPC host controller driver which performs the I/O operations on the underlying hardware. We don't want to touch existing drivers such as ipmi-bt, so this driver applies the indirect-IO introduced in the previous patch after registering an indirect-IO node to the indirect-IO devices list which will be searched by the I/O accessors to retrieve the host-local I/O port. The driver config is set as a bool instead of a tristate. The reason here is that, by the very nature of the driver providing a logical PIO range, it does not make sense to have this driver as a loadable module. Another more specific reason is that the Huawei D03 board which includes Hip06 SoC requires the LPC bus for UART console, so should be built in. Tested-by: dann frazier <dann.frazier@canonical.com> Signed-off-by: Zou Rongrong <zourongrong@huawei.com> Signed-off-by: Zhichang Yuan <yuanzhichang@hisilicon.com> Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Rob Herring <robh@kernel.org> # dts part
211 lines
6.1 KiB
Plaintext
211 lines
6.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Bus Devices
|
|
#
|
|
|
|
menu "Bus devices"
|
|
|
|
config ARM_CCI
|
|
bool
|
|
|
|
config ARM_CCI_PMU
|
|
bool
|
|
select ARM_CCI
|
|
|
|
config ARM_CCI400_COMMON
|
|
bool
|
|
select ARM_CCI
|
|
|
|
config ARM_CCI400_PMU
|
|
bool "ARM CCI400 PMU support"
|
|
depends on (ARM && CPU_V7) || ARM64
|
|
depends on PERF_EVENTS
|
|
select ARM_CCI400_COMMON
|
|
select ARM_CCI_PMU
|
|
help
|
|
Support for PMU events monitoring on the ARM CCI-400 (cache coherent
|
|
interconnect). CCI-400 supports counting events related to the
|
|
connected slave/master interfaces.
|
|
|
|
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 ARM_CCI5xx_PMU
|
|
bool "ARM CCI-500/CCI-550 PMU support"
|
|
depends on (ARM && CPU_V7) || ARM64
|
|
depends on PERF_EVENTS
|
|
select ARM_CCI_PMU
|
|
help
|
|
Support for PMU events monitoring on the ARM CCI-500/CCI-550 cache
|
|
coherent interconnects. Both of them provide 8 independent event counters,
|
|
which can count events pertaining to the slave/master interfaces as well
|
|
as the internal events to the CCI.
|
|
|
|
If unsure, say Y
|
|
|
|
config ARM_CCN
|
|
tristate "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 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 HISILICON_LPC
|
|
bool "Support for ISA I/O space on HiSilicon Hip06/7"
|
|
depends on ARM64 && (ARCH_HISI || COMPILE_TEST)
|
|
select INDIRECT_PIO
|
|
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 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
|
|
select PM_CLK
|
|
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_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.
|
|
|
|
endmenu
|