esp-idf/components/esp_eth/include
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
..
esp_eth_com.h 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_driver.h esp_eth: Remove deprecated esp_eth_receive() 2022-06-09 07:55:40 +00:00
esp_eth_mac.h esp_eth: SPI Ethernet modules initialization simplification 2022-07-14 08:46:22 +02:00
esp_eth_netif_glue.h esp_eth: Reduce internal deps onto netif-glue 2022-06-09 07:55:40 +00:00
esp_eth_phy_802_3.h esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00
esp_eth_phy.h esp_netif: remove dependency of L2 TAP Interface from netif_lwip 2022-04-08 16:40:29 +02:00
esp_eth_spec.h netif: added ESP-NETIF L2 TAP interface 2021-11-23 11:17:22 +01:00
esp_eth.h esp-netif: Make dependency on esp-eth optional 2022-06-09 07:55:40 +00:00
eth_phy_802_3_regs.h esp_eth: add loopback test, change chip drivers to reflect chip specific behaviour 2023-08-03 13:18:44 +02:00