esp-idf/components/esp_eth
Karl Palsson 52702cf886 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-24 09:48:18 +02:00
..
include Merge branch 'feature/mmd_access_v5.2' into 'release/v5.2' 2024-03-11 10:36:51 +08:00
src fix(esp_eth): dp83848: correct link detection to use BMSR 2024-04-24 09:48:18 +02:00
test_apps ci(esp_eth): increased L2 test wait for connection timeout 2024-03-27 12:59:41 +01:00
CMakeLists.txt refactor(linux): excluded all non-Linux components from build 2023-10-16 17:06:54 +08:00
Kconfig feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-05 07:42:30 +02:00
linker.lf feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-05 07:42:30 +02:00