# SPDX-License-Identifier: GPL-2.0

menu "Cadence PCIe controllers support"
	depends on PCI

config PCIE_CADENCE
	bool

config PCIE_CADENCE_HOST
	bool
	depends on OF
	select IRQ_DOMAIN
	select PCIE_CADENCE

config PCIE_CADENCE_EP
	bool
	depends on OF
	depends on PCI_ENDPOINT
	select PCIE_CADENCE

config PCIE_CADENCE_PLAT
	bool

config PCIE_CADENCE_PLAT_HOST
	bool "Cadence PCIe platform host controller"
	depends on OF
	select PCIE_CADENCE_HOST
	select PCIE_CADENCE_PLAT
	help
	  Say Y here if you want to support the Cadence PCIe platform controller in
	  host mode. This PCIe controller may be embedded into many different
	  vendors SoCs.

config PCIE_CADENCE_PLAT_EP
	bool "Cadence PCIe platform endpoint controller"
	depends on OF
	depends on PCI_ENDPOINT
	select PCIE_CADENCE_EP
	select PCIE_CADENCE_PLAT
	help
	  Say Y here if you want to support the Cadence PCIe  platform controller in
	  endpoint mode. This PCIe controller may be embedded into many
	  different vendors SoCs.

config PCI_J721E
	bool

config PCI_J721E_HOST
	bool "TI J721E PCIe platform host controller"
	depends on OF
	select PCIE_CADENCE_HOST
	select PCI_J721E
	help
	  Say Y here if you want to support the TI J721E PCIe platform
	  controller in host mode. TI J721E PCIe controller uses Cadence PCIe
	  core.

config PCI_J721E_EP
	bool "TI J721E PCIe platform endpoint controller"
	depends on OF
	depends on PCI_ENDPOINT
	select PCIE_CADENCE_EP
	select PCI_J721E
	help
	  Say Y here if you want to support the TI J721E PCIe platform
	  controller in endpoint mode. TI J721E PCIe controller uses Cadence PCIe
	  core.
endmenu
