esp-idf/components/esp_eth/src
Bogdan Kolendovskyy 224ba396f1 esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour
In esp_eth_test_apps.c:
Add test of loopback functionality. Change speed/duplex/autonegotiation test - remove need to enable loopback (required
for it to work on some phys supported by ESP-IDF)

In Kconfig.projbuild:
Add parameters to select which configuration is used - standard or custom.
Add for custom configuration parameters to select MDC and MDIO pins (required to work with WESP-32 and other boards that
use non-standard pin assignments).

In esp_eth_test_common.c:
Add code to support changes made in Kconfig

In sdkconfig.ci.default_rtl8201:
Change config which is used. Now custom is used and MDC is gpio 16, MDIO is gpio 17. Reuqired to work with WESP-32

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-08-03 13:18:44 +02:00
..
dm9051.h esp_eth: allowed DM9051 to receive multicast packets 2023-03-14 13:59:27 +00:00
esp_eth_mac_dm9051.c esp_eth: allowed DM9051 to receive multicast packets 2023-03-14 13:59:27 +00:00
esp_eth_mac_esp.c HAL: wrapped emac_ll functions to emac_hal 2023-04-19 12:46:45 +00:00
esp_eth_mac_ksz8851snl.c Improved emac rx task code to suppress Coverity false positive memory leak indication 2022-12-02 12:57:43 +00:00
esp_eth_mac_openeth.c hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces 2022-07-22 00:06:06 +08:00
esp_eth_mac_w5500.c w5500: rework version check to avoid a false alarm on fault detection 2023-05-19 15:33:22 +02:00
esp_eth_netif_glue.c fix(eth_netif_glue): Move reporting speed to action connected 2023-07-27 13:15:42 +02:00
esp_eth_phy_802_3.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_dm9051.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_dp83848.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_ip101.c esp_eth: IEEE 802.3 PHY MII Management Interface functionality grouped to one common file 2022-06-24 05:51:44 +00:00
esp_eth_phy_ksz80xx.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_ksz8851snl.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_lan87xx.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_rtl8201.c esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy_w5500.c esp_eth: possible start/stop issue fixed 2023-02-03 10:48:39 +01:00
esp_eth.c esp_eth: fixed esp_eth_transmit_vargs to transmit only when link is up 2023-05-23 08:23:34 +02:00
ksz8851.h esp_eth: Update KSZ8851SNL driver to use global error checkers 2021-04-22 13:55:51 +00:00
openeth.h C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT 2022-11-21 16:18:08 +08:00
w5500.h esp_eth: fixed copyright for W5500 2023-01-19 07:56:22 +00:00