123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- 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 DM_GPIO
- 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 PCI_REGION_MULTI_ENTRY
- bool "Enable Multiple entries of region type MEMORY in ranges for PCI"
- depends on PCI || DM_PCI
- default n
- help
- Enable PCI memory regions to be of multiple entry. Multiple entry
- here refers to allow more than one count of address ranges for MEMORY
- region type. This helps to add support for SoC's like OcteonTX/TX2
- where every peripheral is on the PCI bus.
- config PCI_SRIOV
- bool "Enable Single Root I/O Virtualization support for PCI"
- depends on PCI || DM_PCI
- default n
- help
- Say Y here if you want to enable PCI Single Root I/O Virtualization
- capability support. This helps to enumerate Virtual Function devices
- if available on a PCI Physical Function device and probe for
- applicable drivers.
- config PCI_ARID
- bool "Enable Alternate Routing-ID support for PCI"
- depends on PCI || DM_PCI
- default n
- help
- Say Y here if you want to enable Alternate Routing-ID capability
- support on PCI devices. This helps to skip some devices in BDF
- scan that are not present.
- 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 PCIE_ECAM_SYNQUACER
- bool "SynQuacer ECAM-based PCI host controller support"
- default n
- depends on DM_PCI
- select PCI_INIT_R
- select PCI_REGION_MULTI_ENTRY
- help
- Say Y here if you want to enable support for Socionext
- SynQuacer SoC's ECAM-based PCIe host controllers.
- Note that this must be configured when boot because Linux driver
- expects the PCIe RC has been configured in the bootloader.
- 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_DW_SIFIVE
- bool "Enable SiFive FU740 PCIe"
- depends on CLK_SIFIVE_PRCI
- depends on RESET_SIFIVE
- depends on SIFIVE_GPIO
- select PCIE_DW_COMMON
- help
- Say Y here if you want to enable PCIe controller support on
- FU740.
- 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_OCTEONTX
- bool "OcteonTX PCI support"
- depends on (ARCH_OCTEONTX || ARCH_OCTEONTX2)
- help
- Enable support for the OcteonTX/TX2 SoC family ECAM/PEM controllers.
- These controllers provide PCI configuration access to all on-board
- peripherals so it should only be disabled for testing purposes
- config PCIE_OCTEON
- bool "MIPS Octeon PCIe support"
- depends on ARCH_OCTEON
- help
- Enable support for the MIPS Octeon SoC family PCIe controllers.
- 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
- default n
- config PCIE_LAYERSCAPE_RC
- bool "Layerscape PCIe Root Complex mode support"
- depends on DM_PCI
- select PCIE_LAYERSCAPE
- help
- Enable Layerscape PCIe Root Complex mode driver support. The Layerscape
- SoC may have one or several PCIe controllers. Each controller can be
- configured to Root Complex mode by clearing the corresponding bit of
- RCW[HOST_AGT_PEX].
- config PCI_IOMMU_EXTRA_MAPPINGS
- bool "Support for specifying extra IOMMU mappings for PCI"
- depends on PCIE_LAYERSCAPE_RC
- help
- Enable support for specifying extra IOMMU mappings for PCI
- controllers through a special env var called "pci_iommu_extra" or
- through a device tree property named "pci-iommu-extra" placed in
- the node describing the PCI controller.
- The intent is to cover SR-IOV scenarios which need mappings for VFs
- and PCI hot-plug scenarios. More documentation can be found under:
- arch/arm/cpu/armv8/fsl-layerscape/doc/README.pci_iommu_extra
- config PCIE_LAYERSCAPE_EP
- bool "Layerscape PCIe Endpoint mode support"
- depends on DM_PCI
- select PCIE_LAYERSCAPE
- select PCI_ENDPOINT
- help
- Enable Layerscape PCIe Endpoint mode driver support. The Layerscape
- SoC may have one or several PCIe controllers. Each controller can be
- configured to Endpoint mode by setting the corresponding bit of
- RCW[HOST_AGT_PEX].
- 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_RC || 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,ls2088a-pcie" if ARCH_LX2162A
- 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_RC || 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 PCIE_IPROC
- bool "Iproc PCIe support"
- depends on DM_PCI
- help
- Broadcom iProc PCIe controller driver.
- Say Y here if you want to enable Broadcom iProc PCIe controller,
- 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 PCIE_DW_COMMON
- bool
- select DM_PCI
- config PCI_KEYSTONE
- bool "TI Keystone PCIe controller"
- select PCIE_DW_COMMON
- 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_DW_MESON
- bool "Amlogic Meson DesignWare based PCIe controller"
- depends on ARCH_MESON
- select PCIE_DW_COMMON
- help
- Say Y here if you want to enable DW PCIe controller support on
- Amlogic SoCs.
- config PCIE_ROCKCHIP
- bool "Enable Rockchip PCIe driver"
- depends on ARCH_ROCKCHIP
- select DM_PCI
- select PHY_ROCKCHIP_PCIE
- default y if ROCKCHIP_RK3399
- help
- Say Y here if you want to enable PCIe controller support on
- Rockchip SoCs.
- config PCIE_DW_ROCKCHIP
- bool "Rockchip DesignWare based PCIe controller"
- depends on ARCH_ROCKCHIP
- select PCIE_DW_COMMON
- select PHY_ROCKCHIP_SNPS_PCIE3
- help
- Say Y here if you want to enable DW 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.
- config PCIE_UNIPHIER
- bool "Socionext UniPhier PCIe driver"
- depends on DM_PCI
- depends on ARCH_UNIPHIER
- select PHY_UNIPHIER_PCIE
- help
- Say Y here if you want to enable PCIe controller support on
- UniPhier SoCs.
- endif
|