Commit Graph

296 Commits

Author SHA1 Message Date
Dhimas Ardinata
17efcd2810 fix(esp_eth): make openeth ISR log DRAM-safe
Keep the ISR from touching flash-resident log strings while cache is disabled.

Closes #18644
2026-08-21 01:36:59 +00:00
Ondrej Kosta
f5e5b44a57 fix(esp_eth): fixed Ethernet PHY HW reset timing in common PHY code 2026-08-17 17:06:25 +08:00
Guilherme Ferreira
9f4d31d692 fix(esp_eth): recover W5500 RX path on corrupted frame length
Reject an implausible SPI-read frame-length header and drain the
socket RX buffer to resync Sn_RX_RD, instead of looping forever on
the unrecoverable descriptor and starving the system.
2026-07-27 10:26:00 +02:00
Guilherme Ferreira
2716f9ff65 fix(esp_eth): correct PHYCFGR sanity check mask and bit validation
Closes https://github.com/espressif/esp-idf/issues/17530
2026-04-21 09:51:14 +02:00
Evgeny Torbin
f7395255da test: format all test scripts 2026-03-11 07:34:34 +01:00
Ondrej Kosta
0fe61ada78 feat(esp_eth): Ethernet test refactor
ETH tests use setUp-tearDown to init/deinit resources
2026-03-05 21:39:16 +08:00
Jiang Jiang Jian
32bb4735c1 Merge branch 'fix/p4_fixed_mdc_config_v5.4' into 'release/v5.4'
fix(esp_eth): fixed ESP32P4 CSR clock range used to determine MDC (v5.4)

See merge request espressif/esp-idf!44227
2026-01-27 11:52:46 +08:00
Ondrej Kosta
db304a34ff fix(esp_eth): made 10M loopback test less strict 2026-01-12 16:18:33 +01:00
Ondrej Kosta
c422590235 fix(esp_eth): fixes EMAC MDC out of the range issue
Closes https://github.com/espressif/esp-idf/issues/17984
2026-01-08 16:29:02 +08:00
Ondrej Kosta
5987de7951 feat(ci): updated Ethernet tests to align with new runners 2025-12-02 10:29:38 +01:00
David Čermák
12ba558e39 Merge branch 'fix/eth_connect_v5.4' into 'release/v5.4'
fix(esp_eth): made LAN8720 test write register function more robust (v5.4)

See merge request espressif/esp-idf!42933
2025-11-07 20:55:14 +08:00
Ondrej Kosta
515f7a8703 fix(esp_eth): made LAN8720 test write register function more robust 2025-11-04 04:09:01 +01:00
David Čermák
a73420771b Merge branch 'fix/w5500_10m_mode_v5_4' into 'release/v5.4'
fix(esp_eth): Fixed W5500 poor performance in 10M mode v5.4

See merge request espressif/esp-idf!42729
2025-11-03 13:58:24 +08:00
Ondrej Kosta
aa0ae280ed fix(esp_eth): Fixed W5500 poor performance in 10M mode 2025-10-20 11:26:20 +02:00
Ondrej Kosta
8c637f4376 fix(ci): increased timeout for ethernet_int_emac_test 2025-10-06 12:53:55 +02:00
Jiang Jiang Jian
19e864060a Merge branch 'fix/rmii_ref_ckl_v5.4' into 'release/v5.4'
fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode (v5.4)

See merge request espressif/esp-idf!38039
2025-04-07 13:58:48 +08:00
Ondrej Kosta
ac29bd7ca4 ci(esp_eth): enabled Ethernet target tests 2025-04-01 12:45:59 +02:00
Jonathan Swoboda
3581d9d5a9 fix(esp_eth): Fix order of fields in ETH_ESP32_EMAC_DEFAULT_CONFIG on P4 2025-04-01 07:24:19 +00:00
Ondrej Kosta
e544d57179 fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode
fixed units returned and used by periph_rtc_mpll_freq_set function
2025-04-01 08:32:09 +02:00
David Cermak
8e8d922edc fix(esp_eth): Fix test code to unregister event correctly 2025-02-05 07:34:27 +01:00
Ondrej Kosta
0738314308 feat(esp_eth): added new generic PHY driver 2024-10-11 10:14:53 +02:00
Ondrej Kosta
50704ffa70 docs(esp_eth): added warning to not use ESP32 as ETH CLK source with WiFi 2024-08-27 20:01:23 +08:00
Ondrej Kosta
ad9cdcd11a Merge branch 'contrib/github_pr_14276' into 'master'
fix(esp_eth): fix C++ invalid type conversion error (GitHub PR)

Closes IDFGH-13363

See merge request espressif/esp-idf!32706
2024-08-12 18:48:08 +08:00
David Roman
b9924df4be fix(esp_eth): fix C++ invalid type conversion error
Closes https://github.com/espressif/esp-idf/issues/14265
2024-08-09 18:54:43 +08:00
Tian Sen Wen
61e05bddc9 fix(esp_eth): Fix DM9051 abnormal operation when SPI clock is too high
Simplified buffer allocation for DM9051
2024-08-08 20:53:48 +08:00
Ivan Grokhotkov
728136a91d fix(esp_eth): fix variable declarations inside switch for clang 2024-07-12 12:14:32 +02:00
morris
96e1fe5029 test(emac): register are not read/write by half-word 2024-06-19 22:39:50 +08:00
Ivan Grokhotkov
aad9ab02e8 feat(esp_eth): enable openeth in QEMU for ESP32-S3 2024-06-12 10:50:13 +02:00
Ondrej Kosta
e9adde3485 Merge branch 'bugfix/yeat_another_memory_leak' into 'master'
fix(esp_eth): Fixed another memory leak ESP MAC

Closes IDF-10079

See merge request espressif/esp-idf!31336
2024-06-06 18:48:09 +08:00
Bogdan Kolendovskyy
75222cc6b7 Merge branch 'feature/emac_insufficient_tx_buffer_debug_log' into 'master'
feat(esp_eth): Do not produce error when insufficient TX buffer size happens

See merge request espressif/esp-idf!31175
2024-06-05 19:29:06 +08:00
Ondrej Kosta
f9071cfce1 fix(esp_eth): Fixed another memory leak ESP MAC 2024-06-05 11:30:04 +02:00
Bogdan Kolendovskyy
514d8cb51d feat(esp_eth): Do not produce error when insufficient TX buffer size happens 2024-06-04 12:06:59 +02:00
morris
e5b7987e21 refactor(emac): use heap component API to allocate cached aligned DMA buffer 2024-06-02 22:19:46 +08:00
Ondrej Kosta
a558e94952 fix(esp_eth): fixing memory leak and invalid bit shift 2024-05-15 09:27:37 +02:00
Ondrej Kosta
d15a9c2c48 feat(esp_eth): a new folder structure of the driver and other improvements
Fixed memory leak in emac_esp_new_dma function.

Polished ESP EMAC cache management.

Added emac_periph definitions based on SoC features and improved(generalized) ESP EMAC GPIO
initialization.

Added ESP EMAC GPIO reservation.

Added check for frame error condition indicated by EMAC DMA and created a target test.
2024-05-14 08:23:31 +02:00
Ondrej Kosta
7843c51ec4 Merge branch 'contrib/github_pr_13560' into 'master'
esp_eth: DP83848: correct link detection to use BMSR (GitHub PR)

Closes IDFGH-12557

See merge request espressif/esp-idf!30361
2024-04-24 14:22:45 +08:00
Karl Palsson
e2945871b7 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-16 11:08:48 +00:00
Ondrej Kosta
60384d4fc0 fix(esp_eth): made access to PHY registers for DM9051 more robust 2024-04-15 15:39:23 +08:00
gaoxu
c3303c0096 fix(eth): fix defaultip101 tests error on ci 2024-04-02 16:17:10 +08:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Armando
78f96c4466 change(eth): use new esp_dma_calloc 2024-04-02 14:30:14 +08:00
Ondrej Kosta
f7984936e3 Merge branch 'bugfix/eth_l2_test_conn_wait_tmo' into 'master'
ci(esp_eth): increased L2 test wait for connection timeout

See merge request espressif/esp-idf!29576
2024-03-22 17:49:53 +08:00
Ondrej Kosta
9d0b8d62b0 Merge branch 'feature/emac_intr_prio' into 'master'
feat(esp_eth): added option to configure interrupt priority

Closes IDF-7969

See merge request espressif/esp-idf!29300
2024-03-19 21:09:30 +08:00
Ondrej Kosta
93db5a609a fix(esp_eth): fixed build for openeth due to incorrect printf format 2024-03-14 09:44:53 +01:00
Ondrej Kosta
2d290e5d69 ci(esp_eth): increased L2 test wait for connection timeout 2024-03-12 09:09:40 +01:00
Ondrej Kosta
6a09d98089 feat(esp_eth): added option to configure interrupt priority 2024-03-07 10:30:32 +01:00
Ondrej Kosta
edf49a92b7 fix(esp_eth): Removed -Wno-format in esp_eth component 2024-03-01 17:01:28 +01:00
Ondrej Kosta
4ddc947d1c Merge branch 'bugfix/eth_link_reset' into 'master'
fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped

Closes IDF-9195

See merge request espressif/esp-idf!29058
2024-02-28 20:26:29 +08:00
Bogdan Kolendovskyy
f02fadda87 Merge branch 'bugfix/ip101_hw_reset_include' into 'master'
fix(esp_eth): explicitly include FreeRTOS headers into ip101 driver

See merge request espressif/esp-idf!29063
2024-02-28 16:20:35 +08:00
Bogdan Kolendovskyy
eb8985886d fix(esp_eth): explicitly include FreeRTOS headers into ip101 driver to ensure availability of vTaskDelay 2024-02-27 18:13:07 +08:00