blob: 3132718e4f80a5255e45cf73922dd71abb368888 [file] [log] [blame]
Alex89e50d92017-02-06 19:17:34 -08001
2config BITBANGMII
3 bool "Bit-banged ethernet MII management channel support"
4
5config MV88E6352_SWITCH
6 bool "Marvell 88E6352 switch support"
7
8menuconfig PHYLIB
9 bool "Ethernet PHY (physical media interface) support"
Jerome Forissiere0f95512024-10-16 12:03:59 +020010 depends on NET || NET_LWIP
Alex89e50d92017-02-06 19:17:34 -080011 help
12 Enable Ethernet PHY (physical media interface) support.
13
14if PHYLIB
15
Joe Hershberger46b7bd12018-03-30 11:52:16 -050016config PHY_ADDR_ENABLE
17 bool "Limit phy address"
18 default y if ARCH_SUNXI
19 help
20 Select this if you want to control which phy address is used
21
Marek Vasut2070c1a2024-05-31 18:47:16 +020022config PHY_ANEG_TIMEOUT
23 int "PHY auto-negotiation timeout"
24 default 4000
25 help
26 Default PHY auto-negotiation timeout.
27
Joe Hershberger46b7bd12018-03-30 11:52:16 -050028if PHY_ADDR_ENABLE
Stefan Mavrodieve3ee5f52018-02-02 15:53:38 +020029config PHY_ADDR
30 int "PHY address"
31 default 1 if ARCH_SUNXI
32 default 0
33 help
34 The address of PHY on MII bus. Usually in range of 0 to 31.
Joe Hershberger46b7bd12018-03-30 11:52:16 -050035endif
Stefan Mavrodieve3ee5f52018-02-02 15:53:38 +020036
Florian Fainelli01b4ade2017-12-09 14:59:54 -080037config B53_SWITCH
38 bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
39 help
40 Enable support for Broadcom BCM53xx (RoboSwitch) Ethernet switches.
41 This currently supports BCM53125 and similar models.
42
43if B53_SWITCH
44
45config B53_CPU_PORT
46 int "CPU port"
47 default 8
48
49config B53_PHY_PORTS
50 hex "Bitmask of PHY ports"
51
52endif # B53_SWITCH
53
Alex89e50d92017-02-06 19:17:34 -080054config MV88E61XX_SWITCH
Anatolij Gustschinb8b1a9e2019-10-27 01:14:41 +020055 bool "Marvell MV88E61xx Ethernet switch PHY support."
Alex89e50d92017-02-06 19:17:34 -080056
Tim Harveyc2cc9d42017-03-17 07:29:51 -070057if MV88E61XX_SWITCH
58
59config MV88E61XX_CPU_PORT
60 int "CPU Port"
61
62config MV88E61XX_PHY_PORTS
63 hex "Bitmask of PHY Ports"
64
65config MV88E61XX_FIXED_PORTS
66 hex "Bitmask of PHYless serdes Ports"
Tom Rini537e1c42023-01-10 11:19:40 -050067 default 0x0
68 help
69 These are ports without PHYs that may be wired directly to other
70 serdes interfaces
Tim Harveyc2cc9d42017-03-17 07:29:51 -070071
72endif # MV88E61XX_SWITCH
73
Alex89e50d92017-02-06 19:17:34 -080074config PHYLIB_10G
75 bool "Generic 10G PHY support"
76
Nate Drudea9521ea2022-04-08 11:28:14 -050077config PHY_ADIN
78 bool "Analog Devices Industrial Ethernet PHYs"
79 help
80 Add support for configuring RGMII on Analog Devices ADIN PHYs.
81
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060082menuconfig PHY_AQUANTIA
Alex89e50d92017-02-06 19:17:34 -080083 bool "Aquantia Ethernet PHYs support"
Jeremy Gebbenabe3edf2018-09-18 15:49:35 -060084 select PHY_GIGE
85 select PHYLIB_10G
Alex89e50d92017-02-06 19:17:34 -080086
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060087config PHY_AQUANTIA_UPLOAD_FW
88 bool "Aquantia firmware loading support"
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060089 depends on PHY_AQUANTIA
90 help
91 Aquantia PHYs use firmware which can be either loaded automatically
92 from storage directly attached to the phy or loaded by the boot loader
93 via MDIO commands. The firmware is loaded from a file, specified by
94 the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
95
96config PHY_AQUANTIA_FW_PART
97 string "Aquantia firmware partition"
98 depends on PHY_AQUANTIA_UPLOAD_FW
99 help
100 Partition containing the firmware file.
101
102config PHY_AQUANTIA_FW_NAME
103 string "Aquantia firmware filename"
104 depends on PHY_AQUANTIA_UPLOAD_FW
105 help
106 Firmware filename.
107
Alex89e50d92017-02-06 19:17:34 -0800108config PHY_ATHEROS
109 bool "Atheros Ethernet PHYs support"
110
Simon Glassc70cbff2023-02-22 09:34:18 -0700111config SPL_PHY_ATHEROS
112 bool "Atheros Ethernet PHYs support (SPL)"
113
Alex89e50d92017-02-06 19:17:34 -0800114config PHY_BROADCOM
115 bool "Broadcom Ethernet PHYs support"
116
117config PHY_CORTINA
118 bool "Cortina Ethernet PHYs support"
119
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530120config SYS_CORTINA_NO_FW_UPLOAD
121 bool "Cortina firmware loading support"
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530122 depends on PHY_CORTINA
123 help
124 Cortina phy has provision to store phy firmware in attached dedicated
125 EEPROM. And boards designed with such EEPROM does not require firmware
126 upload.
127
Tom Rini0b0342f2019-11-26 17:32:43 -0500128choice
129 prompt "Location of the Cortina firmware"
130 default SYS_CORTINA_FW_IN_NOR
131 depends on PHY_CORTINA
132
133config SYS_CORTINA_FW_IN_MMC
134 bool "Cortina firmware in MMC"
135
136config SYS_CORTINA_FW_IN_NAND
137 bool "Cortina firmware in NAND flash"
138
139config SYS_CORTINA_FW_IN_NOR
140 bool "Cortina firmware in NOR flash"
141
142config SYS_CORTINA_FW_IN_REMOTE
143 bool "Cortina firmware in remote device"
144
145config SYS_CORTINA_FW_IN_SPIFLASH
146 bool "Cortina firmware in SPI flash"
147
148endchoice
149
Kuldeep Singh016965f2021-08-10 11:20:07 +0530150config CORTINA_FW_ADDR
151 hex "Cortina Firmware Address"
152 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
153 default 0x0
154
155config CORTINA_FW_LENGTH
156 hex "Cortina Firmware Length"
157 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
158 default 0x40000
159
Abbie Chang556872f2021-01-14 13:34:12 -0800160config PHY_CORTINA_ACCESS
161 bool "Cortina Access Ethernet PHYs support"
162 default y
163 depends on CORTINA_NI_ENET
164 help
165 Cortina Access Ethernet PHYs init process
166
Alex89e50d92017-02-06 19:17:34 -0800167config PHY_DAVICOM
168 bool "Davicom Ethernet PHYs support"
169
170config PHY_ET1011C
171 bool "LSI TruePHY ET1011C support"
172
173config PHY_LXT
174 bool "LXT971 Ethernet PHY support"
175
176config PHY_MARVELL
177 bool "Marvell Ethernet PHYs support"
178
Marek Vasut1ac4e192023-03-19 18:08:10 +0100179config PHY_MARVELL_10G
180 bool "Marvell Alaska 10Gbit PHYs"
181 help
182 Support for the Marvell Alaska MV88X3310 and compatible PHYs.
183
Neil Armstrong7a4c90d2017-10-18 10:02:10 +0200184config PHY_MESON_GXL
185 bool "Amlogic Meson GXL Internal PHY support"
186
Alex89e50d92017-02-06 19:17:34 -0800187config PHY_MICREL
188 bool "Micrel Ethernet PHYs support"
Philipp Tomsich00c33612017-03-26 18:50:23 +0200189 help
190 Enable support for the GbE PHYs manufactured by Micrel (now
James Byrnebc292c22019-03-06 12:48:27 +0000191 a part of Microchip). This includes drivers for the KSZ804, KSZ8031,
192 KSZ8051, KSZ8081, KSZ8895, KSZ886x and KSZ8721 (if "Micrel KSZ8xxx
193 family support" is selected) and the KSZ9021 and KSZ9031 (if "Micrel
194 KSZ90x1 family support" is selected).
Philipp Tomsich00c33612017-03-26 18:50:23 +0200195
196if PHY_MICREL
197
198config PHY_MICREL_KSZ9021
Alexandru Gagniuc4c69ccb2017-07-07 11:37:00 -0700199 bool
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700200 select PHY_MICREL_KSZ90X1
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700201
Philipp Tomsich00c33612017-03-26 18:50:23 +0200202config PHY_MICREL_KSZ9031
Alexandru Gagniuc4c69ccb2017-07-07 11:37:00 -0700203 bool
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700204 select PHY_MICREL_KSZ90X1
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700205
206config PHY_MICREL_KSZ90X1
207 bool "Micrel KSZ90x1 family support"
208 select PHY_GIGE
209 help
210 Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
211 enabled, the extended register read/write for KSZ90x1 PHYs
212 is supported through the 'mdio' command and any RGMII signal
213 delays configured in the device tree will be applied to the
214 PHY during initialization.
215
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700216config PHY_MICREL_KSZ8XXX
217 bool "Micrel KSZ8xxx family support"
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700218 help
James Byrnebc292c22019-03-06 12:48:27 +0000219 Enable support for the 8000 series 10/100 PHYs manufactured by Micrel
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700220 (now a part of Microchip). This includes drivers for the KSZ804,
221 KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
222
Philipp Tomsich00c33612017-03-26 18:50:23 +0200223endif # PHY_MICREL
Alex89e50d92017-02-06 19:17:34 -0800224
Yanhong Wang1d6c3412023-06-15 17:36:42 +0800225config PHY_MOTORCOMM
226 tristate "Motorcomm PHYs"
227 help
228 Enables support for Motorcomm network PHYs.
Nicolas Frattarolif08686a2023-08-05 12:35:01 +0200229 Currently supports the YT8511 and YT8531 Gigabit Ethernet PHYs.
Yanhong Wang1d6c3412023-06-15 17:36:42 +0800230
John Haechtenee253f92016-12-09 22:15:17 +0000231config PHY_MSCC
232 bool "Microsemi Corp Ethernet PHYs support"
233
Alex89e50d92017-02-06 19:17:34 -0800234config PHY_NATSEMI
235 bool "National Semiconductor Ethernet PHYs support"
236
Radu Pirea (NXP OSS)f2d36cb2021-06-18 21:58:30 +0300237config PHY_NXP_C45_TJA11XX
238 tristate "NXP C45 TJA11XX PHYs"
239 help
240 Enable support for NXP C45 TJA11XX PHYs.
241 Currently supports only the TJA1103 PHY.
242
Michael Trimarchi80ba4362022-04-12 10:31:37 -0300243config PHY_NXP_TJA11XX
244 bool "NXP TJA11XX Ethernet PHYs support"
245 help
246 Currently supports the NXP TJA1100 and TJA1101 PHY.
247
Alex89e50d92017-02-06 19:17:34 -0800248config PHY_REALTEK
249 bool "Realtek Ethernet PHYs support"
250
251config RTL8211X_PHY_FORCE_MASTER
252 bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
253 depends on PHY_REALTEK
254 help
255 Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
256 This can work around link stability and data corruption issues on gigabit
257 links which can occur in slave mode on certain PHYs, e.g. on the
258 RTL8211C(L).
259
260 Please note that two directly connected devices (i.e. via crossover cable)
261 will not be able to establish a link between each other if they both force
262 master mode. Multiple devices forcing master mode when connected by a
263 network switch do not pose a problem as the switch configures its affected
264 ports into slave mode.
265
266 This option only affects gigabit links. If you must establish a direct
267 connection between two devices which both force master mode, try forcing
268 the link speed to 100MBit/s.
269
270 If unsure, say N.
271
Carlo Caionecf93d022019-01-24 08:54:37 +0000272config RTL8211F_PHY_FORCE_EEE_RXC_ON
273 bool "Ethernet PHY RTL8211F: do not stop receiving the xMII clock during LPI"
274 depends on PHY_REALTEK
Carlo Caionecf93d022019-01-24 08:54:37 +0000275 help
276 The IEEE 802.3az-2010 (EEE) standard provides a protocol to coordinate
277 transitions to/from a lower power consumption level (Low Power Idle
278 mode) based on link utilization. When no packets are being
279 transmitted, the system goes to Low Power Idle mode to save power.
280
281 Under particular circumstances this setting can cause issues where
282 the PHY is unable to transmit or receive any packet when in LPI mode.
283 The problem is caused when the PHY is configured to stop receiving
284 the xMII clock while it is signaling LPI. For some PHYs the bit
285 configuring this behavior is set by the Linux kernel, causing the
286 issue in U-Boot on reboot if the PHY retains the register value.
287
288 Default n, which means that the PHY state is not changed. To work
289 around the issues, change this setting to y.
290
Amit Singh Tomar4f21b2a2020-05-09 19:55:11 +0530291config RTL8201F_PHY_S700_RMII_TIMINGS
292 bool "Ethernet PHY RTL8201F: adjust RMII Tx Interface timings"
293 depends on PHY_REALTEK
294 help
295 This provides an option to configure specific timing requirements (needed
296 for proper PHY operations) for the PHY module present on ACTION SEMI S700
297 based cubieboard7. Exact timing requiremnets seems to be SoC specific
298 (and it's undocumented) that comes from vendor code itself.
299
Alex89e50d92017-02-06 19:17:34 -0800300config PHY_SMSC
301 bool "Microchip(SMSC) Ethernet PHYs support"
302
303config PHY_TERANETICS
304 bool "Teranetics Ethernet PHYs support"
305
306config PHY_TI
307 bool "Texas Instruments Ethernet PHYs support"
Dan Murphy8b8d73a2020-05-04 16:14:39 -0500308 ---help---
309 Adds PHY registration support for TI PHYs.
310
311config PHY_TI_DP83867
312 select PHY_TI
313 bool "Texas Instruments Ethernet DP83867 PHY support"
314 ---help---
315 Adds support for the TI DP83867 1Gbit PHY.
Alex89e50d92017-02-06 19:17:34 -0800316
Dominic Rath11147e02021-12-22 08:57:46 +0100317config PHY_TI_DP83869
318 select PHY_TI
319 bool "Texas Instruments Ethernet DP83869 PHY support"
320 ---help---
321 Adds support for the TI DP83869 1Gbit PHY.
322
Dan Murphy3434cd72020-05-04 16:14:40 -0500323config PHY_TI_GENERIC
324 select PHY_TI
325 bool "Texas Instruments Generic Ethernet PHYs support"
326 ---help---
327 Adds support for Generic TI PHYs that don't need special handling but
328 the PHY name is associated with a PHY ID.
329
Alex89e50d92017-02-06 19:17:34 -0800330config PHY_VITESSE
331 bool "Vitesse Ethernet PHYs support"
332
333config PHY_XILINX
334 bool "Xilinx Ethernet PHYs support"
335
Siva Durga Prasad Paladugud5c4e1e2018-11-27 11:49:11 +0530336config PHY_XILINX_GMII2RGMII
337 bool "Xilinx GMII to RGMII Ethernet PHYs support"
338 help
339 This adds support for Xilinx GMII to RGMII IP core. This IP acts
340 as bridge between MAC connected over GMII and external phy that
341 is connected over RGMII interface.
342
Tim Harveyf7a72432022-11-17 13:27:09 -0800343config PHY_XWAY
344 bool "Intel XWAY PHY support"
345 help
346 This adds support for the Intel XWAY (formerly Lantiq) Gbe PHYs.
347
Michal Simek488eec52022-02-23 15:45:42 +0100348config PHY_ETHERNET_ID
349 bool "Read ethernet PHY id"
350 depends on DM_GPIO
351 default y if ZYNQ_GEM
352 help
353 Enable this config to read ethernet phy id from the phy node of DT
354 and create a phy device using id.
355
Hannes Schmelzerda494602017-03-23 15:11:43 +0100356config PHY_FIXED
357 bool "Fixed-Link PHY"
Hannes Schmelzerda494602017-03-23 15:11:43 +0100358 help
359 Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
360 connection (MII, RGMII, ...).
361 There is nothing like autoneogation and so
362 on, the link is always up with fixed speed and fixed duplex-setting.
363 More information: doc/device-tree-bindings/net/fixed-link.txt
364
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000365config PHY_NCSI
366 bool "NC-SI based PHY"
Jerome Forissier116815f2024-09-11 11:58:20 +0200367 depends on NET
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000368
Alex89e50d92017-02-06 19:17:34 -0800369endif #PHYLIB
Tom Rini6c851512022-03-18 08:38:26 -0400370
Tom Rini33ae6a72022-07-23 13:05:10 -0400371config FSL_MEMAC
372 bool "NXP mEMAC PHY support"
373
374config SYS_MEMAC_LITTLE_ENDIAN
375 bool "mEMAC is access in little endian mode"
376 depends on FSL_MEMAC || FSL_LS_MDIO
377
Tom Rini6c851512022-03-18 08:38:26 -0400378config PHY_RESET_DELAY
379 int "Extra delay after reset before MII register access"
380 default 0
381 help
382 Some PHYs need extra delay after reset before any MII register access
383 is possible. For such PHY, set this option to the usec delay
384 required.