forked from espressif/esp-idf
Added KSZ8041/81 and LAN8720 Driver IDF v5.0 migration description
LAN8720 function call clean up
This commit is contained in:
@@ -294,22 +294,6 @@ esp_eth_phy_t *esp_eth_phy_new_rtl8201(const eth_phy_config_t *config);
|
|||||||
*/
|
*/
|
||||||
esp_eth_phy_t *esp_eth_phy_new_lan87xx(const eth_phy_config_t *config);
|
esp_eth_phy_t *esp_eth_phy_new_lan87xx(const eth_phy_config_t *config);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Create a PHY instance of LAN8720
|
|
||||||
*
|
|
||||||
* @note For ESP-IDF backwards compatibility reasons. In all other cases, use esp_eth_phy_new_lan87xx instead.
|
|
||||||
*
|
|
||||||
* @param[in] config: configuration of PHY
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* - instance: create PHY instance successfully
|
|
||||||
* - NULL: create PHY instance failed because some error occurred
|
|
||||||
*/
|
|
||||||
static inline esp_eth_phy_t *esp_eth_phy_new_lan8720(const eth_phy_config_t *config)
|
|
||||||
{
|
|
||||||
return esp_eth_phy_new_lan87xx(config);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create a PHY instance of DP83848
|
* @brief Create a PHY instance of DP83848
|
||||||
*
|
*
|
||||||
|
@@ -8,7 +8,7 @@ menu "esp_eth TEST_APPS Configuration"
|
|||||||
|
|
||||||
config TARGET_ETH_PHY_DEVICE_IP101
|
config TARGET_ETH_PHY_DEVICE_IP101
|
||||||
bool "IP101"
|
bool "IP101"
|
||||||
config TARGET_ETH_PHY_DEVICE_LAN8720
|
config TARGET_ETH_PHY_DEVICE_LAN87XX
|
||||||
bool "LAN8720"
|
bool "LAN8720"
|
||||||
endchoice
|
endchoice
|
||||||
endmenu
|
endmenu
|
||||||
|
@@ -53,8 +53,8 @@ TEST_CASE("start_and_stop", "[esp_eth]")
|
|||||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||||
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
||||||
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN8720)
|
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN87XX)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_lan8720(&phy_config);
|
esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config);
|
||||||
#endif
|
#endif
|
||||||
TEST_ASSERT_NOT_NULL(phy);
|
TEST_ASSERT_NOT_NULL(phy);
|
||||||
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
||||||
@@ -104,8 +104,8 @@ TEST_CASE("get_set_mac", "[esp_eth]")
|
|||||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||||
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
||||||
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN8720)
|
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN87XX)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_lan8720(&phy_config);
|
esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config);
|
||||||
#endif
|
#endif
|
||||||
TEST_ASSERT_NOT_NULL(phy);
|
TEST_ASSERT_NOT_NULL(phy);
|
||||||
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
||||||
@@ -157,8 +157,8 @@ TEST_CASE("ethernet_broadcast_transmit", "[esp_eth]")
|
|||||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||||
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
||||||
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN8720)
|
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN87XX)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_lan8720(&phy_config);
|
esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config);
|
||||||
#endif
|
#endif
|
||||||
TEST_ASSERT_NOT_NULL(phy);
|
TEST_ASSERT_NOT_NULL(phy);
|
||||||
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
||||||
@@ -227,8 +227,8 @@ TEST_CASE("recv_pkt", "[esp_eth]")
|
|||||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||||
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
#if defined(CONFIG_TARGET_ETH_PHY_DEVICE_IP101)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); // create PHY instance
|
||||||
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN8720)
|
#elif defined(CONFIG_TARGET_ETH_PHY_DEVICE_LAN87XX)
|
||||||
esp_eth_phy_t *phy = esp_eth_phy_new_lan8720(&phy_config);
|
esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config);
|
||||||
#endif
|
#endif
|
||||||
TEST_ASSERT_NOT_NULL(phy);
|
TEST_ASSERT_NOT_NULL(phy);
|
||||||
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy); // apply default driver configuration
|
||||||
|
@@ -4,6 +4,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
|||||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||||
CONFIG_ESP_TASK_WDT=n
|
CONFIG_ESP_TASK_WDT=n
|
||||||
|
|
||||||
CONFIG_TARGET_ETH_PHY_DEVICE_LAN8720=y
|
CONFIG_TARGET_ETH_PHY_DEVICE_LAN87XX=y
|
||||||
CONFIG_ETH_RMII_CLK_OUTPUT=y
|
CONFIG_ETH_RMII_CLK_OUTPUT=y
|
||||||
CONFIG_ETH_RMII_CLK_OUT_GPIO=17
|
CONFIG_ETH_RMII_CLK_OUT_GPIO=17
|
||||||
|
@@ -31,3 +31,13 @@ Usage example to get Ethernet configuration:
|
|||||||
|
|
||||||
eth_duplex_t duplex_mode;
|
eth_duplex_t duplex_mode;
|
||||||
esp_eth_ioctl(eth_handle, ETH_CMD_G_DUPLEX_MODE, &duplex_mode);
|
esp_eth_ioctl(eth_handle, ETH_CMD_G_DUPLEX_MODE, &duplex_mode);
|
||||||
|
|
||||||
|
|
||||||
|
KSZ8041/81 and LAN8720 Driver Update
|
||||||
|
------------------------------------
|
||||||
|
KSZ8041/81 and LAN8720 Drivers were updated to support more devices (generations) from associated product family. The drivers are able to recognize particular chip number and its potential support by the driver.
|
||||||
|
|
||||||
|
As a result, the specific "chip number" functions calls were replaced by generic ones as follows:
|
||||||
|
|
||||||
|
* :cpp:func:`esp_eth_phy_new_ksz8041` and :cpp:func:`esp_eth_phy_new_ksz8081` were removed, use :cpp:func:`esp_eth_phy_new_ksz80xx` instead
|
||||||
|
* :cpp:func:`esp_eth_phy_new_lan8720` was removed, use :cpp:func:`esp_eth_phy_new_lan87xx` instead
|
Reference in New Issue
Block a user