blob: 13e73810ad67890bfd38a06e1fe0c2f313b00538 [file] [log] [blame]
Alexaf2cbfd2017-02-06 19:17:34 -08001
2config BITBANGMII
3 bool "Bit-banged ethernet MII management channel support"
4
Tom Rini448dfb42022-03-21 21:33:31 -04005config BITBANGMII_MULTI
6 bool "Enable the multi bus support"
7 depends on BITBANGMII
8
Alexaf2cbfd2017-02-06 19:17:34 -08009config MV88E6352_SWITCH
10 bool "Marvell 88E6352 switch support"
11
12menuconfig PHYLIB
13 bool "Ethernet PHY (physical media interface) support"
Jerome Forissier8cb33032024-10-16 12:03:59 +020014 depends on NET || NET_LWIP
Alexaf2cbfd2017-02-06 19:17:34 -080015 help
16 Enable Ethernet PHY (physical media interface) support.
17
18if PHYLIB
19
Joe Hershberger16879cd2018-03-30 11:52:16 -050020config PHY_ADDR_ENABLE
21 bool "Limit phy address"
22 default y if ARCH_SUNXI
23 help
24 Select this if you want to control which phy address is used
25
Marek Vasut4031a422024-05-31 18:47:16 +020026config PHY_ANEG_TIMEOUT
27 int "PHY auto-negotiation timeout"
28 default 4000
29 help
30 Default PHY auto-negotiation timeout.
31
Joe Hershberger16879cd2018-03-30 11:52:16 -050032if PHY_ADDR_ENABLE
Stefan Mavrodievb30c4192018-02-02 15:53:38 +020033config PHY_ADDR
34 int "PHY address"
35 default 1 if ARCH_SUNXI
36 default 0
37 help
38 The address of PHY on MII bus. Usually in range of 0 to 31.
Joe Hershberger16879cd2018-03-30 11:52:16 -050039endif
Stefan Mavrodievb30c4192018-02-02 15:53:38 +020040
Florian Fainelli137963d2017-12-09 14:59:54 -080041config B53_SWITCH
42 bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
43 help
44 Enable support for Broadcom BCM53xx (RoboSwitch) Ethernet switches.
45 This currently supports BCM53125 and similar models.
46
47if B53_SWITCH
48
49config B53_CPU_PORT
50 int "CPU port"
51 default 8
52
53config B53_PHY_PORTS
54 hex "Bitmask of PHY ports"
55
56endif # B53_SWITCH
57
Alexaf2cbfd2017-02-06 19:17:34 -080058config MV88E61XX_SWITCH
Anatolij Gustschin389488d2019-10-27 01:14:41 +020059 bool "Marvell MV88E61xx Ethernet switch PHY support."
Alexaf2cbfd2017-02-06 19:17:34 -080060
Tim Harveyb4f4b0f2017-03-17 07:29:51 -070061if MV88E61XX_SWITCH
62
63config MV88E61XX_CPU_PORT
64 int "CPU Port"
65
66config MV88E61XX_PHY_PORTS
67 hex "Bitmask of PHY Ports"
68
69config MV88E61XX_FIXED_PORTS
70 hex "Bitmask of PHYless serdes Ports"
Tom Rinibd22bde2023-01-10 11:19:40 -050071 default 0x0
72 help
73 These are ports without PHYs that may be wired directly to other
74 serdes interfaces
Tim Harveyb4f4b0f2017-03-17 07:29:51 -070075
76endif # MV88E61XX_SWITCH
77
Alexaf2cbfd2017-02-06 19:17:34 -080078config PHYLIB_10G
79 bool "Generic 10G PHY support"
80
Nate Druded79f1a82022-04-08 11:28:14 -050081config PHY_ADIN
82 bool "Analog Devices Industrial Ethernet PHYs"
83 help
84 Add support for configuring RGMII on Analog Devices ADIN PHYs.
85
Jeremy Gebben45064232018-09-18 15:49:36 -060086menuconfig PHY_AQUANTIA
Alexaf2cbfd2017-02-06 19:17:34 -080087 bool "Aquantia Ethernet PHYs support"
Jeremy Gebben1c650102018-09-18 15:49:35 -060088 select PHY_GIGE
89 select PHYLIB_10G
Alexaf2cbfd2017-02-06 19:17:34 -080090
Jeremy Gebben45064232018-09-18 15:49:36 -060091config PHY_AQUANTIA_UPLOAD_FW
92 bool "Aquantia firmware loading support"
Jeremy Gebben45064232018-09-18 15:49:36 -060093 depends on PHY_AQUANTIA
94 help
95 Aquantia PHYs use firmware which can be either loaded automatically
96 from storage directly attached to the phy or loaded by the boot loader
97 via MDIO commands. The firmware is loaded from a file, specified by
98 the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
99
100config PHY_AQUANTIA_FW_PART
101 string "Aquantia firmware partition"
102 depends on PHY_AQUANTIA_UPLOAD_FW
103 help
104 Partition containing the firmware file.
105
106config PHY_AQUANTIA_FW_NAME
107 string "Aquantia firmware filename"
108 depends on PHY_AQUANTIA_UPLOAD_FW
109 help
110 Firmware filename.
111
Alexaf2cbfd2017-02-06 19:17:34 -0800112config PHY_ATHEROS
113 bool "Atheros Ethernet PHYs support"
114
Simon Glasse6c52052023-02-22 09:34:18 -0700115config SPL_PHY_ATHEROS
116 bool "Atheros Ethernet PHYs support (SPL)"
117
Alexaf2cbfd2017-02-06 19:17:34 -0800118config PHY_BROADCOM
119 bool "Broadcom Ethernet PHYs support"
120
121config PHY_CORTINA
122 bool "Cortina Ethernet PHYs support"
123
Meenakshi Aggarwal2a29a9a2020-10-29 19:16:15 +0530124config SYS_CORTINA_NO_FW_UPLOAD
125 bool "Cortina firmware loading support"
Meenakshi Aggarwal2a29a9a2020-10-29 19:16:15 +0530126 depends on PHY_CORTINA
127 help
128 Cortina phy has provision to store phy firmware in attached dedicated
129 EEPROM. And boards designed with such EEPROM does not require firmware
130 upload.
131
Tom Rinie78f16b2019-11-26 17:32:43 -0500132choice
133 prompt "Location of the Cortina firmware"
134 default SYS_CORTINA_FW_IN_NOR
135 depends on PHY_CORTINA
136
137config SYS_CORTINA_FW_IN_MMC
138 bool "Cortina firmware in MMC"
139
140config SYS_CORTINA_FW_IN_NAND
141 bool "Cortina firmware in NAND flash"
142
143config SYS_CORTINA_FW_IN_NOR
144 bool "Cortina firmware in NOR flash"
145
146config SYS_CORTINA_FW_IN_REMOTE
147 bool "Cortina firmware in remote device"
148
149config SYS_CORTINA_FW_IN_SPIFLASH
150 bool "Cortina firmware in SPI flash"
151
152endchoice
153
Kuldeep Singhe99b1df2021-08-10 11:20:07 +0530154config CORTINA_FW_ADDR
155 hex "Cortina Firmware Address"
156 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
157 default 0x0
158
159config CORTINA_FW_LENGTH
160 hex "Cortina Firmware Length"
161 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
162 default 0x40000
163
Abbie Changa70d7b02021-01-14 13:34:12 -0800164config PHY_CORTINA_ACCESS
165 bool "Cortina Access Ethernet PHYs support"
166 default y
167 depends on CORTINA_NI_ENET
168 help
169 Cortina Access Ethernet PHYs init process
170
Alexaf2cbfd2017-02-06 19:17:34 -0800171config PHY_DAVICOM
172 bool "Davicom Ethernet PHYs support"
173
174config PHY_ET1011C
175 bool "LSI TruePHY ET1011C support"
176
177config PHY_LXT
178 bool "LXT971 Ethernet PHY support"
179
180config PHY_MARVELL
181 bool "Marvell Ethernet PHYs support"
182
Marek Vasutb6fcab02023-03-19 18:08:10 +0100183config PHY_MARVELL_10G
184 bool "Marvell Alaska 10Gbit PHYs"
185 help
186 Support for the Marvell Alaska MV88X3310 and compatible PHYs.
187
Neil Armstrong8995a962017-10-18 10:02:10 +0200188config PHY_MESON_GXL
189 bool "Amlogic Meson GXL Internal PHY support"
190
Alexaf2cbfd2017-02-06 19:17:34 -0800191config PHY_MICREL
192 bool "Micrel Ethernet PHYs support"
Philipp Tomsich449ea2c2017-03-26 18:50:23 +0200193 help
194 Enable support for the GbE PHYs manufactured by Micrel (now
James Byrne77b508d2019-03-06 12:48:27 +0000195 a part of Microchip). This includes drivers for the KSZ804, KSZ8031,
196 KSZ8051, KSZ8081, KSZ8895, KSZ886x and KSZ8721 (if "Micrel KSZ8xxx
197 family support" is selected) and the KSZ9021 and KSZ9031 (if "Micrel
198 KSZ90x1 family support" is selected).
Philipp Tomsich449ea2c2017-03-26 18:50:23 +0200199
200if PHY_MICREL
201
202config PHY_MICREL_KSZ9021
Alexandru Gagniuc9a31c732017-07-07 11:37:00 -0700203 bool
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700204 select PHY_MICREL_KSZ90X1
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700205
Philipp Tomsich449ea2c2017-03-26 18:50:23 +0200206config PHY_MICREL_KSZ9031
Alexandru Gagniuc9a31c732017-07-07 11:37:00 -0700207 bool
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700208 select PHY_MICREL_KSZ90X1
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700209
210config PHY_MICREL_KSZ90X1
211 bool "Micrel KSZ90x1 family support"
212 select PHY_GIGE
213 help
214 Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
215 enabled, the extended register read/write for KSZ90x1 PHYs
216 is supported through the 'mdio' command and any RGMII signal
217 delays configured in the device tree will be applied to the
218 PHY during initialization.
219
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700220config PHY_MICREL_KSZ8XXX
221 bool "Micrel KSZ8xxx family support"
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700222 help
James Byrne77b508d2019-03-06 12:48:27 +0000223 Enable support for the 8000 series 10/100 PHYs manufactured by Micrel
Alexandru Gagniucd397f7c2017-07-07 11:36:57 -0700224 (now a part of Microchip). This includes drivers for the KSZ804,
225 KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
226
Philipp Tomsich449ea2c2017-03-26 18:50:23 +0200227endif # PHY_MICREL
Alexaf2cbfd2017-02-06 19:17:34 -0800228
Yanhong Wange92ed062023-06-15 17:36:42 +0800229config PHY_MOTORCOMM
230 tristate "Motorcomm PHYs"
231 help
232 Enables support for Motorcomm network PHYs.
Nicolas Frattarolifb89b692023-08-05 12:35:01 +0200233 Currently supports the YT8511 and YT8531 Gigabit Ethernet PHYs.
Yanhong Wange92ed062023-06-15 17:36:42 +0800234
John Haechtena5fd13a2016-12-09 22:15:17 +0000235config PHY_MSCC
236 bool "Microsemi Corp Ethernet PHYs support"
237
Alexaf2cbfd2017-02-06 19:17:34 -0800238config PHY_NATSEMI
239 bool "National Semiconductor Ethernet PHYs support"
240
Radu Pirea (NXP OSS)3ef20502021-06-18 21:58:30 +0300241config PHY_NXP_C45_TJA11XX
242 tristate "NXP C45 TJA11XX PHYs"
243 help
244 Enable support for NXP C45 TJA11XX PHYs.
245 Currently supports only the TJA1103 PHY.
246
Michael Trimarchia2f5c932022-04-12 10:31:37 -0300247config PHY_NXP_TJA11XX
248 bool "NXP TJA11XX Ethernet PHYs support"
249 help
250 Currently supports the NXP TJA1100 and TJA1101 PHY.
251
Alexaf2cbfd2017-02-06 19:17:34 -0800252config PHY_REALTEK
253 bool "Realtek Ethernet PHYs support"
254
255config RTL8211X_PHY_FORCE_MASTER
256 bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
257 depends on PHY_REALTEK
258 help
259 Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
260 This can work around link stability and data corruption issues on gigabit
261 links which can occur in slave mode on certain PHYs, e.g. on the
262 RTL8211C(L).
263
264 Please note that two directly connected devices (i.e. via crossover cable)
265 will not be able to establish a link between each other if they both force
266 master mode. Multiple devices forcing master mode when connected by a
267 network switch do not pose a problem as the switch configures its affected
268 ports into slave mode.
269
270 This option only affects gigabit links. If you must establish a direct
271 connection between two devices which both force master mode, try forcing
272 the link speed to 100MBit/s.
273
274 If unsure, say N.
275
Carlo Caioned47cfdb2019-01-24 08:54:37 +0000276config RTL8211F_PHY_FORCE_EEE_RXC_ON
277 bool "Ethernet PHY RTL8211F: do not stop receiving the xMII clock during LPI"
278 depends on PHY_REALTEK
Carlo Caioned47cfdb2019-01-24 08:54:37 +0000279 help
280 The IEEE 802.3az-2010 (EEE) standard provides a protocol to coordinate
281 transitions to/from a lower power consumption level (Low Power Idle
282 mode) based on link utilization. When no packets are being
283 transmitted, the system goes to Low Power Idle mode to save power.
284
285 Under particular circumstances this setting can cause issues where
286 the PHY is unable to transmit or receive any packet when in LPI mode.
287 The problem is caused when the PHY is configured to stop receiving
288 the xMII clock while it is signaling LPI. For some PHYs the bit
289 configuring this behavior is set by the Linux kernel, causing the
290 issue in U-Boot on reboot if the PHY retains the register value.
291
292 Default n, which means that the PHY state is not changed. To work
293 around the issues, change this setting to y.
294
Amit Singh Tomarfa6539a2020-05-09 19:55:11 +0530295config RTL8201F_PHY_S700_RMII_TIMINGS
296 bool "Ethernet PHY RTL8201F: adjust RMII Tx Interface timings"
297 depends on PHY_REALTEK
298 help
299 This provides an option to configure specific timing requirements (needed
300 for proper PHY operations) for the PHY module present on ACTION SEMI S700
301 based cubieboard7. Exact timing requiremnets seems to be SoC specific
302 (and it's undocumented) that comes from vendor code itself.
303
Alexaf2cbfd2017-02-06 19:17:34 -0800304config PHY_SMSC
305 bool "Microchip(SMSC) Ethernet PHYs support"
306
307config PHY_TERANETICS
308 bool "Teranetics Ethernet PHYs support"
309
310config PHY_TI
311 bool "Texas Instruments Ethernet PHYs support"
Dan Murphybc0e5782020-05-04 16:14:39 -0500312 ---help---
313 Adds PHY registration support for TI PHYs.
314
315config PHY_TI_DP83867
316 select PHY_TI
317 bool "Texas Instruments Ethernet DP83867 PHY support"
318 ---help---
319 Adds support for the TI DP83867 1Gbit PHY.
Alexaf2cbfd2017-02-06 19:17:34 -0800320
Dominic Rathf3e22ee2021-12-22 08:57:46 +0100321config PHY_TI_DP83869
322 select PHY_TI
323 bool "Texas Instruments Ethernet DP83869 PHY support"
324 ---help---
325 Adds support for the TI DP83869 1Gbit PHY.
326
Dan Murphy88822382020-05-04 16:14:40 -0500327config PHY_TI_GENERIC
328 select PHY_TI
329 bool "Texas Instruments Generic Ethernet PHYs support"
330 ---help---
331 Adds support for Generic TI PHYs that don't need special handling but
332 the PHY name is associated with a PHY ID.
333
Alexaf2cbfd2017-02-06 19:17:34 -0800334config PHY_VITESSE
335 bool "Vitesse Ethernet PHYs support"
336
337config PHY_XILINX
338 bool "Xilinx Ethernet PHYs support"
339
Siva Durga Prasad Paladuguf41e5882018-11-27 11:49:11 +0530340config PHY_XILINX_GMII2RGMII
341 bool "Xilinx GMII to RGMII Ethernet PHYs support"
342 help
343 This adds support for Xilinx GMII to RGMII IP core. This IP acts
344 as bridge between MAC connected over GMII and external phy that
345 is connected over RGMII interface.
346
Tim Harvey5e6c0692022-11-17 13:27:09 -0800347config PHY_XWAY
348 bool "Intel XWAY PHY support"
349 help
350 This adds support for the Intel XWAY (formerly Lantiq) Gbe PHYs.
351
Michal Simeka744a282022-02-23 15:45:42 +0100352config PHY_ETHERNET_ID
353 bool "Read ethernet PHY id"
354 depends on DM_GPIO
355 default y if ZYNQ_GEM
356 help
357 Enable this config to read ethernet phy id from the phy node of DT
358 and create a phy device using id.
359
Hannes Schmelzerdb40c1a2017-03-23 15:11:43 +0100360config PHY_FIXED
361 bool "Fixed-Link PHY"
Hannes Schmelzerdb40c1a2017-03-23 15:11:43 +0100362 help
363 Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
364 connection (MII, RGMII, ...).
365 There is nothing like autoneogation and so
366 on, the link is always up with fixed speed and fixed duplex-setting.
367 More information: doc/device-tree-bindings/net/fixed-link.txt
368
Samuel Mendoza-Jonasf641a8a2019-06-18 11:37:17 +1000369config PHY_NCSI
370 bool "NC-SI based PHY"
Jerome Forissierec571cd2024-09-11 11:58:20 +0200371 depends on NET
Samuel Mendoza-Jonasf641a8a2019-06-18 11:37:17 +1000372
Alexaf2cbfd2017-02-06 19:17:34 -0800373endif #PHYLIB
Tom Rini16199a82022-03-18 08:38:26 -0400374
Tom Rini612f7a62022-07-23 13:05:10 -0400375config FSL_MEMAC
376 bool "NXP mEMAC PHY support"
377
378config SYS_MEMAC_LITTLE_ENDIAN
379 bool "mEMAC is access in little endian mode"
380 depends on FSL_MEMAC || FSL_LS_MDIO
381
Tom Rini16199a82022-03-18 08:38:26 -0400382config PHY_RESET_DELAY
383 int "Extra delay after reset before MII register access"
384 default 0
385 help
386 Some PHYs need extra delay after reset before any MII register access
387 is possible. For such PHY, set this option to the usec delay
388 required.