Commit Graph

205 Commits

Author SHA1 Message Date
Ondrej Kosta
44252caf3f ci(esp_eth): moved LAN8720 test to a new runner 2024-01-04 13:19:36 +01:00
Ondrej Kosta
3c8b6d328c feat(esp_eth): added ioctl option to read/write PHY registers
LAN87xx: Added extra delay after setting PHY speed
2023-11-23 15:34:34 +01:00
Ondrej Kosta
4da9358402 fix(esp_eth): various Ethernet driver fixes
ksz8851snl: enabled reception of multicast frames

Internal EMAC: fixed APLL CLK deinitialization

DM9051 and KSZ80xx: fixed speed configuration when not in loopback mode

phy_802_3: added multiple attempts when autodetecting PHY address
2023-11-23 13:14:31 +00:00
Bogdan Kolendovskyy
64ee5098b2 esp_eth: fixed chip drivers to reflect chip specific loopback behaviour
In esp_eth_phy_802_3.h:
Make 802.3 API public.

In esp_eth_phy_802_3.c:
Add loopback check in eth_phy_802_3_set_duplex(). Now ESP_ERR_INVALID_STATE is invoked on attempt to set duplex to half
when loopback is enabled.
Remove static property from esp_eth_phy_802_3_autonego_ctrl and esp_eth_phy_802_3_loopback.

In esp_eth_phy_dm9051.c:
Add dm9051_loopback() because DM9051 requires setting additional bit to enable auto-negotiation loopback for data to be
received. Add dm9051_set_speed() which invokes ESP_ERR_INVALID_STATE on attempt to set speed to 10 Mbps when loopback is
enabled because such speed configuration is unsupported.

In esp_eth_phy_ksz80xx.c:
Add ksz80xx_set_speed() which invokes ESP_ERR_INVALID_STATE on attempt to set speed to 10 Mbps when loopback is enabled
because such speed configuration is unsupported.

In esp_eth_phy_ksz8851snl.c:
Change phy_ksz8851_set_duplex() to invoke ESP_ERR_INVALID_STATE on attempt to set duplex to half when loopback is enabled.

In  esp_eth_phy_dp83848.c, esp_eth_phy_rtl8201.c:
Add autonego_ctrl implementation which prevents enabling autonegotiation when loopback is enabled.
Add loopback implementation which disables autonegotiation prior to enabling loopback.

In esp_eth_phy_lan87xx.c:
Add autonego_ctrl implementation which prevents enabling autonegotiation when loopback is enabled.
Add loopback implementation which disables autonegotiation prior to enabling loopback.
Fix link indicating being down when loopback is enabled by force setting link up.
2023-11-23 13:14:31 +00:00
Bogdan Kolendovskyy
2cb11f7698 fix(esp_eth): Add model number 0x13 to list of suported models
Add model number 0x13 to KSZ80xx driver's list of supported models
corresonding to KSZ8041RLNI.
2023-10-09 12:47:38 +02:00
Ondrej Kosta
8d4ae2014b feat(esp_eth): added IRAM optimization option for internal EMAC 2023-09-26 13:29:37 +00:00
Jiang Jiang Jian
0872feb2a0 Merge branch 'bugfix/eth_lan8720_ci_v5.0' into 'release/v5.0'
esp_eth: start/stop and L2 test stability improvements (v5.0)

See merge request espressif/esp-idf!22317
2023-06-01 19:54:17 +08:00
Ondrej
dcedccd704 esp_eth pytest: increased robustness of the L2 test
Added filtering frames based on MAC address
2023-05-29 10:49:31 +00:00
Ondrej Kosta
872ada14e2 esp_eth: improved L2 test stability and removed duplicate test cases 2023-05-29 10:49:31 +00:00
Ondrej Kosta
4dc8ce77e4 esp_eth: possible start/stop issue fixed
ESP32 EMAC could hang when stopped/started multiple times at 10Mbps speed mode
2023-05-29 10:49:31 +00:00
Ondrej Kosta
47a3faa0ff Ethernet driver and documentation clean-up 2023-05-18 14:28:21 +00:00
David Čermák
ab3499ab82 Merge branch 'bugfix/dm9051_rcv_mcast_v5.0' into 'release/v5.0'
esp_eth: allowed DM9051 to receive multicast packets v5.0

See merge request espressif/esp-idf!22864
2023-05-18 18:31:42 +08:00
Mahavir Jain
de3fa9ae71
tests: update Root certificate for the test endpoints
Use Root certificate (`DigiCert Global Root G2`) for the
`dl.espressif.com` and `espressif.com` test endpoints.

This fixes the test failure introduced due to renewal of
the intermediate certificate.
2023-05-17 15:28:23 +05:30
Ondrej Kosta
f241f61c48 esp_eth: DM9051 stop/start issue fixed 2023-03-28 17:41:39 +02:00
Ondrej
9d7132c330 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-21 16:20:24 +00:00
Omar Chebib
83907aaa20 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-03-07 10:23:43 +08:00
Jiang Jiang Jian
9fa8329148 Merge branch 'feature/emac_buff_v5.0' into 'release/v5.0'
esp_eth: receive buffer allocation optimization (v5.0)

See merge request espressif/esp-idf!21547
2022-12-21 23:35:30 +08:00
Omar Chebib
0714847552 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-12-19 15:06:15 +01:00
Ondrej
49f673c52d Improved emac rx task code to suppress Coverity false positive memory leak indication 2022-12-09 11:57:25 +00:00
Ondrej
df76911671 esp_eth: receive buffer allocation optimization
Receive buffers are allocated with a size equal to actual received frame size
2022-12-09 11:43:19 +00:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04: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
c0312e3242 Merge branch 'feature/improve_spi_ethernet_init' into 'master'
esp_eth: SPI Ethernet modules initialization simplification

Closes IDF-3902

See merge request espressif/esp-idf!18663
2022-07-15 00:02:23 +08:00
Ondrej Kosta
bb6c6aff36 esp_eth: SPI Ethernet modules initialization simplification 2022-07-14 08:46:22 +02:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Ondrej Kosta
ed7afd8b73 Merge branch 'feature/eth_phy_common' into 'master'
ESP PHY structure refactor

Closes IDF-5149

See merge request espressif/esp-idf!18158
2022-06-28 23:25:12 +08:00
Ondrej Kosta
08f421a091 esp_eth: pytest_esp_eth CI timeout hotfix 2022-06-27 11:21:31 +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
Ivan Grokhotkov
a2ca5d03c5
examples, components: remove C/C++ standard overrides
...where they are not necessary after switching to C17 and C++20.
2022-06-17 16:44:17 +02: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
5e19b9c951 esp-netif: Make dependency on esp-eth optional
* esp-netif to optionally depend on esp-eth (only for l2tap config)
* esp_eth.h now includes the original ethernet header and the
ethernet-netif glue layer
* Updated examples and test to explicitely use esp-eth dependency if
needed
2022-06-09 07:55:40 +00:00
David Cermak
680f3a50c2 esp_eth: Rename drivers main header to esp_eth_driver
The original  would be used as API header bringing both driver and netif related includes
2022-06-09 07:55:40 +00:00
David Čermák
46e599c56d Merge branch 'feature/lwip_rework_patches' into 'master'
lw-IP: Reworked patches

Closes IDFGH-6197

See merge request espressif/esp-idf!17388
2022-06-03 15:26:55 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +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
Marius Vikhammer
c8617fe965 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
morris
cc71e645be Merge branch 'feature/ksz8863rll_support' into 'master'
ESP IDF infrastructure preparation for ksz8863rll support

See merge request espressif/esp-idf!17203
2022-04-14 10:51:27 +08:00
Ondrej Kosta
e4217ff868 esp_eth/test_apps: fixed byte order of EthType during raw socket creation 2022-04-12 12:33:57 +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
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
Ondrej Kosta
0e0c5f93e3 Merge branch 'bugfix/test_esp_eth_ip101' into 'master'
esp_eth/test_apps: test stability/performance improvement

Closes IDFCI-1150

See merge request espressif/esp-idf!17411
2022-03-11 12:03:30 +08:00
David Cermak
795b7ed993 esp_netif: Remove tcpip_adapter compatibility layer 2022-03-10 08:19:43 +01:00
Ondrej Kosta
be24d90e14 esp_eth/test_apps: test stability/performance improvement 2022-03-10 08:16:18 +01:00
Sagar Bijwe
6501eff7f5 Remove legacy system event framework. 2022-03-09 15:53:45 +05:30
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
Omar Chebib
2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 2022-03-02 04:21:00 +00:00
David Cermak
25dbf35867 ci/esp_eth: Fix incorrect esp32 emac init
Regression from 8da2e4088c
2022-02-15 18:38:40 +01:00