esp-idf/components/esp_eth
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
..
include Merge branch 'feature/mmd_access_v5.0' into 'release/v5.0' 2024-02-29 22:30:49 +08:00
src fix(esp_eth): dp83848: correct link detection to use BMSR 2024-04-30 16:08:25 +08:00
test fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
test_apps ci(esp_eth): enabled Ethernet ip101 jobs 2024-01-22 12:48:41 +01:00
.build-test-rules.yml feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
CMakeLists.txt feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-26 13:29:37 +00:00
Kconfig feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-26 13:29:37 +00:00
linker.lf feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-26 13:29:37 +00:00