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