esp-idf/components/esp_eth/src
Karl Palsson 0eef7d1934 fix(esp_eth): dp83848: correct link detection to use BMSR
Reading the link state via PHYSTS was incorrect, as it only reflects the
link state bit from BMSR.  BMSR latches link down events, and are not
cleared without being read.  (See 802.3-2008 section 2, section 22.2.4.2.13)
This leads to the original DP828xx code only supporting link up, then a
single link down event.

Switch to reading the link state via BMSR, but continuing to read the
negotiation results via PHYSTS and ANLPAR.  This is inline with
LAN8720x, RTL8201, KSZ80xx phy drivers, and other opensource drivers for
the DP838xx family of devices.

Tested on a private board with a DP83825i PHY.  No publically available
boards using the original DP83848 are known of for testing.

Signed-off-by: Karl Palsson <karl.palsson@marel.com>
2024-04-30 16:08:25 +08:00
..
dm9051.h esp_eth: allowed DM9051 to receive multicast packets 2023-03-21 16:20:24 +00:00
esp_eth_mac_dm9051.c fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-16 14:43:53 +01:00
esp_eth_mac_esp.c fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
esp_eth_mac_ksz8851snl.c fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-16 14:43:53 +01:00
esp_eth_mac_openeth.c hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces 2022-07-22 00:06:06 +08:00
esp_eth_mac_w5500.c fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-16 14:43:53 +01:00
esp_eth_netif_glue.c esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers" 2022-07-20 14:59:07 +02:00
esp_eth_phy_802_3.c Merge branch 'feature/mmd_access_v5.0' into 'release/v5.0' 2024-02-29 22:30:49 +08:00
esp_eth_phy_dm9051.c fix(esp_eth): various Ethernet driver fixes 2023-11-23 13:14:31 +00:00
esp_eth_phy_dp83848.c fix(esp_eth): dp83848: correct link detection to use BMSR 2024-04-30 16:08:25 +08:00
esp_eth_phy_ip101.c fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet 2024-02-09 15:01:03 +01:00
esp_eth_phy_ksz80xx.c fix(esp_eth): various Ethernet driver fixes 2023-11-23 13:14:31 +00:00
esp_eth_phy_ksz8851snl.c fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
esp_eth_phy_lan87xx.c feat(esp_eth): added ioctl option to read/write PHY registers 2023-11-23 15:34:34 +01:00
esp_eth_phy_rtl8201.c esp_eth: fixed chip drivers to reflect chip specific loopback behaviour 2023-11-23 13:14:31 +00:00
esp_eth_phy_w5500.c fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
esp_eth.c fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
ksz8851.h esp_eth: Update KSZ8851SNL driver to use global error checkers 2021-04-22 13:55:51 +00:00
openeth.h C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT 2022-12-19 15:06:15 +01:00
w5500.h esp_eth: Improve GPIO interrupt processing in w5500 driver 2021-05-25 04:52:46 +00:00