# Ethernet PHY drivers configuration options

# Copyright (c) 2021 IP-Logix Inc.
# SPDX-License-Identifier: Apache-2.0

menu "Ethernet PHY Drivers"
	depends on NET_L2_ETHERNET

module = PHY
module-dep = LOG
module-str = Log level for Ethernet PHY driver
module-help = Sets log level for Ethernet PHY Device Drivers.
source "subsys/net/Kconfig.template.log_config.net"

config PHY_INIT_PRIORITY
	int "Ethernet PHY driver init priority"
	default 70
	help
	  Ethernet PHY device driver initialization priority.
	  Do not mess with it unless you know what you are doing.
	  Note that the priority needs to be lower than the net stack
	  so that it can start before the networking sub-system.

config PHY_GENERIC_MII
	bool "Generic MII PHY Driver"
	default y if !ETH_ADIN2111
	depends on MDIO
	help
	  This is a generic MII PHY interface that communicates with the
	  PHY using the MDIO bus.

config PHY_ADIN2111
	bool "ADIN2111 PHY driver"
	default y
	depends on DT_HAS_ADI_ADIN2111_PHY_ENABLED
	depends on ETH_ADIN2111
	depends on MDIO_ADIN2111
	help
	  Enable ADIN2111 PHY driver.

config PHY_AUTONEG_TIMEOUT_MS
	int "Auto-negotiation timeout value in milliseconds"
	default 4000
	help
	  Maximum duration of auto-negotiation sequence in milliseconds
	  before the process fails

config PHY_MONITOR_PERIOD
	int "Monitor task execution period"
	default 500
	help
	  Monitor task execution period in milliseconds. The monitor task is
	  periodically executed to detect and report any changes in the
	  PHY link status to the operating system.

endmenu # "Ethernet PHY Drivers"
