Scramble Tools and Ondrej Kosta
9bf5b6eed5
fix(esp_eth): use stored base_increment when computing PTP addend
...
The addend in `emac_hal_ptp_start()` was derived from the floating-point
`config->ptp_req_accuracy_ns` instead of the integer `base_increment`
register that actually drives the sub-second update. The cast to
`uint8_t` loses the fractional part, so the un-corrected addend leaves
the PTP clock running off-rate.
Example: with a 40 MHz XTAL and the default `req_accuracy_ns = 40`,
`base_increment` rounds 85.899 up to 86, leaving the clock +1170 ppm
fast — well outside the IEEE 802.1AS neighborRateRatio limit (~±200
ppm), so strict-1AS bridges refuse asCapable.
Compute the addend from the stored `base_increment` for both rollover
modes: `addend = 2^32 * clk_period_ns / increment_ns`.
Measured on ESP32-P4: neighborRateRatio drops from +1147.5 ppm to
+4.2 ppm, and asCapable is granted.
Co-authored-by: Ondrej Kosta <panzer412@gmail.com >
2026-06-03 14:17:02 +02:00
Ondrej Kosta
2a5b04b0b4
fix(esp_eth): fixes EMAC MDC out of the range issue
...
Closes https://github.com/espressif/esp-idf/issues/17984
2026-01-06 22:18:37 +08:00
Ondrej Kosta
e941910c0f
feat(esp_eth): Added destination MAC address filter configuration interface
2025-04-29 13:54:56 +02: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
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
morris
0717729911
fix(hal): replace assert with hal_assert
...
hal is a G0 component but assert may link in the symbols in the newlib component.
we'd better not use assert in the hal but use the alternative HAL_ASSERT
2023-10-13 10:14:47 +08:00
morris
88600bd91b
driver: minor code clean up to pass coverity scan test
2023-06-10 16:21:12 +08:00
Ondrej Kosta
256d457969
esp_eth: possible start/stop issue fixed
...
ESP32 EMAC could hang when stopped/started multiple times at 10Mbps speed mode
2023-02-03 10:48:39 +01:00
Ondrej
6fff81d970
esp_eth: receive buffer allocation optimization
...
Receive buffers are allocated with a size equal to actual received frame size
2022-11-15 10:44:12 +00:00
Ondrej Kosta
4051b80b4d
esp_netif: remove dependency of L2 TAP Interface from netif_lwip
...
esp_eth: extended infrastructure to optionally provide more advanced access to MAC/PHY layers
2022-04-08 16:40:29 +02:00
Ondrej Kosta
7512bdecfe
Merge branch 'feature/emac_start_stop_test' into 'master'
...
test_emac: extended Ethernet start/stop stress test
Closes IDF-4540
See merge request espressif/esp-idf!16755
2022-02-15 13:23:01 +00:00
David Cermak
8da2e4088c
esp_eth: Update esp32's EMAC API to decouple driver and vendor config
2022-02-14 16:17:29 +00:00
David Cermak
1dc60730ee
esp_eth: ESP32 EMAC to use common DMA busrt size for both Tx and Rx
2022-02-14 16:17:29 +00:00
David Cermak
2553fb5845
esp_eth: Make EMAC DMA burst size configurable
...
Merges https://github.com/espressif/esp-idf/pull/7874
Closes https://github.com/espressif/esp-idf/issues/7380
2022-02-14 16:17:29 +00:00
Simon Schubert
a6ca3d39a8
emac: reduce rx burst length to avoid SPI DMA collision bug
...
See <https://github.com/espressif/esp-idf/issues/7380 >.
2022-02-14 16:17:29 +00:00
Ondrej Kosta
e97fd4b076
esp_eth: EMAC start/stop optimization
2022-02-14 08:21:43 +01:00
Ondrej Kosta
1150a11c56
Fixed ESP32 EMAC driver insufficient TX buffer size which could followed esp_eth_stop and esp_eth_start sequence
2021-12-23 10:48:38 +01:00
Steinbart Andreas (HAU-EDS)
f9d6fa2b84
esp-eth: emac: Reset Tx DMA channel owner on init
...
Reset ethernet TX DMA descriptors sets owner to CPU, so re-installing the ethernet driver will now not result in packet loss
Merges https://github.com/espressif/esp-idf/pull/7752
2021-11-01 06:16:59 +00:00
laokaiyao
04970fe487
iperfUtility: add udp rx bandwidth scan
2021-09-01 19:11:28 +08:00
laokaiyao
8d18a9c614
emac: optimise iperf performane
2021-09-01 19:11:28 +08:00
laokaiyao
fe354f1c50
hal/emac_hal: refactord emac_hal
2021-06-16 09:48:21 +08:00