u-boot/drivers/net
Michal Simek a744a284e3 net: phy: Add support for ethernet-phy-id with gpio reset
Ethernet phy like dp83867 is using strapping resistors to setup PHY
address. On Xilinx boards strapping is setup on wires which are connected
to SOC where internal pull ups/downs influnce phy address. That's why there
is a need to setup pins properly (via pinctrl driver for example) and then
perform phy reset. I can be workarounded by reset gpio done for mdio bus
but this is not working properly when multiply phys sitting on the same
bus. That's why it needs to be done via ethernet-phy-id driver where dt
binding has gpio reset per phy.

DT binding is available here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ethernet-phy.yaml

The driver is are reading the vendor and device id from valid phy node
using ofnode_read_eth_phy_id() and creating a phy device.
Kconfig PHY_ETHERNET_ID symbol is used because not every platform has gpio
support.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Link: https://lore.kernel.org/r/70ab7d71c812b2c972d48c129e416c921af0d7f5.1645627539.git.michal.simek@xilinx.com
2022-03-09 12:43:16 +01:00
..
bnxt net: brcm: netXtreme driver 2021-12-02 08:34:01 +02:00
fm fdt_support: Add fdt_for_each_node_by_compatible() helper macro 2022-01-20 11:35:29 +01:00
fsl-mc drivers: net: fsl-mc: add a command which dumps the MC log 2021-11-09 17:18:06 +05:30
ldpaa_eth common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mscc_eswitch drivers: net: Soft reset felix switch core 2021-12-02 08:34:01 +02:00
octeontx WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
octeontx2 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pfe_eth doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
phy net: phy: Add support for ethernet-phy-id with gpio reset 2022-03-09 12:43:16 +01:00
qe global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
ti net: ti: am65-cpsw: Cleanup resources before jump to kernel 2022-02-03 12:15:35 -05:00
ag7xxx.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
altera_tse.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
altera_tse.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
armada100_fec.c net: armada100_fec: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
armada100_fec.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aspeed_mdio.c drivers: net: add Aspeed MDIO driver 2021-11-23 09:57:56 +02:00
ax88180.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
ax88180.h AX88180: use standard I/O accessors 2010-07-12 00:14:29 -07:00
bcm6348-eth.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
bcm6368-eth.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
bcm-sf2-eth-gmac.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
bcm-sf2-eth-gmac.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcm-sf2-eth.c net: bcm-sf2: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
bcm-sf2-eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcmgenet.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
calxedaxgmac.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
cortina_ni.c net: cortina_ni: buffer overrun 2021-02-24 16:51:49 -05:00
cortina_ni.h net: cortina_ni: Add eth support for Cortina Access CAxxxx SoCs 2021-01-27 10:47:44 -05:00
cs8900.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
cs8900.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dc2114x.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
designware.c net: Drop DM_PCI check from designware driver 2021-09-13 18:23:13 -04:00
designware.h dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
dm9000x.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
dm9000x.h dm9000 remove dead external phy support, gpio fix 2008-08-26 23:08:19 -07:00
dnet.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
dnet.h dnet: driver for Dave DNET ethernet controller 2009-02-10 00:16:27 +01:00
dsa_sandbox.c net: update NXP copyright text 2021-09-28 18:50:56 +03:00
dwc_eth_qos.c net: dwc_eth_qos: Enable clock in probe 2021-12-02 08:35:44 +02:00
dwmac_meson8b.c net: designware: meson8b: add g12a compatible 2021-05-14 17:46:50 +02:00
dwmac_s700.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
dwmac_socfpga.c net: designware: socfpga: Add ATF support for MAC driver 2021-01-15 17:48:37 +08:00
e1000_spi.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
e1000.c WS cleanup: remove excessive empty lines 2021-09-30 08:08:56 -04:00
e1000.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
eepro100.c net: eepro100: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
ep93xx_eth.c net: ep93xx: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
ep93xx_eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
eth-phy-uclass.c net: eth-phy: Demote missing phy-handle log message to debug 2022-01-15 18:51:49 +02:00
ethoc.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
fec_mxc.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fec_mxc.h net: fec_mxc: Declare 'promisc' as bool 2021-11-23 09:57:56 +02:00
fsl_enetc_mdio.c dm: core: Access device ofnode through functions 2021-01-05 12:24:41 -07:00
fsl_enetc.c net: enetc: ensure imdio.name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
fsl_enetc.h net: enetc: force the RGMII MAC speed/duplex instead of using in-band signaling 2021-07-06 05:22:41 +03:00
fsl_ls_mdio.c net: fsl: Fix busy flag polling register 2022-01-15 18:53:16 +02:00
fsl_mcdmafec.c net: mcdmafec: ensure bus->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
fsl_mdio.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
ftgmac100.c net: ftgmac100: Add Aspeed AST2600 support 2022-01-18 12:48:17 -05:00
ftgmac100.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
ftmac100.c Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
ftmac100.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ftmac110.c net: ftmac110: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
ftmac110.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gmac_rockchip.c clk: Allow force setting clock defaults before relocation 2021-06-17 09:40:57 +08:00
higmacv300.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
Kconfig net: brcm: netXtreme driver 2021-12-02 08:34:01 +02:00
ks8851_mll.c net: ks8851: Reset internal RXFC count on bad packet 2021-01-19 09:15:02 -05:00
ks8851_mll.h net: ks8851_mll: add ethernet support 2013-06-24 19:11:14 -05:00
ksz9477.c net: add support for KSZ9477/KSZ9897/KSZ9567 GbE switch 2021-07-10 18:12:42 +02:00
lan91c96.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
lan91c96.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lpc32xx_eth.c net: lpc32xx: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
macb.c net: macb: Remove Microchip compatible string 2021-12-02 16:43:51 +08:00
macb.h net: macb: Add DMA 64-bit address support for macb 2021-01-18 11:06:38 +08:00
Makefile net: brcm: netXtreme driver 2021-12-02 08:34:01 +02:00
mcffec.c m68k: Remove M54451EVB board 2021-07-18 21:03:57 -04:00
mcfmii.c m68k: Remove M5475x boards 2021-07-07 19:52:22 -04:00
mdio_mux_i2creg.c dm: core: Access device ofnode through functions 2021-01-05 12:24:41 -07:00
mdio_mux_meson_g12a.c net: add Amlogic Meson G12A MDIO MUX driver 2021-04-06 11:10:29 +02:00
mdio_mux_mmioreg.c net: add MMIO Register MDIO MUX driver 2021-04-06 11:10:29 +02:00
mdio_mux_sandbox.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mdio_sandbox.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mdio-ipq4019.c dm: core: Access device ofnode through functions 2021-01-05 12:24:41 -07:00
mpc8xx_fec.c net: mpc8xx_fec: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
mt7620-eth.c net: add ethernet driver for MediaTek MT7620 SoC 2021-01-24 21:39:27 +01:00
mt7628-eth.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
mtk_eth.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
mtk_eth.h eth: mtk-eth: enable mt7629 sgmii mode support in mediatek eth driver 2020-07-28 22:44:00 -04:00
mvgbe.c net: mvgbe: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
mvgbe.h net: mvgbe: convert to DM 2018-07-26 14:08:21 -05:00
mvmdio.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mvneta.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mvpp2.c net: mvpp2: add explicit sgmii-2500 support 2021-05-20 13:03:35 +02:00
natsemi.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
netconsole.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
ns8382x.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pch_gbe.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
pch_gbe.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pcnet.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
pic32_eth.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pic32_eth.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pic32_mdio.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ravb.c net: ravb: Add tx/rx delay flag checks and support for rgmii-rxid 2022-02-25 21:42:07 +01:00
rtl8139.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
rtl8169.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
sandbox-raw-bus.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sandbox-raw.c sandbox: net: Ensure host name is always a valid string 2021-07-15 18:42:05 -04:00
sandbox.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sh_eth.c net: sh_eth: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
sh_eth.h sh: Remove sh7757lcr board 2021-02-15 10:16:24 -05:00
sja1105.c net: dsa: sja1105: fix device id detection 2022-01-15 18:49:13 +02:00
smc911x.c net: smc911x: ensure mdiodev->name is NULL terminated after MDIO_NAME_LEN truncation 2021-09-28 18:50:56 +03:00
smc911x.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
smc91111.c net: Use phys_addr_t for SMC net device addresses 2021-07-22 21:55:05 +03:00
smc91111.h global: Remove dead code that starts with CONFIG_[0-9A] 2021-08-30 14:13:28 -04:00
sni_ave.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sni_netsec.c board: synquacer: Initialize SCBM SMMU at board_init() 2021-07-23 18:53:45 -04:00
sun8i_emac.c sunxi: Clean up inclusions of asm/arch/gpio.h 2021-10-11 10:46:44 +01:00
sunxi_emac.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
tsec.c net: tsec: Make redundant_init() static 2021-11-23 09:57:56 +02:00
uli526x.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
vsc7385.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
vsc9953.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
xilinx_axi_emac.c net: xilinx: fix the wrong dma base address issue 2022-02-01 17:11:33 +01:00
xilinx_axi_mrmac.c net: xilinx: axi_mrmac: Add MRMAC driver 2021-07-26 09:18:45 +02:00
xilinx_axi_mrmac.h net: xilinx: axi_mrmac: Add MRMAC driver 2021-07-26 09:18:45 +02:00
xilinx_emaclite.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
zynq_gem.c net: gem: Workaround gmii2rgmii bridge DT node issue 2022-01-17 10:02:35 +01:00