Ondrej Kosta
74ba1175b6
Fixed ESP32 EMAC driver `insufficient TX buffer size` which could followed esp_eth_stop and esp_eth_start sequence
2021-12-21 14:04:55 +01:00
David Čermák
b98a2a41e0
Merge branch 'bugfix/ksz8081_loopback' into 'release/v4.4'
...
KSZ8081 Loopback Callback Fix
See merge request espressif/esp-idf!16081
2021-12-02 07:29:31 +00:00
David Čermák
d5c607c54a
Merge branch 'bugfix/dm9051_tx_throughput_rate_optimization_v4.4' into 'release/v4.4'
...
esp_eth: optimize dm9051 Tx throughput(v4.4)
See merge request espressif/esp-idf!15885
2021-12-02 06:51:22 +00:00
Christian Fischerauer
26baeaca60
esp_eth: add loopback for ksz8081
2021-11-29 20:16:35 +08:00
Ondrej Kosta
018bc054a5
Merge branch 'bugfix/LAN8720_reset_assertion_v4.4' into 'release/v4.4'
...
Increased LAN8720 ETH-PHY reset assertion time (v4.4)
See merge request espressif/esp-idf!15825
2021-11-10 20:39:58 +00:00
Tian Sen Wen
2c24beca04
esp_eth: optimize dm9051 Tx throughput
2021-11-10 17:08:21 +08:00
Ondrej Kosta
43b62a5b62
Copyright message fix for 'Increased LAN8720 ETH-PHY reset assertion time'
2021-11-05 11:39:04 +01:00
Frank Sautter
5f9ae3510a
Increased LAN8720 ETH-PHY reset assertion time (IDFGH-6018)
...
Increase reset assertion time from 100µs (as specified minimum in the datasheet) to 150µs.
Some specimen of the LAN8720 need the reset signal asserted longer than 100µs to initialise properly. Otherwise they are in a zombie state where they are establishing and loosing an Ethernet link once in a seconds interval.
2021-11-05 11:35:35 +01:00
Ondrej Kosta
484d5c8491
esp_eth: KSZ8851SNL, enable Rx multicast in MAC filter
...
Closes https://github.com/espressif/esp-idf/issues/7750
2021-11-05 11:23:14 +01:00
Marius Vikhammer
108f85f8b3
ci: update cert used for esp_eth test
2021-10-21 10:05:56 +08:00
David Čermák
d1ac84e68e
Merge branch 'bugfix/lwip_move_icmp_tests_from_eth' into 'master'
...
CI/lw-ip: Move ICMP test cases from eth component
Closes IDF-3863
See merge request espressif/esp-idf!15200
2021-10-01 07:06:32 +00:00
David Cermak
8b45ac0fbc
lwip: Add ping test case (moved from eth component)
2021-09-22 15:22:18 +02:00
Ondrej Kosta
76326e8268
esp_eth: add PHY loopback control via esp_eth_ioctl
...
Fixed esp_eth_ioctl command's data argument non-standard handling
2021-09-14 09:13:54 +02:00
morris
54abf1d0b9
Merge branch 'ci/esp_eth_new_runners' into 'master'
...
feature/ci/esp_eth: new app_test and runner
Closes IDF-3561 and IDFGH-1736
See merge request espressif/esp-idf!14392
2021-09-09 04:16:08 +00:00
David Čermák
39b7d3e13f
Merge branch 'bugfix/eth_dm9051_not_responding' into 'master'
...
esp_eth: Fix dm9051 Rx interrupt processing
Closes IDFGH-4598
See merge request espressif/esp-idf!15073
2021-09-08 14:25:27 +00:00
SalimTerryLi
14a6ab4a8e
esp_eth: new test_app: emac layer tests
2021-09-08 20:00:14 +08:00
David Cermak
676cd99c42
esp_eth: Fix dm9051 Rx interrupt processing
...
* Disable Tx interrupts to fix race condition of missing Rx interrupt
* Check if GPIO interrupt is asserted periodically if the ISR event missed
Closes https://github.com/espressif/esp-idf/issues/6414
2021-09-07 16:38:43 +02: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
morris
ab0c5fed25
eth: dont warn nego timeout if link is down
2021-08-27 15:30:46 +08:00
Ondrej Kosta
300618e5be
Merge branch 'feature/dual_eth' into 'master'
...
esp_eth: add support for multiple Ethernets modules at a time
Closes IDFGH-5596
See merge request espressif/esp-idf!14640
2021-08-27 06:11:48 +00:00
Ondrej Kosta
ef30384902
esp_eth: add support for multiple Ethernets modules at a time
...
Ethernet driver events properly bounded with ESP NETIF actions to support multiple Ethernet modules used at a time.
Components using Ethernet updated to conform with new API.
Closes https://github.com/espressif/esp-idf/issues/7318
2021-08-24 17:10:36 +02:00
Ondrej Kosta
a37e4b18c6
phy_lan87xx: extended Vendor Specific Registers definition
...
Extended Vendor Specific Registers definition to include definitions for LAN8740A/LAN8741A/LAN8742A
Closes https://github.com/espressif/esp-idf/pull/7269
2021-08-10 15:54:32 +02:00
Ondrej Kosta
404905d5f1
esp_eth: Add support to LAN87xx family
...
Merges/Related-to https://github.com/espressif/esp-idf/pull/7097
2021-07-28 19:34:05 +08:00
Ondrej Kosta
02a432b8d3
Fix invalid ETH_MAC_DEFAULT_CONFIG macro in C++
2021-07-19 09:56:07 +02:00
morris
8e069dd755
emac: configure data interface early
...
Related to https://github.com/espressif/esp-idf/issues/7227
2021-07-13 15:10:23 +08:00
Ondrej Kosta
a6db3a5e77
esp_eth: Change clock mode setting
...
RMII clock mode is made to be run-time configurable.
Closes https://github.com/espressif/esp-idf/issues/6564
Closes https://github.com/espressif/esp-idf/issues/7107
2021-07-08 14:27:31 +02:00
laokaiyao
fe354f1c50
hal/emac_hal: refactord emac_hal
2021-06-16 09:48:21 +08:00
David Cermak
45846f06cf
esp_eth: Improve GPIO interrupt processing in w5500 driver
...
Increase the interrupt reassert level timing so the chances of missing
two consecutive events are minimal.
Enable only SIR_RECV interrupt event, so the SEND events are not used
for GPIO signal.
2021-05-25 04:52:46 +00:00
David Cermak
0cd021adb1
esp_eth: Recover the w5500 driver from missed io interrupt
...
If the GPIO interrupt is re-asserted too quickly it could be missed. If this happens the driver goes silent and never receives any data. Recover by periodic checks of the IO signal level
2021-05-25 04:52:46 +00:00
morris
0c25793b06
esp_eth: restart negotiation in esp_eth_start
2021-05-18 11:16:32 +08:00
morris
83f2d802ce
esp_eth: fix default PHY reset gpio
...
Closes https://github.com/espressif/esp-idf/issues/7034
2021-05-18 11:16:05 +08:00
Jon Shallow
154ad2e0e1
esp_eth_mac_openeth.c: Fix issue created by generic check macros update
...
Merges https://github.com/espressif/esp-idf/pull/6936
2021-04-26 08:40:07 +00:00
David Cermak
1e674f1d20
esp_eth: Update KSZ8851SNL driver to use global error checkers
...
Also updated KSZ8851SNL per internal code review:
* Removed Link status change interrupt as it's handled with polling
* Added auto negotiation timeout
* Updated typedefs, moved types to appropriate source, updated
components/esp_eth/src/ksz8851.h to use only inherent device types
* Applied IDF code formatting
* Updated header file order to include first the most generic to more
specific
2021-04-22 13:55:51 +00:00
Vladimir Chistyakov
c4f131e6ee
esp_eth: Add a KSZ8851SNL SPI Ethernet driver
...
Implement the PHY and MAC layers in the driver similar to
the W5500 driver.
Update Kconfig, CMakeLists.txt, and component.mk to incorporate
the changes.
Resolves : #6542
Merges https://github.com/espressif/esp-idf/pull/6636
Closes https://github.com/espressif/esp-idf/issues/6542
2021-04-22 13:55:51 +00:00
morris
0733adab5e
esp_eth: using esp_timer to check link status
2021-04-21 13:08:07 +08:00
morris
537617aec7
esp_eth: support user customized PHY io function
...
Closes https://www.github.com/espressif/esp-idf/issues/6745
2021-04-21 13:08:07 +08:00
morris
ef344d89ae
esp_eth: apply generic error check macros
2021-04-13 10:54:33 +08:00
David Čermák
0f36a2dd16
Merge branch 'bugfix/eth_w5500_4byte_corruption' into 'master'
...
esp_eth: Fix w5500 read register operations
Closes IDFGH-4776 and IDFGH-4400
See merge request espressif/esp-idf!13060
2021-04-12 14:26:30 +00:00
David Cermak
7af358ed93
esp_eth: Fix w5500 to break from potentially infinite tx loop
...
The issue typically happens for link-down during Tx. Added two retry levels, one before checking the sanity of the w5500 phy register and another for the Tx done itself (if the device is in the sane state)
Closes https://github.com/espressif/esp-idf/issues/6233
2021-04-12 07:59:40 +00:00
David Cermak
dfe9580967
esp_eth: Fix w5500 to correctly read registers on -Os
...
Reading SPI data may come in 4-byte units and thus result in unwanted
overwrites if smaller size registers read, especially if multiple placed
one after another. Fixed by using direct reads to `trans` structure for
sizes smaller or equal to 4.
Closes https://github.com/espressif/esp-idf/issues/6579
2021-04-12 07:59:40 +00:00
Omar Chebib
cd79f3907d
gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
...
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-08 14:01:18 +08:00
morris
2a34b0496c
esp_eth: refactor ksz8041 driver into ksz80xx
2021-03-30 08:53:15 +00:00
Patrick Wieder
98a4c70af9
Added support for Ethernet PHY KSZ8081
...
Merges https://github.com/espressif/esp-idf/pull/6578
2021-03-30 08:53:15 +00:00
morris
9d7ba4c49a
eth_phy: fix wrong register bit order in ksz8041
2021-03-30 08:53:15 +00:00
morris
006a87557b
esp_eth: added option to disable soft flow control when rx buffer is few
2021-02-01 14:14:54 +08:00
suda-morris
0208810eca
esp_eth: fix typo in lan8720 driver
...
Closes https://github.com/espressif/esp-idf/issues/6469
2021-01-27 23:48:10 +08:00
morris
c010f24d8b
esp_eth: deprecate esp_eth_receive
...
Ethernet driver is interrupt driven only, don't support polling mode.
So deprecate esp_eth_receive API.
2021-01-27 23:48:01 +08:00
Axel Lin
2049aa9f68
esp_eth: Add ioctl command for getting duplex mode
...
Similar to ETH_CMD_G_SPEED, add ETH_CMD_G_DUPLEX_MODE for getting duplex mode.
Merges https://github.com/espressif/esp-idf/pull/6436
2021-01-25 08:40:47 +00:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00