config NXP_PFENG
	bool "NXP S32G PFE Ethernet controller"
	default n
	depends on DM_ETH
	imply PHY_FIXED
	imply PHY_AQUANTIA
	imply PHY_S32CC_SERDES
	select DM_RESET
	select DM_MDIO
	select LIB_ELF
	help
	  This driver supports the NXP PFE Ethernet controller found on
	  the S32G2 and S32G3 NXP SoCs.

	  If unsure, say N

choice
	prompt "Driver working Mode"
	default NXP_PFENG_STANDALONE
	help
	  NXP PFE Ethernet controller supports two working modes
	  Standalone and Slave driver mode.

config NXP_PFENG_STANDALONE
	bool "PFE Standalone driver"
	help
	  Standalone driver for the NXP PFE Ethernet controller.

	  PFE hardware is fully managed by this driver.

config NXP_PFENG_SLAVE
	bool "PFE Slave driver"
	depends on DM_ETH
	help
	  Slave driver for the NXP PFE Ethernet controller.

	  The Slave driver gets registered but defers its work until
	  it detects Master driver up and running.

	  NOTE: If declared netdevs use different HIF channels,
	  the first one parsed will be used.

endchoice

choice
	prompt "PFE firmware location"
	depends on NXP_PFENG_STANDALONE
	default NXP_PFENG_FW_LOC_SDCARD if SD_BOOT
	default NXP_PFENG_FW_LOC_QSPI if QSPI_BOOT

config NXP_PFENG_FW_LOC_SDCARD
	bool "SD card"
	depends on NXP_PFENG_STANDALONE
	help
	  The firmware file is located on SD card.

config NXP_PFENG_FW_LOC_QSPI
	bool "QSPI flash"
	depends on NXP_PFENG_STANDALONE
	help
	  The firmware is on the QSPI memory.
endchoice

config NXP_PFENG_FW_NAME
	string "PFE firmware filename"
	depends on NXP_PFENG_FW_LOC_SDCARD
	default "s32g_pfe_class.fw"
	help
	  The PFEng network controller firmware filename.

config NXP_PFENG_FW_PART
	string "PFE firmware partition"
	depends on NXP_PFENG_STANDALONE
	default "0:2" if NXP_PFENG_FW_LOC_SDCARD
	default "0x32c0000" if NXP_PFENG_FW_LOC_QSPI
	help
	  Partition containing the firmware file.
	  For "sdcard" currently it's the second partition: "0:2".
	  For "qspi" it's the address of reserved memory partition.

config NXP_PFENG_SLAVE_MANAGE_COHERENCY
	bool "Manage Coherency by PFE Ethernet Slave driver"
	default n
	depends on NXP_PFENG_SLAVE
	help
	  Setting HIF port coherency should be done once for A53 domain!
	  The recommended way is to use external solution, to not
	  get conflict when two A53 Slave instances are trying to manage
	  coherency register concurrently.
