# Kconfig - Synopsys DesignWare Ethernet driver configuration options

#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig ETH_DW
	bool "Synopsys DesignWare Ethernet driver"
	help
	  Enable Synopsys DesignWare Ethernet driver.

if ETH_DW
config ETH_DW_SHARED_IRQ
	bool

config ETH_DW_0
	bool "Synopsys DesignWare Ethernet port 0"
	help
	 Include port 0 driver

config ETH_DW_0_NAME
	string "Driver name"
	depends on ETH_DW_0
	default "ETH_0"

choice
	prompt "Port 0 Interrupts via"
	default ETH_DW_0_IRQ_SHARED
	depends on ETH_DW_0

config ETH_DW_0_IRQ_DIRECT
	bool "Direct Hardware Interrupt"
	help
	  When interrupts fire, the driver's ISR function is being called directly.

config ETH_DW_0_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select ETH_DW_SHARED_IRQ
	help
	  When interrupts fire, the shared IRQ driver is notified. Then the shared IRQ
	  driver dispatches the interrupt to other drivers.

endchoice

config ETH_DW_0_IRQ_PRI
	int "Controller interrupt priority"
	depends on ETH_DW_0 && ETH_DW_0_IRQ_DIRECT
	default 0
	help
	  IRQ priority

endif # ETH_DW
