Merge tag 'efi-2021-10-rc3' of https://source.denx.de/u-boot/custodians/u-boot-efi
[platform/kernel/u-boot.git] / drivers / net / phy / Kconfig
1
2 config BITBANGMII
3         bool "Bit-banged ethernet MII management channel support"
4
5 config MV88E6352_SWITCH
6         bool "Marvell 88E6352 switch support"
7
8 menuconfig PHYLIB
9         bool "Ethernet PHY (physical media interface) support"
10         depends on NET
11         help
12           Enable Ethernet PHY (physical media interface) support.
13
14 if PHYLIB
15
16 config 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
22 if PHY_ADDR_ENABLE
23 config PHY_ADDR
24         int "PHY address"
25         default 1 if ARCH_SUNXI
26         default 0
27         help
28           The address of PHY on MII bus. Usually in range of 0 to 31.
29 endif
30
31 config B53_SWITCH
32         bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
33         help
34           Enable support for Broadcom BCM53xx (RoboSwitch) Ethernet switches.
35           This currently supports BCM53125 and similar models.
36
37 if B53_SWITCH
38
39 config B53_CPU_PORT
40         int "CPU port"
41         default 8
42
43 config B53_PHY_PORTS
44         hex "Bitmask of PHY ports"
45
46 endif # B53_SWITCH
47
48 config MV88E61XX_SWITCH
49         bool "Marvell MV88E61xx Ethernet switch PHY support."
50
51 if MV88E61XX_SWITCH
52
53 config MV88E61XX_CPU_PORT
54         int "CPU Port"
55
56 config MV88E61XX_PHY_PORTS
57         hex "Bitmask of PHY Ports"
58
59 config MV88E61XX_FIXED_PORTS
60         hex "Bitmask of PHYless serdes Ports"
61
62 endif # MV88E61XX_SWITCH
63
64 config PHYLIB_10G
65         bool "Generic 10G PHY support"
66
67 menuconfig PHY_AQUANTIA
68         bool "Aquantia Ethernet PHYs support"
69         select PHY_GIGE
70         select PHYLIB_10G
71
72 config PHY_AQUANTIA_UPLOAD_FW
73         bool "Aquantia firmware loading support"
74         default n
75         depends on PHY_AQUANTIA
76         help
77                 Aquantia PHYs use firmware which can be either loaded automatically
78                 from storage directly attached to the phy or loaded by the boot loader
79                 via MDIO commands.  The firmware is loaded from a file, specified by
80                 the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
81
82 config PHY_AQUANTIA_FW_PART
83         string "Aquantia firmware partition"
84         depends on PHY_AQUANTIA_UPLOAD_FW
85         help
86                 Partition containing the firmware file.
87
88 config PHY_AQUANTIA_FW_NAME
89         string "Aquantia firmware filename"
90         depends on PHY_AQUANTIA_UPLOAD_FW
91         help
92                 Firmware filename.
93
94 config PHY_ATHEROS
95         bool "Atheros Ethernet PHYs support"
96
97 config PHY_BROADCOM
98         bool "Broadcom Ethernet PHYs support"
99
100 config PHY_CORTINA
101         bool "Cortina Ethernet PHYs support"
102
103 config SYS_CORTINA_NO_FW_UPLOAD
104         bool "Cortina firmware loading support"
105         default n
106         depends on PHY_CORTINA
107         help
108                 Cortina phy has provision to store phy firmware in attached dedicated
109                 EEPROM. And boards designed with such EEPROM does not require firmware
110                 upload.
111
112 choice
113         prompt "Location of the Cortina firmware"
114         default SYS_CORTINA_FW_IN_NOR
115         depends on PHY_CORTINA
116
117 config SYS_CORTINA_FW_IN_MMC
118         bool "Cortina firmware in MMC"
119
120 config SYS_CORTINA_FW_IN_NAND
121         bool "Cortina firmware in NAND flash"
122
123 config SYS_CORTINA_FW_IN_NOR
124         bool "Cortina firmware in NOR flash"
125
126 config SYS_CORTINA_FW_IN_REMOTE
127         bool "Cortina firmware in remote device"
128
129 config SYS_CORTINA_FW_IN_SPIFLASH
130         bool "Cortina firmware in SPI flash"
131
132 endchoice
133
134 config CORTINA_FW_ADDR
135         hex "Cortina Firmware Address"
136         depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
137         default 0x0
138
139 config CORTINA_FW_LENGTH
140         hex "Cortina Firmware Length"
141         depends on PHY_CORTINA && !SYS_CORTINA_NO_FW_UPLOAD
142         default 0x40000
143
144 config PHY_CORTINA_ACCESS
145         bool "Cortina Access Ethernet PHYs support"
146         default y
147         depends on CORTINA_NI_ENET
148         help
149                 Cortina Access Ethernet PHYs init process
150
151 config PHY_DAVICOM
152         bool "Davicom Ethernet PHYs support"
153
154 config PHY_ET1011C
155         bool "LSI TruePHY ET1011C support"
156
157 config PHY_LXT
158         bool "LXT971 Ethernet PHY support"
159
160 config PHY_MARVELL
161         bool "Marvell Ethernet PHYs support"
162
163 config PHY_MESON_GXL
164         bool "Amlogic Meson GXL Internal PHY support"
165
166 config PHY_MICREL
167         bool "Micrel Ethernet PHYs support"
168         help
169           Enable support for the GbE PHYs manufactured by Micrel (now
170           a part of Microchip). This includes drivers for the KSZ804, KSZ8031,
171           KSZ8051, KSZ8081, KSZ8895, KSZ886x and KSZ8721 (if "Micrel KSZ8xxx
172           family support" is selected) and the KSZ9021 and KSZ9031 (if "Micrel
173           KSZ90x1 family support" is selected).
174
175 if PHY_MICREL
176
177 config PHY_MICREL_KSZ9021
178         bool
179         select PHY_MICREL_KSZ90X1
180
181 config PHY_MICREL_KSZ9031
182         bool
183         select PHY_MICREL_KSZ90X1
184
185 config PHY_MICREL_KSZ90X1
186         bool "Micrel KSZ90x1 family support"
187         select PHY_GIGE
188         help
189           Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
190           enabled, the extended register read/write for KSZ90x1 PHYs
191           is supported through the 'mdio' command and any RGMII signal
192           delays configured in the device tree will be applied to the
193           PHY during initialization.
194
195 config PHY_MICREL_KSZ8XXX
196         bool "Micrel KSZ8xxx family support"
197         help
198           Enable support for the 8000 series 10/100 PHYs manufactured by Micrel
199           (now a part of Microchip). This includes drivers for the KSZ804,
200           KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
201
202 endif # PHY_MICREL
203
204 config PHY_MSCC
205         bool "Microsemi Corp Ethernet PHYs support"
206
207 config PHY_NATSEMI
208         bool "National Semiconductor Ethernet PHYs support"
209
210 config PHY_NXP_C45_TJA11XX
211         tristate "NXP C45 TJA11XX PHYs"
212         help
213           Enable support for NXP C45 TJA11XX PHYs.
214           Currently supports only the TJA1103 PHY.
215
216 config PHY_REALTEK
217         bool "Realtek Ethernet PHYs support"
218
219 config RTL8211E_PINE64_GIGABIT_FIX
220         bool "Fix gigabit throughput on some Pine64+ models"
221         depends on PHY_REALTEK
222         help
223           Configure the Realtek RTL8211E found on some Pine64+ models differently to
224           fix throughput on Gigabit links, turning off all internal delays in the
225           process. The settings that this touches are not documented in the CONFREG
226           section of the RTL8211E datasheet, but come from Realtek by way of the
227           Pine64 engineering team.
228
229 config RTL8211X_PHY_FORCE_MASTER
230         bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
231         depends on PHY_REALTEK
232         help
233           Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
234           This can work around link stability and data corruption issues on gigabit
235           links which can occur in slave mode on certain PHYs, e.g. on the
236           RTL8211C(L).
237
238           Please note that two directly connected devices (i.e. via crossover cable)
239           will not be able to establish a link between each other if they both force
240           master mode. Multiple devices forcing master mode when connected by a
241           network switch do not pose a problem as the switch configures its affected
242           ports into slave mode.
243
244           This option only affects gigabit links. If you must establish a direct
245           connection between two devices which both force master mode, try forcing
246           the link speed to 100MBit/s.
247
248           If unsure, say N.
249
250 config RTL8211F_PHY_FORCE_EEE_RXC_ON
251         bool "Ethernet PHY RTL8211F: do not stop receiving the xMII clock during LPI"
252         depends on PHY_REALTEK
253         default n
254         help
255           The IEEE 802.3az-2010 (EEE) standard provides a protocol to coordinate
256           transitions to/from a lower power consumption level (Low Power Idle
257           mode) based on link utilization. When no packets are being
258           transmitted, the system goes to Low Power Idle mode to save power.
259
260           Under particular circumstances this setting can cause issues where
261           the PHY is unable to transmit or receive any packet when in LPI mode.
262           The problem is caused when the PHY is configured to stop receiving
263           the xMII clock while it is signaling LPI. For some PHYs the bit
264           configuring this behavior is set by the Linux kernel, causing the
265           issue in U-Boot on reboot if the PHY retains the register value.
266
267           Default n, which means that the PHY state is not changed. To work
268           around the issues, change this setting to y.
269
270 config RTL8201F_PHY_S700_RMII_TIMINGS
271         bool "Ethernet PHY RTL8201F: adjust RMII Tx Interface timings"
272         depends on PHY_REALTEK
273         help
274           This provides an option to configure specific timing requirements (needed
275           for proper PHY operations) for the PHY module present on ACTION SEMI S700
276           based cubieboard7. Exact timing requiremnets seems to be SoC specific
277           (and it's undocumented) that comes from vendor code itself.
278
279 config PHY_SMSC
280         bool  "Microchip(SMSC) Ethernet PHYs support"
281
282 config PHY_TERANETICS
283         bool "Teranetics Ethernet PHYs support"
284
285 config PHY_TI
286         bool "Texas Instruments Ethernet PHYs support"
287         ---help---
288           Adds PHY registration support for TI PHYs.
289
290 config PHY_TI_DP83867
291         select PHY_TI
292         bool "Texas Instruments Ethernet DP83867 PHY support"
293         ---help---
294           Adds support for the TI DP83867 1Gbit PHY.
295
296 config PHY_TI_GENERIC
297         select PHY_TI
298         bool "Texas Instruments Generic Ethernet PHYs support"
299         ---help---
300           Adds support for Generic TI PHYs that don't need special handling but
301           the PHY name is associated with a PHY ID.
302
303 config PHY_VITESSE
304         bool "Vitesse Ethernet PHYs support"
305
306 config PHY_XILINX
307         bool "Xilinx Ethernet PHYs support"
308
309 config PHY_XILINX_GMII2RGMII
310         bool "Xilinx GMII to RGMII Ethernet PHYs support"
311         depends on DM_ETH
312         help
313           This adds support for Xilinx GMII to RGMII IP core. This IP acts
314           as bridge between MAC connected over GMII and external phy that
315           is connected over RGMII interface.
316
317 config PHY_FIXED
318         bool "Fixed-Link PHY"
319         depends on DM_ETH
320         help
321           Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
322           connection (MII, RGMII, ...).
323           There is nothing like autoneogation and so
324           on, the link is always up with fixed speed and fixed duplex-setting.
325           More information: doc/device-tree-bindings/net/fixed-link.txt
326
327 config PHY_NCSI
328         bool "NC-SI based PHY"
329         depends on DM_ETH
330
331 endif #PHYLIB