1# Ethernet PHY drivers configuration options
2
3# Copyright (c) 2021 IP-Logix Inc.
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig ETH_PHY_DRIVER
7	bool "Ethernet PHY drivers"
8	default y if NET_L2_ETHERNET || ETH_DRIVER
9
10if ETH_PHY_DRIVER
11
12module = PHY
13module-dep = LOG
14module-str = Log level for Ethernet PHY driver
15module-help = Sets log level for Ethernet PHY Device Drivers.
16source "subsys/net/Kconfig.template.log_config.net"
17source "drivers/ethernet/phy/Kconfig.tja11xx"
18source "drivers/ethernet/phy/Kconfig.tja1103"
19source "drivers/ethernet/phy/Kconfig.dm8806"
20source "drivers/ethernet/phy/Kconfig.microchip_t1s"
21
22config PHY_INIT_PRIORITY
23	int "Ethernet PHY driver init priority"
24	default 70
25	help
26	  Ethernet PHY device driver initialization priority.
27	  Do not mess with it unless you know what you are doing.
28	  Note that the priority needs to be lower than the net stack
29	  so that it can start before the networking sub-system.
30
31config PHY_GENERIC_MII
32	bool "Generic MII PHY Driver"
33	default y if DT_HAS_ETHERNET_PHY_ENABLED
34	depends on MDIO
35	help
36	  This is a generic MII PHY interface that communicates with the
37	  PHY using the MDIO bus.
38
39config PHY_ADIN2111
40	bool "ADIN2111 PHY driver"
41	default y
42	depends on DT_HAS_ADI_ADIN2111_PHY_ENABLED || DT_HAS_ADI_ADIN1100_PHY_ENABLED
43	help
44	  Enable ADIN2111 PHY driver.
45
46config PHY_MICROCHIP_KSZ8081
47	bool "Microchip KSZ8081 PHY Driver"
48	default y
49	depends on DT_HAS_MICROCHIP_KSZ8081_ENABLED
50	depends on MDIO
51	depends on GPIO
52	help
53	  Enable Microchip KSZ8081 Ethernet PHY Driver
54
55config PHY_MICROCHIP_VSC8541
56	bool "Microchip VSC8541 PHY Driver"
57	default y
58	depends on DT_HAS_MICROCHIP_VSC8541_ENABLED
59	depends on MDIO
60	depends on GPIO
61	help
62	  Enable Microchip VSC8541 Ethernet PHY Driver
63
64config PHY_TI_DP83825
65	bool "TI DP83825 PHY Driver"
66	default y
67	depends on DT_HAS_TI_DP83825_ENABLED
68	depends on MDIO
69	depends on GPIO
70	help
71	  Enable TI DP83825 Ethernet PHY Driver
72
73config PHY_TI_DP83867
74	bool "TI DP83867 PHY Driver"
75	default y
76	depends on DT_HAS_TI_DP83867_ENABLED
77	depends on MDIO
78	depends on GPIO
79	help
80	  Enable TI DP83867 Ethernet PHY Driver
81
82config PHY_REALTEK_RTL8211F
83	bool "Realtek RTL8211F PHY Driver"
84	default y
85	depends on DT_HAS_REALTEK_RTL8211F_ENABLED
86	depends on MDIO
87	depends on GPIO || (!$(dt_compat_any_has_prop,$(DT_COMPAT_REALTEK_RTL8211F),reset-gpios) && \
88			    !$(dt_compat_any_has_prop,$(DT_COMPAT_REALTEK_RTL8211F),int-gpios))
89	help
90	  Enable Realtek RTL8211F Ethernet PHY Driver
91
92config PHY_QUALCOMM_AR8031
93	bool "Qualcomm Atheros AR8031 Ethernet PHY Driver"
94	default y
95	depends on DT_HAS_QCA_AR8031_ENABLED
96	depends on MDIO
97	help
98	  Enable Qualcomm Atheros AR8031 Ethernet PHY Driver
99
100config PHY_AUTONEG_TIMEOUT_MS
101	int "Auto-negotiation timeout value in milliseconds"
102	default 4000
103	help
104	  Maximum duration of auto-negotiation sequence in milliseconds
105	  before the process fails
106
107config PHY_MONITOR_PERIOD
108	int "Monitor task execution period"
109	default 500
110	help
111	  Monitor task execution period in milliseconds. The monitor task is
112	  periodically executed to detect and report any changes in the
113	  PHY link status to the operating system.
114
115config PHY_OA_TC14_PLCA_LIB
116	bool "Open Alliance TC14 PLCA generic lib"
117	help
118	  Enable Open Alliance TC14 PLCA generic lib.
119
120config PHY_VERIFY_DEVICE_IDENTIFICATION
121	bool "Verify selected phy to actual reported phy chip id"
122	help
123	  Verify the organizationally unique identifier that is reported
124	  by the phy chip.
125
126endif # "Ethernet PHY Drivers"
127