blob: 5eaff053a09cfe8a07c39bb99667e4cea1db6de2 [file] [log] [blame]
Alex89e50d92017-02-06 19:17:34 -08001
2config BITBANGMII
3 bool "Bit-banged ethernet MII management channel support"
4
Tom Rini8b084372022-03-21 21:33:31 -04005config BITBANGMII_MULTI
6 bool "Enable the multi bus support"
7 depends on BITBANGMII
8
Alex89e50d92017-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"
Michal Simek5647da02018-02-06 13:23:52 +010014 depends on NET
Alex89e50d92017-02-06 19:17:34 -080015 help
16 Enable Ethernet PHY (physical media interface) support.
17
18if PHYLIB
19
Joe Hershberger46b7bd12018-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
26if PHY_ADDR_ENABLE
Stefan Mavrodieve3ee5f52018-02-02 15:53:38 +020027config PHY_ADDR
28 int "PHY address"
29 default 1 if ARCH_SUNXI
30 default 0
31 help
32 The address of PHY on MII bus. Usually in range of 0 to 31.
Joe Hershberger46b7bd12018-03-30 11:52:16 -050033endif
Stefan Mavrodieve3ee5f52018-02-02 15:53:38 +020034
Florian Fainelli01b4ade2017-12-09 14:59:54 -080035config B53_SWITCH
36 bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
37 help
38 Enable support for Broadcom BCM53xx (RoboSwitch) Ethernet switches.
39 This currently supports BCM53125 and similar models.
40
41if B53_SWITCH
42
43config B53_CPU_PORT
44 int "CPU port"
45 default 8
46
47config B53_PHY_PORTS
48 hex "Bitmask of PHY ports"
49
50endif # B53_SWITCH
51
Alex89e50d92017-02-06 19:17:34 -080052config MV88E61XX_SWITCH
Anatolij Gustschinb8b1a9e2019-10-27 01:14:41 +020053 bool "Marvell MV88E61xx Ethernet switch PHY support."
Alex89e50d92017-02-06 19:17:34 -080054
Tim Harveyc2cc9d42017-03-17 07:29:51 -070055if MV88E61XX_SWITCH
56
57config MV88E61XX_CPU_PORT
58 int "CPU Port"
59
60config MV88E61XX_PHY_PORTS
61 hex "Bitmask of PHY Ports"
62
63config MV88E61XX_FIXED_PORTS
64 hex "Bitmask of PHYless serdes Ports"
Tom Rini537e1c42023-01-10 11:19:40 -050065 default 0x0
66 help
67 These are ports without PHYs that may be wired directly to other
68 serdes interfaces
Tim Harveyc2cc9d42017-03-17 07:29:51 -070069
70endif # MV88E61XX_SWITCH
71
Alex89e50d92017-02-06 19:17:34 -080072config PHYLIB_10G
73 bool "Generic 10G PHY support"
74
Nate Drudea9521ea2022-04-08 11:28:14 -050075config PHY_ADIN
76 bool "Analog Devices Industrial Ethernet PHYs"
77 help
78 Add support for configuring RGMII on Analog Devices ADIN PHYs.
79
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060080menuconfig PHY_AQUANTIA
Alex89e50d92017-02-06 19:17:34 -080081 bool "Aquantia Ethernet PHYs support"
Jeremy Gebbenabe3edf2018-09-18 15:49:35 -060082 select PHY_GIGE
83 select PHYLIB_10G
Alex89e50d92017-02-06 19:17:34 -080084
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060085config PHY_AQUANTIA_UPLOAD_FW
86 bool "Aquantia firmware loading support"
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060087 depends on PHY_AQUANTIA
88 help
89 Aquantia PHYs use firmware which can be either loaded automatically
90 from storage directly attached to the phy or loaded by the boot loader
91 via MDIO commands. The firmware is loaded from a file, specified by
92 the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
93
94config PHY_AQUANTIA_FW_PART
95 string "Aquantia firmware partition"
96 depends on PHY_AQUANTIA_UPLOAD_FW
97 help
98 Partition containing the firmware file.
99
100config PHY_AQUANTIA_FW_NAME
101 string "Aquantia firmware filename"
102 depends on PHY_AQUANTIA_UPLOAD_FW
103 help
104 Firmware filename.
105
Alex89e50d92017-02-06 19:17:34 -0800106config PHY_ATHEROS
107 bool "Atheros Ethernet PHYs support"
108
109config PHY_BROADCOM
110 bool "Broadcom Ethernet PHYs support"
111
112config PHY_CORTINA
113 bool "Cortina Ethernet PHYs support"
114
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530115config SYS_CORTINA_NO_FW_UPLOAD
116 bool "Cortina firmware loading support"
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530117 depends on PHY_CORTINA
118 help
119 Cortina phy has provision to store phy firmware in attached dedicated
120 EEPROM. And boards designed with such EEPROM does not require firmware
121 upload.
122
Tom Rini0b0342f2019-11-26 17:32:43 -0500123choice
124 prompt "Location of the Cortina firmware"
125 default SYS_CORTINA_FW_IN_NOR
126 depends on PHY_CORTINA
127
128config SYS_CORTINA_FW_IN_MMC
129 bool "Cortina firmware in MMC"
130
131config SYS_CORTINA_FW_IN_NAND
132 bool "Cortina firmware in NAND flash"
133
134config SYS_CORTINA_FW_IN_NOR
135 bool "Cortina firmware in NOR flash"
136
137config SYS_CORTINA_FW_IN_REMOTE
138 bool "Cortina firmware in remote device"
139
140config SYS_CORTINA_FW_IN_SPIFLASH
141 bool "Cortina firmware in SPI flash"
142
143endchoice
144
Kuldeep Singh016965f2021-08-10 11:20:07 +0530145config CORTINA_FW_ADDR
146 hex "Cortina Firmware Address"
147 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
148 default 0x0
149
150config CORTINA_FW_LENGTH
151 hex "Cortina Firmware Length"
152 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
153 default 0x40000
154
Abbie Chang556872f2021-01-14 13:34:12 -0800155config PHY_CORTINA_ACCESS
156 bool "Cortina Access Ethernet PHYs support"
157 default y
158 depends on CORTINA_NI_ENET
159 help
160 Cortina Access Ethernet PHYs init process
161
Alex89e50d92017-02-06 19:17:34 -0800162config PHY_DAVICOM
163 bool "Davicom Ethernet PHYs support"
164
165config PHY_ET1011C
166 bool "LSI TruePHY ET1011C support"
167
168config PHY_LXT
169 bool "LXT971 Ethernet PHY support"
170
171config PHY_MARVELL
172 bool "Marvell Ethernet PHYs support"
173
Neil Armstrong7a4c90d2017-10-18 10:02:10 +0200174config PHY_MESON_GXL
175 bool "Amlogic Meson GXL Internal PHY support"
176
Alex89e50d92017-02-06 19:17:34 -0800177config PHY_MICREL
178 bool "Micrel Ethernet PHYs support"
Philipp Tomsich00c33612017-03-26 18:50:23 +0200179 help
180 Enable support for the GbE PHYs manufactured by Micrel (now
James Byrnebc292c22019-03-06 12:48:27 +0000181 a part of Microchip). This includes drivers for the KSZ804, KSZ8031,
182 KSZ8051, KSZ8081, KSZ8895, KSZ886x and KSZ8721 (if "Micrel KSZ8xxx
183 family support" is selected) and the KSZ9021 and KSZ9031 (if "Micrel
184 KSZ90x1 family support" is selected).
Philipp Tomsich00c33612017-03-26 18:50:23 +0200185
186if PHY_MICREL
187
188config PHY_MICREL_KSZ9021
Alexandru Gagniuc4c69ccb2017-07-07 11:37:00 -0700189 bool
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700190 select PHY_MICREL_KSZ90X1
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700191
Philipp Tomsich00c33612017-03-26 18:50:23 +0200192config PHY_MICREL_KSZ9031
Alexandru Gagniuc4c69ccb2017-07-07 11:37:00 -0700193 bool
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700194 select PHY_MICREL_KSZ90X1
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700195
196config PHY_MICREL_KSZ90X1
197 bool "Micrel KSZ90x1 family support"
198 select PHY_GIGE
199 help
200 Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
201 enabled, the extended register read/write for KSZ90x1 PHYs
202 is supported through the 'mdio' command and any RGMII signal
203 delays configured in the device tree will be applied to the
204 PHY during initialization.
205
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700206config PHY_MICREL_KSZ8XXX
207 bool "Micrel KSZ8xxx family support"
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700208 help
James Byrnebc292c22019-03-06 12:48:27 +0000209 Enable support for the 8000 series 10/100 PHYs manufactured by Micrel
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700210 (now a part of Microchip). This includes drivers for the KSZ804,
211 KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
212
Philipp Tomsich00c33612017-03-26 18:50:23 +0200213endif # PHY_MICREL
Alex89e50d92017-02-06 19:17:34 -0800214
John Haechtenee253f92016-12-09 22:15:17 +0000215config PHY_MSCC
216 bool "Microsemi Corp Ethernet PHYs support"
217
Alex89e50d92017-02-06 19:17:34 -0800218config PHY_NATSEMI
219 bool "National Semiconductor Ethernet PHYs support"
220
Radu Pirea (NXP OSS)f2d36cb2021-06-18 21:58:30 +0300221config PHY_NXP_C45_TJA11XX
222 tristate "NXP C45 TJA11XX PHYs"
223 help
224 Enable support for NXP C45 TJA11XX PHYs.
225 Currently supports only the TJA1103 PHY.
226
Michael Trimarchi80ba4362022-04-12 10:31:37 -0300227config PHY_NXP_TJA11XX
228 bool "NXP TJA11XX Ethernet PHYs support"
229 help
230 Currently supports the NXP TJA1100 and TJA1101 PHY.
231
Alex89e50d92017-02-06 19:17:34 -0800232config PHY_REALTEK
233 bool "Realtek Ethernet PHYs support"
234
235config RTL8211X_PHY_FORCE_MASTER
236 bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
237 depends on PHY_REALTEK
238 help
239 Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
240 This can work around link stability and data corruption issues on gigabit
241 links which can occur in slave mode on certain PHYs, e.g. on the
242 RTL8211C(L).
243
244 Please note that two directly connected devices (i.e. via crossover cable)
245 will not be able to establish a link between each other if they both force
246 master mode. Multiple devices forcing master mode when connected by a
247 network switch do not pose a problem as the switch configures its affected
248 ports into slave mode.
249
250 This option only affects gigabit links. If you must establish a direct
251 connection between two devices which both force master mode, try forcing
252 the link speed to 100MBit/s.
253
254 If unsure, say N.
255
Carlo Caionecf93d022019-01-24 08:54:37 +0000256config RTL8211F_PHY_FORCE_EEE_RXC_ON
257 bool "Ethernet PHY RTL8211F: do not stop receiving the xMII clock during LPI"
258 depends on PHY_REALTEK
Carlo Caionecf93d022019-01-24 08:54:37 +0000259 help
260 The IEEE 802.3az-2010 (EEE) standard provides a protocol to coordinate
261 transitions to/from a lower power consumption level (Low Power Idle
262 mode) based on link utilization. When no packets are being
263 transmitted, the system goes to Low Power Idle mode to save power.
264
265 Under particular circumstances this setting can cause issues where
266 the PHY is unable to transmit or receive any packet when in LPI mode.
267 The problem is caused when the PHY is configured to stop receiving
268 the xMII clock while it is signaling LPI. For some PHYs the bit
269 configuring this behavior is set by the Linux kernel, causing the
270 issue in U-Boot on reboot if the PHY retains the register value.
271
272 Default n, which means that the PHY state is not changed. To work
273 around the issues, change this setting to y.
274
Amit Singh Tomar4f21b2a2020-05-09 19:55:11 +0530275config RTL8201F_PHY_S700_RMII_TIMINGS
276 bool "Ethernet PHY RTL8201F: adjust RMII Tx Interface timings"
277 depends on PHY_REALTEK
278 help
279 This provides an option to configure specific timing requirements (needed
280 for proper PHY operations) for the PHY module present on ACTION SEMI S700
281 based cubieboard7. Exact timing requiremnets seems to be SoC specific
282 (and it's undocumented) that comes from vendor code itself.
283
Alex89e50d92017-02-06 19:17:34 -0800284config PHY_SMSC
285 bool "Microchip(SMSC) Ethernet PHYs support"
286
287config PHY_TERANETICS
288 bool "Teranetics Ethernet PHYs support"
289
290config PHY_TI
291 bool "Texas Instruments Ethernet PHYs support"
Dan Murphy8b8d73a2020-05-04 16:14:39 -0500292 ---help---
293 Adds PHY registration support for TI PHYs.
294
295config PHY_TI_DP83867
296 select PHY_TI
297 bool "Texas Instruments Ethernet DP83867 PHY support"
298 ---help---
299 Adds support for the TI DP83867 1Gbit PHY.
Alex89e50d92017-02-06 19:17:34 -0800300
Dominic Rath11147e02021-12-22 08:57:46 +0100301config PHY_TI_DP83869
302 select PHY_TI
303 bool "Texas Instruments Ethernet DP83869 PHY support"
304 ---help---
305 Adds support for the TI DP83869 1Gbit PHY.
306
Dan Murphy3434cd72020-05-04 16:14:40 -0500307config PHY_TI_GENERIC
308 select PHY_TI
309 bool "Texas Instruments Generic Ethernet PHYs support"
310 ---help---
311 Adds support for Generic TI PHYs that don't need special handling but
312 the PHY name is associated with a PHY ID.
313
Alex89e50d92017-02-06 19:17:34 -0800314config PHY_VITESSE
315 bool "Vitesse Ethernet PHYs support"
316
317config PHY_XILINX
318 bool "Xilinx Ethernet PHYs support"
319
Siva Durga Prasad Paladugud5c4e1e2018-11-27 11:49:11 +0530320config PHY_XILINX_GMII2RGMII
321 bool "Xilinx GMII to RGMII Ethernet PHYs support"
322 help
323 This adds support for Xilinx GMII to RGMII IP core. This IP acts
324 as bridge between MAC connected over GMII and external phy that
325 is connected over RGMII interface.
326
Tim Harveyf7a72432022-11-17 13:27:09 -0800327config PHY_XWAY
328 bool "Intel XWAY PHY support"
329 help
330 This adds support for the Intel XWAY (formerly Lantiq) Gbe PHYs.
331
Michal Simek488eec52022-02-23 15:45:42 +0100332config PHY_ETHERNET_ID
333 bool "Read ethernet PHY id"
334 depends on DM_GPIO
335 default y if ZYNQ_GEM
336 help
337 Enable this config to read ethernet phy id from the phy node of DT
338 and create a phy device using id.
339
Hannes Schmelzerda494602017-03-23 15:11:43 +0100340config PHY_FIXED
341 bool "Fixed-Link PHY"
Hannes Schmelzerda494602017-03-23 15:11:43 +0100342 help
343 Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
344 connection (MII, RGMII, ...).
345 There is nothing like autoneogation and so
346 on, the link is always up with fixed speed and fixed duplex-setting.
347 More information: doc/device-tree-bindings/net/fixed-link.txt
348
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000349config PHY_NCSI
350 bool "NC-SI based PHY"
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000351
Alex89e50d92017-02-06 19:17:34 -0800352endif #PHYLIB
Tom Rini6c851512022-03-18 08:38:26 -0400353
Tom Rini33ae6a72022-07-23 13:05:10 -0400354config FSL_MEMAC
355 bool "NXP mEMAC PHY support"
356
357config SYS_MEMAC_LITTLE_ENDIAN
358 bool "mEMAC is access in little endian mode"
359 depends on FSL_MEMAC || FSL_LS_MDIO
360
Tom Rini6c851512022-03-18 08:38:26 -0400361config PHY_RESET_DELAY
362 int "Extra delay after reset before MII register access"
363 default 0
364 help
365 Some PHYs need extra delay after reset before any MII register access
366 is possible. For such PHY, set this option to the usec delay
367 required.