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)


* Original commit: espressif/esp-idf@3fb83f2866
This commit is contained in:
Fischerauer Christian
2021-11-16 16:18:43 +01:00
committed by suren-gabrielyan-espressif
parent d0bbe880b6
commit 145a8d2291
2 changed files with 11 additions and 0 deletions

View File

@ -191,6 +191,15 @@ menu "Example Connection Configuration"
help help
DP83848 is a single port 10/100Mb/s Ethernet Physical Layer Transceiver. DP83848 is a single port 10/100Mb/s Ethernet Physical Layer Transceiver.
Goto http://www.ti.com/product/DP83848J for more information about it. Goto http://www.ti.com/product/DP83848J for more information about it.
config EXAMPLE_ETH_PHY_KSZ80XX
bool "KSZ80xx"
help
With the KSZ80xx series, Microchip offers single-chip 10BASE-T/100BASE-TX
Ethernet Physical Layer Tranceivers (PHY).
The following chips are supported: KSZ8001, KSZ8021, KSZ8031, KSZ8041,
KSZ8051, KSZ8061, KSZ8081, KSZ8091
Goto https://www.microchip.com for more information about them.
endchoice endchoice
config EXAMPLE_ETH_MDC_GPIO config EXAMPLE_ETH_MDC_GPIO

View File

@ -390,6 +390,8 @@ static esp_netif_t *eth_start(void)
s_phy = esp_eth_phy_new_lan87xx(&phy_config); s_phy = esp_eth_phy_new_lan87xx(&phy_config);
#elif CONFIG_EXAMPLE_ETH_PHY_DP83848 #elif CONFIG_EXAMPLE_ETH_PHY_DP83848
s_phy = esp_eth_phy_new_dp83848(&phy_config); s_phy = esp_eth_phy_new_dp83848(&phy_config);
#elif CONFIG_EXAMPLE_ETH_PHY_KSZ80XX
s_phy = esp_eth_phy_new_ksz80xx(&phy_config);
#endif #endif
#elif CONFIG_EXAMPLE_USE_SPI_ETHERNET #elif CONFIG_EXAMPLE_USE_SPI_ETHERNET
gpio_install_isr_service(0); gpio_install_isr_service(0);