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
34	depends on DT_HAS_ETHERNET_PHY_ENABLED
35	select MDIO
36	select GPIO if $(dt_compat_any_has_prop,$(DT_COMPAT_ETHERNET_PHY),reset-gpios)
37	help
38	  This is a generic MII PHY interface that communicates with the
39	  PHY using the MDIO bus.
40
41config PHY_GENERIC_FIXED_LINK
42	bool "Generic MII PHY with Fixed Link Driver"
43	default y
44	depends on DT_HAS_ETHERNET_PHY_FIXED_LINK_ENABLED
45	select GPIO if $(dt_compat_any_has_prop,$(DT_COMPAT_ETHERNET_PHY_FIXED_LINK),reset-gpios)
46	help
47	  This is a generic MII PHY with Fixed Link interface that does not
48	  communicate with the PHY using the MDIO bus. Can be used as a placeholder
49	  when the ethernet driver requires a PHY but there is no interface to configure
50	  the PHY.
51
52config PHY_ADIN2111
53	bool "ADIN2111 PHY driver"
54	default y
55	depends on DT_HAS_ADI_ADIN2111_PHY_ENABLED || DT_HAS_ADI_ADIN1100_PHY_ENABLED
56	select MDIO
57	select GPIO if $(dt_compat_any_has_prop,$(DT_COMPAT_ADI_ADIN1100_PHY),reset-gpios)
58	help
59	  Enable ADIN2111 PHY driver.
60
61config PHY_MICROCHIP_KSZ8081
62	bool "Microchip KSZ8081 PHY Driver"
63	default y
64	depends on DT_HAS_MICROCHIP_KSZ8081_ENABLED
65	select MDIO
66	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_KSZ8081),reset-gpios) || \
67			$(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_KSZ8081),int-gpios))
68	help
69	  Enable Microchip KSZ8081 Ethernet PHY Driver
70
71config PHY_MICROCHIP_KSZ9131
72	bool "Microchip KSZ9131 PHY Driver"
73	default y
74	depends on DT_HAS_MICROCHIP_KSZ9131_ENABLED
75	select MDIO
76	select GPIO if $(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_KSZ9131),int-gpios)
77	help
78	  Enable Microchip KSZ9131 Ethernet PHY Driver
79
80config PHY_MICROCHIP_LAN8742
81	bool "Microchip LAN8742 PHY Driver"
82	default y
83	depends on DT_HAS_MICROCHIP_LAN8742_ENABLED
84	select MDIO
85	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_LAN8742),reset-gpios))
86	help
87	  Enable Microchip LAN8742 Ethernet PHY Driver
88
89config PHY_MICROCHIP_VSC8541
90	bool "Microchip VSC8541 PHY Driver"
91	default y
92	depends on DT_HAS_MICROCHIP_VSC8541_ENABLED
93	select MDIO
94	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_VSC8541),reset-gpios) || \
95			$(dt_compat_any_has_prop,$(DT_COMPAT_MICROCHIP_VSC8541),int-gpios))
96	help
97	  Enable Microchip VSC8541 Ethernet PHY Driver
98
99config PHY_TI_DP83825
100	bool "TI DP83825 PHY Driver"
101	default y
102	depends on DT_HAS_TI_DP83825_ENABLED
103	select MDIO
104	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_TI_DP83825),reset-gpios) || \
105			$(dt_compat_any_has_prop,$(DT_COMPAT_TI_DP83825),int-gpios))
106	help
107	  Enable TI DP83825 Ethernet PHY Driver
108
109config PHY_TI_DP83867
110	bool "TI DP83867 PHY Driver"
111	default y
112	depends on DT_HAS_TI_DP83867_ENABLED
113	select MDIO
114	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_TI_DP83867),reset-gpios) || \
115			$(dt_compat_any_has_prop,$(DT_COMPAT_TI_DP83867),int-gpios))
116	help
117	  Enable TI DP83867 Ethernet PHY Driver
118
119config PHY_REALTEK_RTL8211F
120	bool "Realtek RTL8211F PHY Driver"
121	default y
122	depends on DT_HAS_REALTEK_RTL8211F_ENABLED
123	select MDIO
124	select GPIO if ($(dt_compat_any_has_prop,$(DT_COMPAT_REALTEK_RTL8211F),reset-gpios) || \
125			$(dt_compat_any_has_prop,$(DT_COMPAT_REALTEK_RTL8211F),int-gpios))
126	help
127	  Enable Realtek RTL8211F Ethernet PHY Driver
128
129config PHY_QUALCOMM_AR8031
130	bool "Qualcomm Atheros AR8031 Ethernet PHY Driver"
131	default y
132	depends on DT_HAS_QCA_AR8031_ENABLED
133	select MDIO
134	help
135	  Enable Qualcomm Atheros AR8031 Ethernet PHY Driver
136
137config PHY_AUTONEG_TIMEOUT_MS
138	int "Auto-negotiation timeout value in milliseconds"
139	default 4000
140	help
141	  Maximum duration of auto-negotiation sequence in milliseconds
142	  before the process fails
143
144config PHY_MONITOR_PERIOD
145	int "Monitor task execution period"
146	default 500
147	help
148	  Monitor task execution period in milliseconds. The monitor task is
149	  periodically executed to detect and report any changes in the
150	  PHY link status to the operating system.
151
152config PHY_OA_TC14_PLCA_LIB
153	bool "Open Alliance TC14 PLCA generic lib"
154	help
155	  Enable Open Alliance TC14 PLCA generic lib.
156
157config PHY_VERIFY_DEVICE_IDENTIFICATION
158	bool "Verify selected phy to actual reported phy chip id"
159	help
160	  Verify the organizationally unique identifier that is reported
161	  by the phy chip.
162
163config PHY_MOTORCOMM_YT8521
164	bool "Motorcomm YT8521 Ethernet PHY Driver"
165	default y
166	depends on DT_HAS_MOTORCOMM_YT8521_ENABLED
167	select MDIO
168	help
169	  Enable Motorcomm YT8521 Ethernet PHY Driver
170
171endif # "Ethernet PHY Drivers"
172