mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 16:39:35 +00:00
7b1c3f6f65
This patch adds basic driver PCI Express controller found on Broadcom set-top-box SoCs, e.g. BCM2711. The code is based on Linux upstream driver (pcie-brcmstb.c) with MSI handling removed. The inbound access memory region is not currently parsed from dma-ranges DT property and a fixed 3GB region is used. The patch has been tested on RPI4 board, i.e. on BCM2711 SoC with VL805 USB Host Controller. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
217 lines
6.4 KiB
Text
217 lines
6.4 KiB
Text
menuconfig PCI
|
|
bool "PCI support"
|
|
default y if PPC
|
|
help
|
|
Enable support for PCI (Peripheral Interconnect Bus), a type of bus
|
|
used on some devices to allow the CPU to communicate with its
|
|
peripherals.
|
|
|
|
if PCI
|
|
|
|
config DM_PCI
|
|
bool "Enable driver model for PCI"
|
|
depends on DM
|
|
help
|
|
Use driver model for PCI. Driver model is the new method for
|
|
orgnising devices in U-Boot. For PCI, driver model keeps track of
|
|
available PCI devices, allows scanning of PCI buses and provides
|
|
device configuration support.
|
|
|
|
config DM_PCI_COMPAT
|
|
bool "Enable compatible functions for PCI"
|
|
depends on DM_PCI
|
|
help
|
|
Enable compatibility functions for PCI so that old code can be used
|
|
with CONFIG_DM_PCI enabled. This should be used as an interim
|
|
measure when porting a board to use driver model for PCI. Once the
|
|
board is fully supported, this option should be disabled.
|
|
|
|
config PCI_AARDVARK
|
|
bool "Enable Aardvark PCIe driver"
|
|
default n
|
|
depends on DM_PCI
|
|
depends on ARMADA_3700
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Armada37x0 SoCs. The PCIe controller on Armada37x0 is based on
|
|
Aardvark hardware.
|
|
|
|
config PCI_PNP
|
|
bool "Enable Plug & Play support for PCI"
|
|
depends on PCI || DM_PCI
|
|
default y
|
|
help
|
|
Enable PCI memory and I/O space resource allocation and assignment.
|
|
|
|
config PCIE_ECAM_GENERIC
|
|
bool "Generic ECAM-based PCI host controller support"
|
|
default n
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable support for generic ECAM-based
|
|
PCIe host controllers, such as the one emulated by QEMU.
|
|
|
|
config PCI_PHYTIUM
|
|
bool "Phytium PCIe support"
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Phytium SoCs.
|
|
|
|
config PCIE_DW_MVEBU
|
|
bool "Enable Armada-8K PCIe driver (DesignWare core)"
|
|
depends on DM_PCI
|
|
depends on ARMADA_8K
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Armada-8K SoCs. The PCIe controller on Armada-8K is based on
|
|
DesignWare hardware.
|
|
|
|
config PCIE_FSL
|
|
bool "FSL PowerPC PCIe support"
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on FSL
|
|
PowerPC MPC85xx, MPC86xx, B series, P series and T series SoCs.
|
|
This driver does not support SRIO_PCIE_BOOT feature.
|
|
|
|
config PCI_MPC85XX
|
|
bool "MPC85XX PowerPC PCI support"
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable PCI controller support on FSL
|
|
PowerPC MPC85xx SoC.
|
|
|
|
config PCI_RCAR_GEN2
|
|
bool "Renesas RCar Gen2 PCIe driver"
|
|
depends on DM_PCI
|
|
depends on RCAR_32
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
|
|
also used to access EHCI USB controller on the SoC.
|
|
|
|
config PCI_RCAR_GEN3
|
|
bool "Renesas RCar Gen3 PCIe driver"
|
|
depends on DM_PCI
|
|
depends on RCAR_GEN3
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Renesas RCar Gen3 SoCs.
|
|
|
|
config PCI_SANDBOX
|
|
bool "Sandbox PCI support"
|
|
depends on SANDBOX && DM_PCI
|
|
help
|
|
Support PCI on sandbox, as an emulated bus. This permits testing of
|
|
PCI feature such as bus scanning, device configuration and device
|
|
access. The available (emulated) devices are defined statically in
|
|
the device tree but the normal PCI scan technique is used to find
|
|
then.
|
|
|
|
config PCI_TEGRA
|
|
bool "Tegra PCI support"
|
|
depends on ARCH_TEGRA
|
|
depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
|
|
help
|
|
Enable support for the PCIe controller found on some generations of
|
|
Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
|
|
3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
|
|
with a total of 5 lanes. Some boards require this for Ethernet
|
|
support to work (e.g. beaver, jetson-tk1).
|
|
|
|
config PCI_XILINX
|
|
bool "Xilinx AXI Bridge for PCI Express"
|
|
depends on DM_PCI
|
|
help
|
|
Enable support for the Xilinx AXI bridge for PCI express, an IP block
|
|
which can be used on some generations of Xilinx FPGAs.
|
|
|
|
config PCIE_LAYERSCAPE
|
|
bool "Layerscape PCIe support"
|
|
depends on DM_PCI
|
|
help
|
|
Support Layerscape PCIe. The Layerscape SoC may have one or several
|
|
PCIe controllers. The PCIe may works in RC or EP mode according to
|
|
RCW[HOST_AGT_PEX] setting.
|
|
|
|
config PCIE_LAYERSCAPE_GEN4
|
|
bool "Layerscape Gen4 PCIe support"
|
|
depends on DM_PCI
|
|
help
|
|
Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
|
|
several PCIe controllers. The PCIe controller can work in RC or
|
|
EP mode according to RCW[HOST_AGT_PEX] setting.
|
|
|
|
config FSL_PCIE_COMPAT
|
|
string "PCIe compatible of Kernel DT"
|
|
depends on PCIE_LAYERSCAPE || PCIE_LAYERSCAPE_GEN4
|
|
default "fsl,ls1012a-pcie" if ARCH_LS1012A
|
|
default "fsl,ls1028a-pcie" if ARCH_LS1028A
|
|
default "fsl,ls1043a-pcie" if ARCH_LS1043A
|
|
default "fsl,ls1046a-pcie" if ARCH_LS1046A
|
|
default "fsl,ls2080a-pcie" if ARCH_LS2080A
|
|
default "fsl,ls1088a-pcie" if ARCH_LS1088A
|
|
default "fsl,lx2160a-pcie" if ARCH_LX2160A
|
|
default "fsl,ls1021a-pcie" if ARCH_LS1021A
|
|
help
|
|
This compatible is used to find pci controller node in Kernel DT
|
|
to complete fixup.
|
|
|
|
config FSL_PCIE_EP_COMPAT
|
|
string "PCIe EP compatible of Kernel DT"
|
|
depends on PCIE_LAYERSCAPE || PCIE_LAYERSCAPE_GEN4
|
|
default "fsl,lx2160a-pcie-ep" if ARCH_LX2160A
|
|
default "fsl,ls-pcie-ep"
|
|
help
|
|
This compatible is used to find pci controller ep node in Kernel DT
|
|
to complete fixup.
|
|
|
|
config PCIE_INTEL_FPGA
|
|
bool "Intel FPGA PCIe support"
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on Intel
|
|
FPGA, example Stratix 10.
|
|
|
|
config PCI_MVEBU
|
|
bool "Enable Armada XP/38x PCIe driver"
|
|
depends on ARCH_MVEBU
|
|
select DM_PCI
|
|
select MISC
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Armada XP/38x SoCs.
|
|
|
|
config PCI_KEYSTONE
|
|
bool "TI Keystone PCIe controller"
|
|
depends on DM_PCI
|
|
help
|
|
Say Y here if you want to enable PCI controller support on AM654 SoC.
|
|
|
|
config PCIE_MEDIATEK
|
|
bool "MediaTek PCIe Gen2 controller"
|
|
depends on DM_PCI
|
|
depends on ARCH_MEDIATEK
|
|
help
|
|
Say Y here if you want to enable Gen2 PCIe controller,
|
|
which could be found on MT7623 SoC family.
|
|
|
|
config PCIE_ROCKCHIP
|
|
bool "Enable Rockchip PCIe driver"
|
|
select DM_PCI
|
|
default y if ROCKCHIP_RK3399
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on
|
|
Rockchip SoCs.
|
|
|
|
config PCI_BRCMSTB
|
|
bool "Broadcom STB PCIe controller"
|
|
depends on DM_PCI
|
|
depends on ARCH_BCM283X
|
|
help
|
|
Say Y here if you want to enable support for PCIe controller
|
|
on Broadcom set-top-box (STB) SoCs.
|
|
This driver currently supports only BCM2711 SoC and RC mode
|
|
of the controller.
|
|
endif
|