Commit Graph

118 Commits

Author SHA1 Message Date
Ondrej 2ec7fc8f10 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-14 13:59:27 +00:00
Ondrej Kosta 05510e67d1 Merge branch 'bugfix/eth_lan8720_ci' into 'master'
esp_eth: start/stop and L2 test stability improvements

See merge request espressif/esp-idf!21898
2023-02-09 15:36: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 5fdb49698a esp_eth: fixed copyright for W5500 2023-01-19 07:56:22 +00:00
Reinis Muiznieks bb2f346e55 Verify w5500 chip properly 2023-01-17 11:52:51 +02:00
Ondrej Kosta 84ab32b4ef Merge branch 'bugfix/emac_memory_leak' into 'master'
Fixed false positive emac rx memory leak reported by Coverity

Closes IDF-6363

See merge request espressif/esp-idf!21341
2022-12-05 20:04:15 +08:00
Ondrej Kosta 600788da6a Merge branch 'contrib/github_pr_10292' into 'master'
fix small bug when logging eth error (GitHub PR)

Closes IDFGH-8869

See merge request espressif/esp-idf!21407
2022-12-05 17:58:37 +08:00
Ondrej 647a9dfde3 Improved emac rx task code to suppress Coverity false positive memory leak indication 2022-12-02 12:57:43 +00:00
Alexander Hübener 93a8510dc5 fixed args order 2022-12-01 21:36:13 +01:00
Ondrej c40e4eb499 esp_eth: DM9051 stop/start issue fixed 2022-11-28 10:54:43 +00:00
Ondrej Kosta 785f154f56 Merge branch 'feature/emac_buff' into 'master'
esp_eth: receive buffer allocation optimization

Closes IDFGH-7769

See merge request espressif/esp-idf!19977
2022-11-24 00:48:19 +08:00
Omar Chebib cd21058097 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08: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
Guillaume Souchere 6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
David Cermak 5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Ondrej Kosta bb6c6aff36 esp_eth: SPI Ethernet modules initialization simplification 2022-07-14 08:46:22 +02:00
Ondrej Kosta 43f3904304 esp_eth: IEEE 802.3 PHY MII Management Interface functionality grouped to one common file 2022-06-24 05:51:44 +00:00
David Cermak fd366fac9e esp_eth: Remove deprecated esp_eth_receive() 2022-06-09 07:55:40 +00:00
David Cermak 343cf2696e esp_eth: Reduce internal deps onto netif-glue 2022-06-09 07:55:40 +00:00
David Cermak 5b471a1848 esp_netif/lwip: Implement basic support for vanilla-lwip (2.1.3-REL)
* Reference lwip-2.1.3-REL vanilla lwip version
* Use inherent NETIF callbacks instead of dhcp/ipv6/autoip
2022-05-18 17:10:42 +02: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
David Cermak c63c8d4df1 esp_eth: Fix open-cores explicit inclusion 2022-03-23 09:05:30 +01:00
Ondrej Kosta c69b4c817b Fixed Ethernet lwIP netif error indication 2022-03-22 07:17:40 +00:00
David Cermak 795b7ed993 esp_netif: Remove tcpip_adapter compatibility layer 2022-03-10 08:19:43 +01:00
Sudeep Mohanty a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
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
Ondrej Kosta e97fd4b076 esp_eth: EMAC start/stop optimization 2022-02-14 08:21:43 +01:00
Anton Maklakov 8bb06df68f components: correct abs() use for unsigned and 64-bit arguments 2022-01-29 12:07:16 +07:00
Ondrej Kosta fa9cc49b9e Merge branch 'bugfix/esp_eth_start_tx_buff' into 'master'
Fixed ESP32 EMAC driver `insufficient TX buffer size`

Closes WIFI-4194

See merge request espressif/esp-idf!16457
2022-01-05 09:40:12 +00:00
laokaiyao 4f28b33bbc apll: add lock for apll 2021-12-29 10:13:13 +08: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
Ondrej Kosta 30e03e2c1d netif_glue: removal of unused global variable 2021-12-14 15:23:07 +01:00
Ondrej Kosta 7e864d6856 netif_glue: Removed deprecated esp_eth_set_default_handlers and esp_eth_clear_default_handlers 2021-12-08 09:21:30 +01:00
Fischerauer Christian 3fb83f2866 esp_eth: rework KSZ80xx implementation and add more KSZ80xx PHYs
* add support for KSZ8001, KSZ8021, KSZ8031, KSZ8051 and KSZ8061
* remove duplicate code
* simplify architecture to make the code base extensible (for future work)
2021-12-02 11:56:08 +01:00
Ondrej Kosta d1f2a3dfcc esp_eth: added ioctl options to set Ethernet speed and duplex mode
esp_eth_ioctl third argument always acts as untyped pointer to memory now
2021-11-16 08:34:07 +01:00
Tian Sen Wen c6ba84e5cd esp_eth: optimize dm9051 Tx throughput 2021-11-09 14:04:11 +08:00
morris 16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Ondrej Kosta cb8432e0f2 esp_eth: KSZ8851SNL, enable Rx multicast in MAC filter
Closes https://github.com/espressif/esp-idf/issues/7750
2021-11-04 16:17:45 +00:00
David Čermák 9466fd1e16 Merge branch 'bugfix/LAN8720_reset_assertion' into 'master'
Increased LAN8720 ETH-PHY reset assertion time

Closes IDFGH-6132 and IDFGH-6018

See merge request espressif/esp-idf!15636
2021-11-03 16:29:09 +00:00
Ondrej Kosta 380864861f Copyright message fix for 'Increased LAN8720 ETH-PHY reset assertion time' 2021-11-02 09:57:03 +01:00
Frank Sautter 5e7df077d6 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-01 22:03:30 +01:00
ma-lalonde 0f754551dd Add support for Eth PHY KSZ8091 2021-11-01 11:11:18 -04: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
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
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