# SPDX-License-Identifier: GPL-2.0-only
#
# Marvell RVU Network drivers configuration
#

config OCTEONTX2_MBOX
	tristate

config OCTEONTX2_AF
	tristate "Marvell OcteonTX2 RVU Admin Function driver"
	select OCTEONTX2_MBOX
	select NET_DEVLINK
	depends on (64BIT && COMPILE_TEST) || ARM64
	depends on PCI
	depends on PTP_1588_CLOCK_OPTIONAL
	help
	  This driver supports Marvell's OcteonTX2 Resource Virtualization
	  Unit's admin function manager which manages all RVU HW resources
	  and provides a medium to other PF/VFs to configure HW. Should be
	  enabled for other RVU device drivers to work.

config NDC_DIS_DYNAMIC_CACHING
	bool "Disable caching of dynamic entries in NDC"
	depends on OCTEONTX2_AF
	default n
	help
	  This config option disables caching of dynamic entries such as NIX SQEs
	  , NPA stack pages etc in NDC. Also locks down NIX SQ/CQ/RQ/RSS and
	  NPA Aura/Pool contexts.

config OCTEONTX2_PF
	tristate "Marvell OcteonTX2 NIC Physical Function driver"
	select OCTEONTX2_MBOX
	select NET_DEVLINK
	select PAGE_POOL
	depends on (64BIT && COMPILE_TEST) || ARM64
	select DIMLIB
	depends on PCI
	depends on PTP_1588_CLOCK_OPTIONAL
	depends on MACSEC || !MACSEC
	help
	  This driver supports Marvell's OcteonTX2 NIC physical function.

config OCTEONTX2_VF
	tristate "Marvell OcteonTX2 NIC Virtual Function driver"
	depends on OCTEONTX2_PF
	help
	  This driver supports Marvell's OcteonTX2 NIC virtual function.

config RVU_ESWITCH
	tristate "Marvell RVU E-Switch support"
	depends on OCTEONTX2_PF
	help
	  This driver supports Marvell's RVU E-Switch that
	  provides internal SRIOV packet steering and switching.

config OCTEONTX2_BPHY_RFOE_NETDEV
	tristate "OcteonTX2 BPHY RFOE netdev driver"
	depends on ARM64
	help
	  This driver provides support for processing packets received/sent by
	  BPHY RFOE MHAB such as eCPRI control, PTP and other ethernet packets
	  in Linux kernel. The rest of packets are processed by ODP application.

config OCTEONTX2_BPHY_PF
	tristate "Marvell OcteonTX2 BPHY PF driver"
	select OCTEONTX2_MBOX
	select NET_DEVLINK
	select PAGE_POOL
	depends on (64BIT && COMPILE_TEST) || ARM64
	depends on OCTEONTX2_PF
	select DIMLIB
	depends on PCI
	depends on PTP_1588_CLOCK_OPTIONAL
	depends on MACSEC || !MACSEC
	help
	  This driver supports Marvell's OcteonTX2 BPHY physical function.

config OCTEONTX2_BPHY_CNF20K_CPRI_PF
       tristate "Marvell OcteonTX2 BPHY CNF20K CPRI PF driver"
       help
         This driver supports Marvell's OcteonTX2 BPHY CNF20K CPRI
         Physical Function.The PF driver is responsible for initializing
         the cpri netdev for CNF20K.
         This option is disabled by default.
