xref: /openbmc/u-boot/drivers/net/phy/Kconfig (revision 6a69dbe2)
1af2cbfd6SAlex
2af2cbfd6SAlexconfig BITBANGMII
3af2cbfd6SAlex	bool "Bit-banged ethernet MII management channel support"
4af2cbfd6SAlex
5af2cbfd6SAlexconfig MV88E6352_SWITCH
6af2cbfd6SAlex	bool "Marvell 88E6352 switch support"
7af2cbfd6SAlex
8af2cbfd6SAlexmenuconfig PHYLIB
9af2cbfd6SAlex	bool "Ethernet PHY (physical media interface) support"
10c946b0e9SMichal Simek	depends on NET
11af2cbfd6SAlex	help
12af2cbfd6SAlex	  Enable Ethernet PHY (physical media interface) support.
13af2cbfd6SAlex
14af2cbfd6SAlexif PHYLIB
15af2cbfd6SAlex
1616879cd2SJoe Hershbergerconfig PHY_ADDR_ENABLE
1716879cd2SJoe Hershberger	bool "Limit phy address"
1816879cd2SJoe Hershberger	default y if ARCH_SUNXI
1916879cd2SJoe Hershberger	help
2016879cd2SJoe Hershberger	  Select this if you want to control which phy address is used
2116879cd2SJoe Hershberger
2216879cd2SJoe Hershbergerif PHY_ADDR_ENABLE
23b30c4190SStefan Mavrodievconfig PHY_ADDR
24b30c4190SStefan Mavrodiev	int "PHY address"
25b30c4190SStefan Mavrodiev	default 1 if ARCH_SUNXI
26b30c4190SStefan Mavrodiev	default 0
27b30c4190SStefan Mavrodiev	help
28b30c4190SStefan Mavrodiev	  The address of PHY on MII bus. Usually in range of 0 to 31.
2916879cd2SJoe Hershbergerendif
30b30c4190SStefan Mavrodiev
31137963d7SFlorian Fainelliconfig B53_SWITCH
32137963d7SFlorian Fainelli	bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
33137963d7SFlorian Fainelli	help
34137963d7SFlorian Fainelli	  Enable support for Broadcom BCM53xx (RoboSwitch) Ethernet switches.
35137963d7SFlorian Fainelli	  This currently supports BCM53125 and similar models.
36137963d7SFlorian Fainelli
37137963d7SFlorian Fainelliif B53_SWITCH
38137963d7SFlorian Fainelli
39137963d7SFlorian Fainelliconfig B53_CPU_PORT
40137963d7SFlorian Fainelli	int "CPU port"
41137963d7SFlorian Fainelli	default 8
42137963d7SFlorian Fainelli
43137963d7SFlorian Fainelliconfig B53_PHY_PORTS
44137963d7SFlorian Fainelli	hex "Bitmask of PHY ports"
45137963d7SFlorian Fainelli
46137963d7SFlorian Fainelliendif # B53_SWITCH
47137963d7SFlorian Fainelli
48af2cbfd6SAlexconfig MV88E61XX_SWITCH
49af2cbfd6SAlex	bool "Marvel MV88E61xx Ethernet switch PHY support."
50af2cbfd6SAlex
51b4f4b0f5STim Harveyif MV88E61XX_SWITCH
52b4f4b0f5STim Harvey
53b4f4b0f5STim Harveyconfig MV88E61XX_CPU_PORT
54b4f4b0f5STim Harvey	int "CPU Port"
55b4f4b0f5STim Harvey
56b4f4b0f5STim Harveyconfig MV88E61XX_PHY_PORTS
57b4f4b0f5STim Harvey	hex "Bitmask of PHY Ports"
58b4f4b0f5STim Harvey
59b4f4b0f5STim Harveyconfig MV88E61XX_FIXED_PORTS
60b4f4b0f5STim Harvey	hex "Bitmask of PHYless serdes Ports"
61b4f4b0f5STim Harvey
62b4f4b0f5STim Harveyendif # MV88E61XX_SWITCH
63b4f4b0f5STim Harvey
64af2cbfd6SAlexconfig PHYLIB_10G
65af2cbfd6SAlex	bool "Generic 10G PHY support"
66af2cbfd6SAlex
674506423aSJeremy Gebbenmenuconfig PHY_AQUANTIA
68af2cbfd6SAlex	bool "Aquantia Ethernet PHYs support"
691c650108SJeremy Gebben	select PHY_GIGE
701c650108SJeremy Gebben	select PHYLIB_10G
71af2cbfd6SAlex
724506423aSJeremy Gebbenconfig PHY_AQUANTIA_UPLOAD_FW
734506423aSJeremy Gebben	bool "Aquantia firmware loading support"
744506423aSJeremy Gebben	default n
754506423aSJeremy Gebben	depends on PHY_AQUANTIA
764506423aSJeremy Gebben	help
774506423aSJeremy Gebben		Aquantia PHYs use firmware which can be either loaded automatically
784506423aSJeremy Gebben		from storage directly attached to the phy or loaded by the boot loader
794506423aSJeremy Gebben		via MDIO commands.  The firmware is loaded from a file, specified by
804506423aSJeremy Gebben		the PHY_AQUANTIA_FW_PART and PHY_AQUANTIA_FW_NAME options.
814506423aSJeremy Gebben
824506423aSJeremy Gebbenconfig PHY_AQUANTIA_FW_PART
834506423aSJeremy Gebben	string "Aquantia firmware partition"
844506423aSJeremy Gebben	depends on PHY_AQUANTIA_UPLOAD_FW
854506423aSJeremy Gebben	help
864506423aSJeremy Gebben		Partition containing the firmware file.
874506423aSJeremy Gebben
884506423aSJeremy Gebbenconfig PHY_AQUANTIA_FW_NAME
894506423aSJeremy Gebben	string "Aquantia firmware filename"
904506423aSJeremy Gebben	depends on PHY_AQUANTIA_UPLOAD_FW
914506423aSJeremy Gebben	help
924506423aSJeremy Gebben		Firmware filename.
934506423aSJeremy Gebben
94af2cbfd6SAlexconfig PHY_ATHEROS
95af2cbfd6SAlex	bool "Atheros Ethernet PHYs support"
96af2cbfd6SAlex
97af2cbfd6SAlexconfig PHY_BROADCOM
98af2cbfd6SAlex	bool "Broadcom Ethernet PHYs support"
99af2cbfd6SAlex
100af2cbfd6SAlexconfig PHY_CORTINA
101af2cbfd6SAlex	bool "Cortina Ethernet PHYs support"
102af2cbfd6SAlex
103af2cbfd6SAlexconfig PHY_DAVICOM
104af2cbfd6SAlex	bool "Davicom Ethernet PHYs support"
105af2cbfd6SAlex
106af2cbfd6SAlexconfig PHY_ET1011C
107af2cbfd6SAlex	bool "LSI TruePHY ET1011C support"
108af2cbfd6SAlex
109af2cbfd6SAlexconfig PHY_LXT
110af2cbfd6SAlex	bool "LXT971 Ethernet PHY support"
111af2cbfd6SAlex
112af2cbfd6SAlexconfig PHY_MARVELL
113af2cbfd6SAlex	bool "Marvell Ethernet PHYs support"
114af2cbfd6SAlex
1158995a96dSNeil Armstrongconfig PHY_MESON_GXL
1168995a96dSNeil Armstrong	bool "Amlogic Meson GXL Internal PHY support"
1178995a96dSNeil Armstrong
118af2cbfd6SAlexconfig PHY_MICREL
119af2cbfd6SAlex	bool "Micrel Ethernet PHYs support"
120449ea2cdSPhilipp Tomsich	help
121449ea2cdSPhilipp Tomsich	  Enable support for the GbE PHYs manufactured by Micrel (now
122449ea2cdSPhilipp Tomsich	  a part of Microchip). This includes drivers for the KSZ804,
123449ea2cdSPhilipp Tomsich	  KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, KSZ8721
124449ea2cdSPhilipp Tomsich	  either/or KSZ9021 (see the "Micrel KSZ9021 family support"
125449ea2cdSPhilipp Tomsich	  config option for details), and KSZ9031 (if configured).
126449ea2cdSPhilipp Tomsich
127449ea2cdSPhilipp Tomsichif PHY_MICREL
128449ea2cdSPhilipp Tomsich
129449ea2cdSPhilipp Tomsichconfig PHY_MICREL_KSZ9021
1309a31c739SAlexandru Gagniuc	bool
131449ea2cdSPhilipp Tomsich	select PHY_GIGE
132d397f7c4SAlexandru Gagniuc	select PHY_MICREL_KSZ90X1
133d397f7c4SAlexandru Gagniuc
134449ea2cdSPhilipp Tomsichconfig PHY_MICREL_KSZ9031
1359a31c739SAlexandru Gagniuc	bool
136449ea2cdSPhilipp Tomsich	select PHY_GIGE
137d397f7c4SAlexandru Gagniuc	select PHY_MICREL_KSZ90X1
138d397f7c4SAlexandru Gagniuc
139d397f7c4SAlexandru Gagniucconfig PHY_MICREL_KSZ90X1
140d397f7c4SAlexandru Gagniuc	bool "Micrel KSZ90x1 family support"
141d397f7c4SAlexandru Gagniuc	select PHY_GIGE
142d397f7c4SAlexandru Gagniuc	help
143d397f7c4SAlexandru Gagniuc	  Enable support for the Micrel KSZ9021 and KSZ9031 GbE PHYs. If
144d397f7c4SAlexandru Gagniuc	  enabled, the extended register read/write for KSZ90x1 PHYs
145d397f7c4SAlexandru Gagniuc	  is supported through the 'mdio' command and any RGMII signal
146d397f7c4SAlexandru Gagniuc	  delays configured in the device tree will be applied to the
147d397f7c4SAlexandru Gagniuc	  PHY during initialization.
148d397f7c4SAlexandru Gagniuc
149d397f7c4SAlexandru Gagniuc	  This should not be enabled at the same time with PHY_MICREL_KSZ8XXX
150d397f7c4SAlexandru Gagniuc	  as the KSZ9021 and KS8721 share the same ID.
151d397f7c4SAlexandru Gagniuc
152d397f7c4SAlexandru Gagniucconfig PHY_MICREL_KSZ8XXX
153d397f7c4SAlexandru Gagniuc	bool "Micrel KSZ8xxx family support"
154d397f7c4SAlexandru Gagniuc	default y if !PHY_MICREL_KSZ90X1
155d397f7c4SAlexandru Gagniuc	help
156d397f7c4SAlexandru Gagniuc	  Enable support for the 8000 series GbE PHYs manufactured by Micrel
157d397f7c4SAlexandru Gagniuc	  (now a part of Microchip). This includes drivers for the KSZ804,
158d397f7c4SAlexandru Gagniuc	  KSZ8031, KSZ8051, KSZ8081, KSZ8895, KSZ886x, and KSZ8721.
159d397f7c4SAlexandru Gagniuc
160d397f7c4SAlexandru Gagniuc	  This should not be enabled at the same time with PHY_MICREL_KSZ90X1
161d397f7c4SAlexandru Gagniuc	  as the KSZ9021 and KS8721 share the same ID.
162d397f7c4SAlexandru Gagniuc
163449ea2cdSPhilipp Tomsichendif # PHY_MICREL
164af2cbfd6SAlex
165a5fd13adSJohn Haechtenconfig PHY_MSCC
166a5fd13adSJohn Haechten	bool "Microsemi Corp Ethernet PHYs support"
167a5fd13adSJohn Haechten
168af2cbfd6SAlexconfig PHY_NATSEMI
169af2cbfd6SAlex	bool "National Semiconductor Ethernet PHYs support"
170af2cbfd6SAlex
171af2cbfd6SAlexconfig PHY_REALTEK
172af2cbfd6SAlex	bool "Realtek Ethernet PHYs support"
173af2cbfd6SAlex
17466526e70Skevans@FreeBSD.orgconfig RTL8211E_PINE64_GIGABIT_FIX
17566526e70Skevans@FreeBSD.org	bool "Fix gigabit throughput on some Pine64+ models"
17666526e70Skevans@FreeBSD.org	depends on PHY_REALTEK
17766526e70Skevans@FreeBSD.org	help
17866526e70Skevans@FreeBSD.org	  Configure the Realtek RTL8211E found on some Pine64+ models differently to
17966526e70Skevans@FreeBSD.org	  fix throughput on Gigabit links, turning off all internal delays in the
18066526e70Skevans@FreeBSD.org	  process. The settings that this touches are not documented in the CONFREG
18166526e70Skevans@FreeBSD.org	  section of the RTL8211E datasheet, but come from Realtek by way of the
18266526e70Skevans@FreeBSD.org	  Pine64 engineering team.
18366526e70Skevans@FreeBSD.org
184af2cbfd6SAlexconfig RTL8211X_PHY_FORCE_MASTER
185af2cbfd6SAlex	bool "Ethernet PHY RTL8211x: force 1000BASE-T master mode"
186af2cbfd6SAlex	depends on PHY_REALTEK
187af2cbfd6SAlex	help
188af2cbfd6SAlex	  Force master mode for 1000BASE-T on RTl8211x PHYs (except for RTL8211F).
189af2cbfd6SAlex	  This can work around link stability and data corruption issues on gigabit
190af2cbfd6SAlex	  links which can occur in slave mode on certain PHYs, e.g. on the
191af2cbfd6SAlex	  RTL8211C(L).
192af2cbfd6SAlex
193af2cbfd6SAlex	  Please note that two directly connected devices (i.e. via crossover cable)
194af2cbfd6SAlex	  will not be able to establish a link between each other if they both force
195af2cbfd6SAlex	  master mode. Multiple devices forcing master mode when connected by a
196af2cbfd6SAlex	  network switch do not pose a problem as the switch configures its affected
197af2cbfd6SAlex	  ports into slave mode.
198af2cbfd6SAlex
199af2cbfd6SAlex	  This option only affects gigabit links. If you must establish a direct
200af2cbfd6SAlex	  connection between two devices which both force master mode, try forcing
201af2cbfd6SAlex	  the link speed to 100MBit/s.
202af2cbfd6SAlex
203af2cbfd6SAlex	  If unsure, say N.
204af2cbfd6SAlex
205af2cbfd6SAlexconfig PHY_SMSC
206af2cbfd6SAlex	bool  "Microchip(SMSC) Ethernet PHYs support"
207af2cbfd6SAlex
208af2cbfd6SAlexconfig PHY_TERANETICS
209af2cbfd6SAlex	bool "Teranetics Ethernet PHYs support"
210af2cbfd6SAlex
211af2cbfd6SAlexconfig PHY_TI
212af2cbfd6SAlex	bool "Texas Instruments Ethernet PHYs support"
213af2cbfd6SAlex
214af2cbfd6SAlexconfig PHY_VITESSE
215af2cbfd6SAlex	bool "Vitesse Ethernet PHYs support"
216af2cbfd6SAlex
217af2cbfd6SAlexconfig PHY_XILINX
218af2cbfd6SAlex	bool "Xilinx Ethernet PHYs support"
219af2cbfd6SAlex
220db40c1aaSHannes Schmelzerconfig PHY_FIXED
221db40c1aaSHannes Schmelzer	bool "Fixed-Link PHY"
222db40c1aaSHannes Schmelzer	depends on DM_ETH
223db40c1aaSHannes Schmelzer	help
224db40c1aaSHannes Schmelzer	  Fixed PHY is used for having a 'fixed-link' to another MAC with a direct
225db40c1aaSHannes Schmelzer	  connection (MII, RGMII, ...).
226db40c1aaSHannes Schmelzer	  There is nothing like autoneogation and so
227db40c1aaSHannes Schmelzer	  on, the link is always up with fixed speed and fixed duplex-setting.
228db40c1aaSHannes Schmelzer	  More information: doc/device-tree-bindings/net/fixed-link.txt
229db40c1aaSHannes Schmelzer
230*9ab23354SDylan Hungconfig PHY_NCSI
231*9ab23354SDylan Hung	bool "NC-SI based PHY"
232*9ab23354SDylan Hung	depends on DM_ETH
233*9ab23354SDylan Hung
234af2cbfd6SAlexendif #PHYLIB
235