Commit Graph

296 Commits

Author SHA1 Message Date
Aditya Patwardhan
f4e8813d45 Merge branch 'contrib/github_pr_15972' into 'master'
feat(esp_http_client): Event to signal last header downloaded (GitHub PR)

See merge request espressif/esp-idf!39309
2025-06-10 13:08:10 +05:30
Ondrej Kosta
48b37dd56e Merge branch 'contrib/github_pr_16016' into 'master'
Enable Timestamping for Non-PTP Ethernet frames (GitHub PR)

Closes IDFGH-15359

See merge request espressif/esp-idf!39581
2025-06-09 16:58:07 +08:00
Frangen, Leon
eae1f3c302 feat(esp_eth): Enable rx/tx timestamp for non-PTP frames via ioctl 2025-06-06 11:35:10 +02:00
Richard Allen
30758d9beb feat(esp_http_client): Event to signal last header download
When parsing ND-JSON streams, this is needed to indicate the
point when the ND-JSON stream is considered open, which
occurs just after the last HTTP_EVENT_ON_HEADER.

ND-JSON stream clients cannot rely on the first HTTP_EVENT_ON_DATA,
since that is only triggered by an event, which are optional and
may never be sent, or only sent well after the last HTTP_EVENT_ON_HEADER.

Closes #15952
2025-05-28 08:50:28 -05:00
wuzhenghui
65b7e70564 feat(driver): support acquire/release clock source dependency for all drivers 2025-05-27 21:21:38 +08:00
Ondrej Kosta
eba9549bbc Merge branch 'feat/eth_mac_filter' into 'master'
feat(esp_eth): added option to set MAC filter for mcast

Closes IDF-12503 and IDFGH-14897

See merge request espressif/esp-idf!36944
2025-04-30 19:38:02 +08:00
Shen Meng Jing
62d4115e08 docs: Fix some typos 2025-04-30 18:35:39 +08:00
Ondrej Kosta
e941910c0f feat(esp_eth): Added destination MAC address filter configuration interface 2025-04-29 13:54:56 +02:00
Jonathan Swoboda
f468b1e9e3 fix(esp_eth): Fix order of fields in ETH_ESP32_EMAC_DEFAULT_CONFIG on P4 2025-03-23 20:22:25 -04:00
Ondrej Kosta
f3a3988649 fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode
fixed units returned and used by periph_rtc_mpll_freq_set function
2025-03-12 09:29:17 +00:00
igor.udot
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Song Ruo Jing
53d8b70e8b fix(gpio): fix IO output enable control
oen_sel and oen_inv_sel fields from func_out_sel_cfg register
2025-02-20 19:49:28 +08:00
Song Ruo Jing
3a8d065908 refactor(gpio): improve gpio_iomux_in/out API 2025-02-10 21:44:07 +08:00
David Cermak
a591e48b97 fix(esp_eth): Fix test code to unregister event correctly 2025-02-04 12:29:43 +01:00
Ondrej Kosta
e188afdacf Merge branch 'docs/eth_memory_consideration' into 'master'
Non-functional Ethernet updates

Closes IDFGH-13346 and IDF-11736

See merge request espressif/esp-idf!36219
2025-01-27 19:24:34 +08:00
Ondrej Kosta
5429cc1057 ci(esp_eth): added ESP32P4 as target for ETH tests 2025-01-15 22:53:33 +08:00
Ondrej Kosta
83fecdd5d3 change(esp_eth): new gpio init strategy 2025-01-15 22:53:33 +08:00
Ondrej Kosta
5c9da4a13b fix(esp_eth): removed deadcode from emac 2025-01-07 17:01:36 +01:00
Ivan Grokhotkov
6d06f5fe44 fix(esp_eth): fix openeth driver to consider MAC address set in QEMU
Openeth driver did not consider the possibility that the MAC address
was specified when launching QEMU, and would always overwrite that
address with the address obtained from esp_read_mac.
When running QEMU, setting the MAC address via QEMU arguments is more
convenient than crafting an eFuse file with the correct MAC address.
This change modifies openeth driver to first check if an address has
been set in QEMU and uses it if so. Otherwise it falls back to the
address obtained from esp_read_mac.

As part of this change, also removed the unnecessary variable
emac_opencores_t::addr, the address is only kept in the registers of
the emulated peripheral now.

For full effect this also requires changes in QEMU, see
https://github.com/espressif/qemu/issues/107 for background. Without
changes in QEMU, this commit keeps the same behavior.
2024-12-10 12:29:10 +01:00
Ondrej Kosta
d2b1202d5a feat(esp_eth): added HW Time Stamping support for ESP32P4
Added mechanism to L2 TAP to retreive time stamp

Added PTP time synchronization example
2024-11-07 15:01:24 +08: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