mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
224ba396f1
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.
86 lines
2.6 KiB
Plaintext
86 lines
2.6 KiB
Plaintext
menu "esp_eth TEST_APPS Configuration"
|
|
|
|
choice TARGET_ETH_CONFIG
|
|
prompt "Ethernet peripheral device"
|
|
default TARGET_USE_INTERNAL_ETHERNET
|
|
help
|
|
Select type of Ethernet interface.
|
|
|
|
config TARGET_USE_INTERNAL_ETHERNET
|
|
depends on SOC_EMAC_SUPPORTED
|
|
select ETH_USE_ESP32_EMAC
|
|
bool "Internal EMAC"
|
|
help
|
|
Use internal Ethernet MAC controller.
|
|
|
|
|
|
config TARGET_USE_SPI_ETHERNET
|
|
bool "SPI Ethernet"
|
|
select ETH_USE_SPI_ETHERNET
|
|
help
|
|
Use external SPI-Ethernet module(s).
|
|
endchoice # TARGET_ETH_CONFIG
|
|
|
|
if TARGET_USE_INTERNAL_ETHERNET
|
|
choice TARGET_ETH_PHY_DEVICE
|
|
prompt "Ethernet PHY"
|
|
default TARGET_ETH_PHY_DEVICE_IP101
|
|
help
|
|
Select one of the devices listed here
|
|
|
|
config TARGET_ETH_PHY_DEVICE_IP101
|
|
bool "IP101"
|
|
config TARGET_ETH_PHY_DEVICE_LAN87XX
|
|
bool "LAN8720"
|
|
config TARGET_ETH_PHY_DEVICE_KSZ80XX
|
|
bool "KSZ80xx"
|
|
config TARGET_ETH_PHY_DEVICE_RTL8201
|
|
bool "RTL8201"
|
|
config TARGET_ETH_PHY_DEVICE_DP83848
|
|
bool "DP83848"
|
|
endchoice # TARGET_ETH_PHY_DEVICE
|
|
|
|
config TARGET_USE_DEFAULT_EMAC_CONFIG
|
|
default y
|
|
bool "Use default EMAC config"
|
|
|
|
if !TARGET_USE_DEFAULT_EMAC_CONFIG
|
|
config TARGET_IO_MDC
|
|
int "SMI MDC GPIO number"
|
|
default 23
|
|
config TARGET_IO_MDIO
|
|
int "SMI MDIO GPIO number"
|
|
default 18
|
|
endif
|
|
|
|
endif # TARGET_USE_INTERNAL_ETHERNET
|
|
|
|
if TARGET_USE_SPI_ETHERNET
|
|
choice TARGET_ETH_SPI_DEVICE
|
|
prompt "Ethernet SPI Module"
|
|
default TARGET_ETH_PHY_DEVICE_W5500
|
|
help
|
|
Select one of the devices listed here
|
|
|
|
config TARGET_ETH_PHY_DEVICE_W5500
|
|
bool "W5500"
|
|
select ETH_SPI_ETHERNET_W5500
|
|
config TARGET_ETH_PHY_DEVICE_KSZ8851SNL
|
|
bool "KSZ8851SNL"
|
|
select ETH_SPI_ETHERNET_KSZ8851SNL
|
|
config TARGET_ETH_PHY_DEVICE_DM9051
|
|
bool "DM9051"
|
|
select ETH_SPI_ETHERNET_DM9051
|
|
endchoice # TARGET_ETH_SPI_DEVICE
|
|
|
|
config TARGET_SPI_CLOCK_MHZ
|
|
int "SPI clock speed (MHz)"
|
|
range 5 80
|
|
default 12
|
|
help
|
|
Set the clock speed (MHz) of SPI interface.
|
|
|
|
endif # TARGET_USE_SPI_ETHERNET
|
|
|
|
endmenu
|