Commit Graph

277 Commits

Author SHA1 Message Date
Ondrej Kosta
a7cbbece52 fix(esp_eth): made 10M loopback test less strict 2026-01-12 16:19:57 +01:00
Ondrej Kosta
6cf171edb6 feat(ci): updated Ethernet tests to align with new runners 2025-12-16 15:27:09 +08:00
Ondrej Kosta
1f29ddb32f fix(esp_eth): made LAN8720 test write register function more robust 2025-11-04 04:12:12 +01:00
Ondrej Kosta
a071716644 fix(esp_eth): Fixed W5500 poor performance in 10M mode 2025-10-20 11:36:06 +02:00
Ondrej Kosta
594b595637 fix(ci): increased timeout for ethernet_int_emac_test 2025-10-06 12:54:04 +02:00
Jiang Jiang Jian
dcd92c96bf Merge branch 'fix/rmii_ref_ckl_v5.3' into 'release/v5.3'
fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode (v5.3)

See merge request espressif/esp-idf!38040
2025-04-27 14:21:28 +08:00
Ondrej Kosta
babd94dd66 ci(esp_eth): enabled Ethernet target tests 2025-04-01 12:42:11 +02:00
Jonathan Swoboda
680989eb56 fix(esp_eth): Fix order of fields in ETH_ESP32_EMAC_DEFAULT_CONFIG on P4 2025-04-01 07:24:30 +00:00
Ondrej Kosta
9f4acf245a 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:34:45 +02:00
David Cermak
c17f0bb36c fix(esp_eth): Fix test code to unregister event correctly 2025-02-05 07:34:02 +01:00
Ondrej Kosta
243b01eccc docs(esp_eth): added warning to not use ESP32 as ETH CLK source with WiFi 2024-09-10 13:45:59 +08:00
David Roman
e9df36a2df fix(esp_eth): fix C++ invalid type conversion error
Closes https://github.com/espressif/esp-idf/issues/14265
2024-08-27 20:02:07 +08:00
Ivan Grokhotkov
4168fa28f4 feat(esp_eth): enable openeth in QEMU for ESP32-S3 2024-07-30 19:37:32 +08:00
morris
c349247236 refactor(emac): use heap component API to allocate cached aligned DMA buffer 2024-06-12 13:51:17 +08:00
Ondrej Kosta
09cbbaaf7c fix(esp_eth): Fixed another memory leak ESP MAC 2024-06-07 15:26:18 +02:00
Ondrej Kosta
dab7fdd6f0 fix(esp_eth): fixing memory leak and invalid bit shift 2024-06-07 15:26:18 +02:00
Ondrej Kosta
f6420436eb 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-06-07 15:26:18 +02:00
Karl Palsson
a85d1e1eca 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:34:58 +02: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
gaoxu
e9ce63532b feat(gpio): add gpio fun sellect api 2024-02-27 17:01:53 +08:00
Ondrej Kosta
1ae315e1ed fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-16 16:36:26 +01:00
Ondrej Kosta
dee34c2a48 Merge branch 'bugfix/spi_eth_recv_alloc' into 'master'
fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling

Closes IDF-8601

See merge request espressif/esp-idf!29040
2024-02-16 19:52:48 +08:00
Ondrej Kosta
b0259f59c2 fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-14 12:40:04 +01:00
Bogdan Kolendovskyy
748c215c63 fix(esp_eth): Use uint32_t in mmd access functions 2024-02-13 12:53:11 +01:00
Bogdan Kolendovskyy
91630fab36 Merge branch 'bugfix/ip101_reset_timing' into 'master'
fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet

Closes IDF-9160

See merge request espressif/esp-idf!28906
2024-02-09 16:44:24 +08:00
Ondrej Kosta
5df5f0cf80 Merge branch 'feature/spi_eth_no_int' into 'master'
feat(esp_eth): added SPI Ethernet module polling mode

Closes IDFGH-11561

See merge request espressif/esp-idf!28782
2024-02-08 22:34:47 +08:00
Bogdan Kolendovskyy
222f67f043 fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet
IP101 requires 10ms reset assertion time and 10ms post-reset delay to properly initialize.
2024-02-07 11:24:17 +01:00
Ondrej Kosta
fd0a1dc53c feat(esp_eth): added SPI Ethernet module polling mode
Closes https://github.com/espressif/esp-idf/issues/12682
2024-02-07 11:21:57 +01:00
Bogdan Kolendovskyy
d9e1d69b4e esp_eth: Add functions to access PHY using MDIO
Specifically:
  - Set/get address
  - Read/write data at address with specified MDIO access function
  - Read/write both address and data with a single call
2024-01-30 12:08:18 +01:00
Ondrej Kosta
f732c3b7fd ci(esp_eth): enable Ethernet tests 2024-01-22 09:30:24 +01:00
Ondrej Kosta
ce388a4111 feat(esp_eth): Added support of internal EMAC for ESP32P4
Refactored internal EMAC DMA access.

Added MPLL acquire to manage access to the MPLL by multiple periphs.
2024-01-16 14:29:25 +01:00
Fu Hanxi
a98923bc85 test: temp disable ip101 test cases 2024-01-10 15:37:34 +01:00
Ivan Grokhotkov
88fa79fcc7 feat(unity): upgrade to 2.6.0-RC1 2023-11-28 20:22:02 +01:00
Ondrej Kosta
383bb46298 ci(esp_eth): addressed LAN8720 errata in CI test 2023-11-08 12:40:28 +00:00
Ondrej Kosta
78f791d4d5 feat(esp_eth): added ioctl option to read/write PHY registers
LAN87xx: Added extra delay after setting PHY speed
2023-11-08 12:40:28 +00:00
Song Ruo Jing
9461993ec5 refactor(gpio): make gpio driver as component, and fix astyle 2023-11-03 15:42:23 +08:00
morris
d78750306d refactor(emac): use clock_output driver for configuring RMII reference clock 2023-10-31 14:24:48 +08:00
Ondrej
58b6add55c ci(esp_eth): make additional Ethernet chips test as nightly run 2023-10-26 11:38:28 +00:00