^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) menu "PCI controller drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) config PCI_MVEBU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) bool "Marvell EBU PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) depends on MVEBU_MBUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) depends on ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) select PCI_BRIDGE_EMUL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) config PCI_AARDVARK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) tristate "Aardvark PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select PCI_BRIDGE_EMUL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) Add support for Aardvark 64bit PCIe Host Controller. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) controller is part of the South Bridge of the Marvel Armada
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 3700 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) config PCIE_XILINX_NWL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) bool "NWL PCIe Core"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) depends on ARCH_ZYNQMP || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Say 'Y' here if you want kernel support for Xilinx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) NWL PCIe controller. The controller can act as Root Port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) or End Point. The current option selection will only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) support root port enabling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config PCI_FTPCI100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) bool "Faraday Technology FTPCI100 PCI controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) default ARCH_GEMINI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) config PCI_TEGRA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) bool "NVIDIA Tegra PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) depends on ARCH_TEGRA || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) select PCI_MSI_ARCH_FALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Say Y here if you want support for the PCIe host controller found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) on NVIDIA Tegra SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) config PCI_RCAR_GEN2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) bool "Renesas R-Car Gen2 Internal PCI controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) depends on ARCH_RENESAS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) depends on ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Say Y here if you want internal PCI support on R-Car Gen2 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) There are 3 internal PCI controllers available with a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) built-in EHCI/OHCI host controller present on each one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) config PCIE_RCAR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) bool "Renesas R-Car PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) depends on ARCH_RENESAS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) select PCIE_RCAR_HOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Say Y here if you want PCIe controller support on R-Car SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) This option will be removed after arm64 defconfig is updated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) config PCIE_RCAR_HOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) bool "Renesas R-Car PCIe host controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) depends on ARCH_RENESAS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) select PCI_MSI_ARCH_FALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Say Y here if you want PCIe controller support on R-Car SoCs in host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) config PCIE_RCAR_EP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) bool "Renesas R-Car PCIe endpoint controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) depends on ARCH_RENESAS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) depends on PCI_ENDPOINT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Say Y here if you want PCIe controller support on R-Car SoCs in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) endpoint mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) config PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) select PCI_ECAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) config PCI_HOST_GENERIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) tristate "Generic PCI host controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) select PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) Say Y here if you want to support a simple generic PCI host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) controller, such as the one emulated by kvmtool.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) config PCIE_XILINX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) bool "Xilinx AXI PCIe host bridge support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) depends on OF || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) select PCI_MSI_ARCH_FALLBACKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Host Bridge driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) config PCIE_XILINX_CPM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) bool "Xilinx Versal CPM host bridge support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) depends on ARCH_ZYNQMP || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) select PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Say 'Y' here if you want kernel support for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Xilinx Versal CPM host bridge.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) config PCI_XGENE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) bool "X-Gene PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) depends on OF || (ACPI && PCI_QUIRKS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) Say Y here if you want internal PCI support on APM X-Gene SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) There are 5 internal PCIe ports available. Each port is GEN3 capable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) and have varied lanes from x1 to x8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config PCI_XGENE_MSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) bool "X-Gene v1 PCIe MSI feature"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) depends on PCI_XGENE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) config PCI_V3_SEMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) bool "V3 Semiconductor PCI controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) depends on ARM || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) default ARCH_INTEGRATOR_AP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) config PCI_VERSATILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) bool "ARM Versatile PB PCI controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) depends on ARCH_VERSATILE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) config PCIE_IPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) This enables the iProc PCIe core controller support for Broadcom's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) iProc family of SoCs. An appropriate bus interface driver needs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) to be enabled to select this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) config PCIE_IPROC_PLATFORM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) tristate "Broadcom iProc PCIe platform bus driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) select PCIE_IPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) default ARCH_BCM_IPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Say Y here if you want to use the Broadcom iProc PCIe controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) through the generic platform bus interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) config PCIE_IPROC_BCMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) tristate "Broadcom iProc PCIe BCMA bus driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) select PCIE_IPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) select BCMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) default ARCH_BCM_5301X
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) Say Y here if you want to use the Broadcom iProc PCIe controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) through the BCMA bus interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) config PCIE_IPROC_MSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) bool "Broadcom iProc PCIe MSI support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) default ARCH_BCM_IPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) Say Y here if you want to enable MSI support for Broadcom's iProc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) PCIe controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) config PCIE_ALTERA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) tristate "Altera PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) Say Y here if you want to enable PCIe controller support on Altera
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) FPGA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) config PCIE_ALTERA_MSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) tristate "Altera PCIe MSI feature"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) depends on PCIE_ALTERA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) Say Y here if you want PCIe MSI support for the Altera FPGA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) This MSI driver supports Altera MSI to GIC controller IP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) config PCI_HOST_THUNDER_PEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) bool "Cavium Thunder PCIe controller to off-chip devices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) depends on OF || (ACPI && PCI_QUIRKS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) select PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) config PCI_HOST_THUNDER_ECAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) depends on OF || (ACPI && PCI_QUIRKS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) select PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) config PCIE_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) config PCIE_ROCKCHIP_HOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) tristate "Rockchip PCIe host controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) depends on ARCH_ROCKCHIP || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) select MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) select PCIE_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) Say Y here if you want internal PCI support on Rockchip SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) There is 1 internal PCIe port available to support GEN2 with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 4 slots.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) config PCIE_ROCKCHIP_EP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) bool "Rockchip PCIe endpoint controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) depends on ARCH_ROCKCHIP || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) depends on PCI_ENDPOINT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) select MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) select PCIE_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) Say Y here if you want to support Rockchip PCIe controller in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) endpoint mode on Rockchip SoC. There is 1 internal PCIe port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) available to support GEN2 with 4 slots.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) config ROCKCHIP_PCIE_DMA_OBJ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) bool "Rockchip PCIe uDMA transfer support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) depends on PCIE_ROCKCHIP_HOST || PCIE_DW_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) Say y to enable p2p DMA transfer between PCIe components.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) config PCIE_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) tristate "MediaTek PCIe controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) depends on ARCH_MEDIATEK || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) Say Y here if you want to enable PCIe controller support on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) MediaTek SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) config PCIE_TANGO_SMP8759
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) bool "Tango SMP8759 PCIe controller (DANGEROUS)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) depends on ARCH_TANGO && PCI_MSI && OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) depends on BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) select PCI_HOST_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) Say Y here to enable PCIe controller support for Sigma Designs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) Tango SMP8759-based systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) Note: The SMP8759 controller multiplexes PCI config and MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) accesses, and Linux doesn't provide a way to serialize them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) This can lead to data corruption if drivers perform concurrent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) config and MMIO accesses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) config VMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) depends on PCI_MSI && X86_64 && SRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) tristate "Intel Volume Management Device Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) Adds support for the Intel Volume Management Device (VMD). VMD is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) secondary PCI host bridge that allows PCI Express root ports,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) and devices attached to them, to be removed from the default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) PCI domain and placed within the VMD domain. This provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) more bus resources than are otherwise possible with a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) single domain. If you know your system provides one of these and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) has devices attached to it, say Y; if you are not sure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) module will be called vmd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) config PCIE_BRCMSTB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) tristate "Broadcom Brcmstb PCIe host controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) depends on ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) depends on PCI_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) default ARCH_BRCMSTB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) Say Y here to enable PCIe host controller support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) Broadcom STB based SoCs, like the Raspberry Pi 4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) config PCI_HYPERV_INTERFACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) tristate "Hyper-V PCI Interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) The Hyper-V PCI Interface is a helper driver allows other drivers to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) have a common interface with the Hyper-V PCI frontend driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) config PCI_LOONGSON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) bool "LOONGSON PCI Controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) depends on MACH_LOONGSON64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) depends on PCI_QUIRKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) default MACH_LOONGSON64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) Say Y here if you want to enable PCI controller support on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) Loongson systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) config PCIE_HISI_ERR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) depends on ACPI_APEI_GHES && (ARM64 || COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) bool "HiSilicon HIP PCIe controller error handling driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) Say Y here if you want error handling support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) for the PCIe controller's errors on HiSilicon HIP SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) source "drivers/pci/controller/dwc/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) source "drivers/pci/controller/mobiveil/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) source "drivers/pci/controller/cadence/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) endmenu