blob: 580ac8e8fba2f9d4cf4ef6c6acd33be797659657 [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"
65
66endif # MV88E61XX_SWITCH
67
Alex89e50d92017-02-06 19:17:34 -080068config PHYLIB_10G
69 bool "Generic 10G PHY support"
70
Nate Drudea9521ea2022-04-08 11:28:14 -050071config PHY_ADIN
72 bool "Analog Devices Industrial Ethernet PHYs"
73 help
74 Add support for configuring RGMII on Analog Devices ADIN PHYs.
75
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060076menuconfig PHY_AQUANTIA
Alex89e50d92017-02-06 19:17:34 -080077 bool "Aquantia Ethernet PHYs support"
Jeremy Gebbenabe3edf2018-09-18 15:49:35 -060078 select PHY_GIGE
79 select PHYLIB_10G
Alex89e50d92017-02-06 19:17:34 -080080
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060081config PHY_AQUANTIA_UPLOAD_FW
82 bool "Aquantia firmware loading support"
Jeremy Gebbene662c0d2018-09-18 15:49:36 -060083 depends on PHY_AQUANTIA
84 help
85 Aquantia PHYs use firmware which can be either loaded automatically
86 from storage directly attached to the phy or loaded by the boot loader
87 via MDIO commands. The firmware is loaded from a file, specified by
88 the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
89
90config PHY_AQUANTIA_FW_PART
91 string "Aquantia firmware partition"
92 depends on PHY_AQUANTIA_UPLOAD_FW
93 help
94 Partition containing the firmware file.
95
96config PHY_AQUANTIA_FW_NAME
97 string "Aquantia firmware filename"
98 depends on PHY_AQUANTIA_UPLOAD_FW
99 help
100 Firmware filename.
101
Alex89e50d92017-02-06 19:17:34 -0800102config PHY_ATHEROS
103 bool "Atheros Ethernet PHYs support"
104
105config PHY_BROADCOM
106 bool "Broadcom Ethernet PHYs support"
107
108config PHY_CORTINA
109 bool "Cortina Ethernet PHYs support"
110
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530111config SYS_CORTINA_NO_FW_UPLOAD
112 bool "Cortina firmware loading support"
Meenakshi Aggarwalf5ddc842020-10-29 19:16:15 +0530113 depends on PHY_CORTINA
114 help
115 Cortina phy has provision to store phy firmware in attached dedicated
116 EEPROM. And boards designed with such EEPROM does not require firmware
117 upload.
118
Tom Rini0b0342f2019-11-26 17:32:43 -0500119choice
120 prompt "Location of the Cortina firmware"
121 default SYS_CORTINA_FW_IN_NOR
122 depends on PHY_CORTINA
123
124config SYS_CORTINA_FW_IN_MMC
125 bool "Cortina firmware in MMC"
126
127config SYS_CORTINA_FW_IN_NAND
128 bool "Cortina firmware in NAND flash"
129
130config SYS_CORTINA_FW_IN_NOR
131 bool "Cortina firmware in NOR flash"
132
133config SYS_CORTINA_FW_IN_REMOTE
134 bool "Cortina firmware in remote device"
135
136config SYS_CORTINA_FW_IN_SPIFLASH
137 bool "Cortina firmware in SPI flash"
138
139endchoice
140
Kuldeep Singh016965f2021-08-10 11:20:07 +0530141config CORTINA_FW_ADDR
142 hex "Cortina Firmware Address"
143 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
144 default 0x0
145
146config CORTINA_FW_LENGTH
147 hex "Cortina Firmware Length"
148 depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
149 default 0x40000
150
Abbie Chang556872f2021-01-14 13:34:12 -0800151config PHY_CORTINA_ACCESS
152 bool "Cortina Access Ethernet PHYs support"
153 default y
154 depends on CORTINA_NI_ENET
155 help
156 Cortina Access Ethernet PHYs init process
157
Alex89e50d92017-02-06 19:17:34 -0800158config PHY_DAVICOM
159 bool "Davicom Ethernet PHYs support"
160
161config PHY_ET1011C
162 bool "LSI TruePHY ET1011C support"
163
164config PHY_LXT
165 bool "LXT971 Ethernet PHY support"
166
167config PHY_MARVELL
168 bool "Marvell Ethernet PHYs support"
169
Neil Armstrong7a4c90d2017-10-18 10:02:10 +0200170config PHY_MESON_GXL
171 bool "Amlogic Meson GXL Internal PHY support"
172
Alex89e50d92017-02-06 19:17:34 -0800173config PHY_MICREL
174 bool "Micrel Ethernet PHYs support"
Philipp Tomsich00c33612017-03-26 18:50:23 +0200175 help
176 Enable support for the GbE PHYs manufactured by Micrel (now
James Byrnebc292c22019-03-06 12:48:27 +0000177 a part of Microchip). This includes drivers for the KSZ804, KSZ8031,
178 KSZ8051, KSZ8081, KSZ8895, KSZ886x and KSZ8721 (if "Micrel KSZ8xxx
179 family support" is selected) and the KSZ9021 and KSZ9031 (if "Micrel
180 KSZ90x1 family support" is selected).
Philipp Tomsich00c33612017-03-26 18:50:23 +0200181
182if PHY_MICREL
183
184config PHY_MICREL_KSZ9021
Alexandru Gagniuc4c69ccb2017-07-07 11:37:00 -0700185 bool
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700186 select PHY_MICREL_KSZ90X1
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700187
Philipp Tomsich00c33612017-03-26 18:50:23 +0200188config PHY_MICREL_KSZ9031
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
192config PHY_MICREL_KSZ90X1
193 bool "Micrel KSZ90x1 family support"
194 select PHY_GIGE
195 help
196 Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
197 enabled, the extended register read/write for KSZ90x1 PHYs
198 is supported through the 'mdio' command and any RGMII signal
199 delays configured in the device tree will be applied to the
200 PHY during initialization.
201
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700202config PHY_MICREL_KSZ8XXX
203 bool "Micrel KSZ8xxx family support"
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700204 help
James Byrnebc292c22019-03-06 12:48:27 +0000205 Enable support for the 8000 series 10/100 PHYs manufactured by Micrel
Alexandru Gagniuc757bb672017-07-07 11:36:57 -0700206 (now a part of Microchip). This includes drivers for the KSZ804,
207 KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
208
Philipp Tomsich00c33612017-03-26 18:50:23 +0200209endif # PHY_MICREL
Alex89e50d92017-02-06 19:17:34 -0800210
John Haechtenee253f92016-12-09 22:15:17 +0000211config PHY_MSCC
212 bool "Microsemi Corp Ethernet PHYs support"
213
Alex89e50d92017-02-06 19:17:34 -0800214config PHY_NATSEMI
215 bool "National Semiconductor Ethernet PHYs support"
216
Radu Pirea (NXP OSS)f2d36cb2021-06-18 21:58:30 +0300217config PHY_NXP_C45_TJA11XX
218 tristate "NXP C45 TJA11XX PHYs"
219 help
220 Enable support for NXP C45 TJA11XX PHYs.
221 Currently supports only the TJA1103 PHY.
222
Michael Trimarchi80ba4362022-04-12 10:31:37 -0300223config PHY_NXP_TJA11XX
224 bool "NXP TJA11XX Ethernet PHYs support"
225 help
226 Currently supports the NXP TJA1100 and TJA1101 PHY.
227
Alex89e50d92017-02-06 19:17:34 -0800228config PHY_REALTEK
229 bool "Realtek Ethernet PHYs support"
230
231config RTL8211X_PHY_FORCE_MASTER
232 bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
233 depends on PHY_REALTEK
234 help
235 Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
236 This can work around link stability and data corruption issues on gigabit
237 links which can occur in slave mode on certain PHYs, e.g. on the
238 RTL8211C(L).
239
240 Please note that two directly connected devices (i.e. via crossover cable)
241 will not be able to establish a link between each other if they both force
242 master mode. Multiple devices forcing master mode when connected by a
243 network switch do not pose a problem as the switch configures its affected
244 ports into slave mode.
245
246 This option only affects gigabit links. If you must establish a direct
247 connection between two devices which both force master mode, try forcing
248 the link speed to 100MBit/s.
249
250 If unsure, say N.
251
Carlo Caionecf93d022019-01-24 08:54:37 +0000252config RTL8211F_PHY_FORCE_EEE_RXC_ON
253 bool "Ethernet PHY RTL8211F: do not stop receiving the xMII clock during LPI"
254 depends on PHY_REALTEK
Carlo Caionecf93d022019-01-24 08:54:37 +0000255 help
256 The IEEE 802.3az-2010 (EEE) standard provides a protocol to coordinate
257 transitions to/from a lower power consumption level (Low Power Idle
258 mode) based on link utilization. When no packets are being
259 transmitted, the system goes to Low Power Idle mode to save power.
260
261 Under particular circumstances this setting can cause issues where
262 the PHY is unable to transmit or receive any packet when in LPI mode.
263 The problem is caused when the PHY is configured to stop receiving
264 the xMII clock while it is signaling LPI. For some PHYs the bit
265 configuring this behavior is set by the Linux kernel, causing the
266 issue in U-Boot on reboot if the PHY retains the register value.
267
268 Default n, which means that the PHY state is not changed. To work
269 around the issues, change this setting to y.
270
Amit Singh Tomar4f21b2a2020-05-09 19:55:11 +0530271config RTL8201F_PHY_S700_RMII_TIMINGS
272 bool "Ethernet PHY RTL8201F: adjust RMII Tx Interface timings"
273 depends on PHY_REALTEK
274 help
275 This provides an option to configure specific timing requirements (needed
276 for proper PHY operations) for the PHY module present on ACTION SEMI S700
277 based cubieboard7. Exact timing requiremnets seems to be SoC specific
278 (and it's undocumented) that comes from vendor code itself.
279
Alex89e50d92017-02-06 19:17:34 -0800280config PHY_SMSC
281 bool "Microchip(SMSC) Ethernet PHYs support"
282
283config PHY_TERANETICS
284 bool "Teranetics Ethernet PHYs support"
285
286config PHY_TI
287 bool "Texas Instruments Ethernet PHYs support"
Dan Murphy8b8d73a2020-05-04 16:14:39 -0500288 ---help---
289 Adds PHY registration support for TI PHYs.
290
291config PHY_TI_DP83867
292 select PHY_TI
293 bool "Texas Instruments Ethernet DP83867 PHY support"
294 ---help---
295 Adds support for the TI DP83867 1Gbit PHY.
Alex89e50d92017-02-06 19:17:34 -0800296
Dominic Rath11147e02021-12-22 08:57:46 +0100297config PHY_TI_DP83869
298 select PHY_TI
299 bool "Texas Instruments Ethernet DP83869 PHY support"
300 ---help---
301 Adds support for the TI DP83869 1Gbit PHY.
302
Dan Murphy3434cd72020-05-04 16:14:40 -0500303config PHY_TI_GENERIC
304 select PHY_TI
305 bool "Texas Instruments Generic Ethernet PHYs support"
306 ---help---
307 Adds support for Generic TI PHYs that don't need special handling but
308 the PHY name is associated with a PHY ID.
309
Alex89e50d92017-02-06 19:17:34 -0800310config PHY_VITESSE
311 bool "Vitesse Ethernet PHYs support"
312
313config PHY_XILINX
314 bool "Xilinx Ethernet PHYs support"
315
Siva Durga Prasad Paladugud5c4e1e2018-11-27 11:49:11 +0530316config PHY_XILINX_GMII2RGMII
317 bool "Xilinx GMII to RGMII Ethernet PHYs support"
318 help
319 This adds support for Xilinx GMII to RGMII IP core. This IP acts
320 as bridge between MAC connected over GMII and external phy that
321 is connected over RGMII interface.
322
Tim Harveyf7a72432022-11-17 13:27:09 -0800323config PHY_XWAY
324 bool "Intel XWAY PHY support"
325 help
326 This adds support for the Intel XWAY (formerly Lantiq) Gbe PHYs.
327
Michal Simek488eec52022-02-23 15:45:42 +0100328config PHY_ETHERNET_ID
329 bool "Read ethernet PHY id"
330 depends on DM_GPIO
331 default y if ZYNQ_GEM
332 help
333 Enable this config to read ethernet phy id from the phy node of DT
334 and create a phy device using id.
335
Hannes Schmelzerda494602017-03-23 15:11:43 +0100336config PHY_FIXED
337 bool "Fixed-Link PHY"
Hannes Schmelzerda494602017-03-23 15:11:43 +0100338 help
339 Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
340 connection (MII, RGMII, ...).
341 There is nothing like autoneogation and so
342 on, the link is always up with fixed speed and fixed duplex-setting.
343 More information: doc/device-tree-bindings/net/fixed-link.txt
344
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000345config PHY_NCSI
346 bool "NC-SI based PHY"
Samuel Mendoza-Jonas2325c442019-06-18 11:37:17 +1000347
Alex89e50d92017-02-06 19:17:34 -0800348endif #PHYLIB
Tom Rini6c851512022-03-18 08:38:26 -0400349
Tom Rini33ae6a72022-07-23 13:05:10 -0400350config FSL_MEMAC
351 bool "NXP mEMAC PHY support"
352
353config SYS_MEMAC_LITTLE_ENDIAN
354 bool "mEMAC is access in little endian mode"
355 depends on FSL_MEMAC || FSL_LS_MDIO
356
Tom Rini6c851512022-03-18 08:38:26 -0400357config PHY_RESET_DELAY
358 int "Extra delay after reset before MII register access"
359 default 0
360 help
361 Some PHYs need extra delay after reset before any MII register access
362 is possible. For such PHY, set this option to the usec delay
363 required.