linux/drivers/net/ethernet/ti
Ravi Gunasekaran d04807b806 net: ethernet: ti: davinci_mdio: Add workaround for errata i2329
On the CPSW and ICSS peripherals, there is a possibility that the MDIO
interface returns corrupt data on MDIO reads or writes incorrect data
on MDIO writes. There is also a possibility for the MDIO interface to
become unavailable until the next peripheral reset.

The workaround is to configure the MDIO in manual mode and disable the
MDIO state machine and emulate the MDIO protocol by reading and writing
appropriate fields in MDIO_MANUAL_IF_REG register of the MDIO controller
to manipulate the MDIO clock and data pins.

More details about the errata i2329 and the workaround is available in:
https://www.ti.com/lit/er/sprz487a/sprz487a.pdf

Add implementation to disable MDIO state machine, configure MDIO in manual
mode and achieve MDIO read and writes via MDIO Bitbanging

Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-08-22 12:52:06 +01:00
..
am65-cpsw-ethtool.c net: ethernet: ti: am65-cpsw-ethtool: use pm_runtime_resume_and_get 2022-04-22 10:53:17 +01:00
am65-cpsw-nuss.c net: ethernet: ti: am65-cpsw: Fix devlink port register sequence 2022-07-07 17:21:44 -07:00
am65-cpsw-nuss.h net: ethernet: ti: am65-cpsw: Convert to PHYLINK 2022-03-11 11:00:03 +00:00
am65-cpsw-qos.c ethernet/ti: delete if NULL check befort devm_kfree 2022-05-17 11:19:15 +02:00
am65-cpsw-qos.h net: ethernet: ti: am65-cpsw: enable bc/mc storm prevention support 2022-04-13 12:42:39 +01:00
am65-cpsw-switchdev.c net: ti: am65-cpsw-nuss: remove guards against !BRIDGE_VLAN_INFO_BRENTRY 2022-02-17 14:17:10 +00:00
am65-cpsw-switchdev.h
am65-cpts.c net: ethernet: ti: am65-cpts: Use devm_platform_ioremap_resource_byname() 2021-06-09 15:24:43 -07:00
am65-cpts.h
cpmac.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
cpsw_ale.c drivers: net: cpsw: ale: add broadcast/multicast rate limit support 2022-04-13 12:42:39 +01:00
cpsw_ale.h drivers: net: cpsw: ale: add broadcast/multicast rate limit support 2022-04-13 12:42:39 +01:00
cpsw_ethtool.c drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool 2022-03-23 10:46:42 -07:00
cpsw_new.c net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
cpsw_priv.c eth: cpsw: remove a copy of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
cpsw_priv.h eth: cpsw: remove a copy of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
cpsw_sl.c
cpsw_sl.h
cpsw_switchdev.c net: ti: cpsw: remove guards against !BRIDGE_VLAN_INFO_BRENTRY 2022-02-17 14:17:10 +00:00
cpsw_switchdev.h
cpsw-common.c
cpsw-phy-sel.c net: ethernet: ti: cpsw-phy-sel: Use devm_platform_ioremap_resource_byname() 2021-06-09 15:27:55 -07:00
cpsw.c net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
cpsw.h
cpts.c net: ethernet: ti: cpts: Handle error for clk_enable 2022-03-09 12:12:46 +00:00
cpts.h
davinci_cpdma.c net: ethernet: ti: davinci_cpdma: revert "drop frame padding" 2021-08-06 16:18:15 -07:00
davinci_cpdma.h net: ethernet: ti: davinci_cpdma: revert "drop frame padding" 2021-08-06 16:18:15 -07:00
davinci_emac.c eth: remove copies of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
davinci_mdio.c net: ethernet: ti: davinci_mdio: Add workaround for errata i2329 2022-08-22 12:52:06 +01:00
k3-cppi-desc-pool.c
k3-cppi-desc-pool.h
Kconfig net: ethernet: ti: am65-cpsw: Fix build error without PHYLINK 2022-04-11 20:49:10 -07:00
Makefile
netcp_core.c net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
netcp_ethss.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
netcp_sgmii.c
netcp_xgbepcsr.c
netcp.h
tlan.c ethernet: tlan: use eth_hw_addr_set() 2021-10-20 11:41:01 +01:00
tlan.h