mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/add_kconfig_help_for_eth_gpio0_output_mode_v3.2' into 'release/v3.2'
ethernet: add kconfig help for GPIO0 output mode (v3.2) See merge request espressif/esp-idf!6343
This commit is contained in:
commit
a1c1175fa7
@ -825,9 +825,9 @@ static void emac_start(void *param)
|
|||||||
emac_mac_init();
|
emac_mac_init();
|
||||||
|
|
||||||
/* check if enable promiscuous mode */
|
/* check if enable promiscuous mode */
|
||||||
if(emac_config.promiscuous_enable){
|
if (emac_config.promiscuous_enable) {
|
||||||
emac_enable_promiscuous();
|
emac_enable_promiscuous();
|
||||||
}else{
|
} else {
|
||||||
emac_disable_promiscuous();
|
emac_disable_promiscuous();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1116,12 +1116,15 @@ esp_err_t esp_eth_init_internal(eth_config_t *config)
|
|||||||
|
|
||||||
if (emac_config.clock_mode != ETH_CLOCK_GPIO0_IN) {
|
if (emac_config.clock_mode != ETH_CLOCK_GPIO0_IN) {
|
||||||
#if CONFIG_SPIRAM_SUPPORT
|
#if CONFIG_SPIRAM_SUPPORT
|
||||||
if (esp_spiram_is_initialized()) {
|
// make sure Ethernet won't have conflict with PSRAM
|
||||||
ESP_LOGE(TAG, "GPIO16 and GPIO17 has been occupied by PSRAM, Only ETH_CLOCK_GPIO_IN is supported!");
|
if (emac_config.clock_mode >= ETH_CLOCK_GPIO16_OUT) {
|
||||||
ret = ESP_FAIL;
|
if (esp_spiram_is_initialized()) {
|
||||||
goto _verify_err;
|
ESP_LOGE(TAG, "GPIO16 and GPIO17 are occupied by PSRAM, please switch to ETH_CLOCK_GPIO_IN or ETH_CLOCK_GPIO_OUT mode");
|
||||||
} else {
|
ret = ESP_FAIL;
|
||||||
ESP_LOGW(TAG, "GPIO16/17 is used for clock of EMAC, Please Make Sure you're not using PSRAM.");
|
goto _verify_err;
|
||||||
|
} else {
|
||||||
|
ESP_LOGW(TAG, "Using GPIO16/17 to output Ethernet RMII clock, make sure you don't have PSRAM on board");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// 50 MHz = 40MHz * (6 + 4) / (2 * (2 + 2) = 400MHz / 8
|
// 50 MHz = 40MHz * (6 + 4) / (2 * (2 + 2) = 400MHz / 8
|
||||||
|
@ -128,11 +128,11 @@ void phy_lan8720_dump_registers()
|
|||||||
ESP_LOGD(TAG, "ANAR 0x%04x", esp_eth_smi_read(0x4));
|
ESP_LOGD(TAG, "ANAR 0x%04x", esp_eth_smi_read(0x4));
|
||||||
ESP_LOGD(TAG, "ANLPAR 0x%04x", esp_eth_smi_read(0x5));
|
ESP_LOGD(TAG, "ANLPAR 0x%04x", esp_eth_smi_read(0x5));
|
||||||
ESP_LOGD(TAG, "ANER 0x%04x", esp_eth_smi_read(0x6));
|
ESP_LOGD(TAG, "ANER 0x%04x", esp_eth_smi_read(0x6));
|
||||||
ESP_LOGD(TAG, "MCSR 0x%04x", esp_eth_smi_read(0x17));
|
ESP_LOGD(TAG, "MCSR 0x%04x", esp_eth_smi_read(0x11));
|
||||||
ESP_LOGD(TAG, "SM 0x%04x", esp_eth_smi_read(0x18));
|
ESP_LOGD(TAG, "SM 0x%04x", esp_eth_smi_read(0x12));
|
||||||
ESP_LOGD(TAG, "SECR 0x%04x", esp_eth_smi_read(0x26));
|
ESP_LOGD(TAG, "SECR 0x%04x", esp_eth_smi_read(0x1A));
|
||||||
ESP_LOGD(TAG, "CSIR 0x%04x", esp_eth_smi_read(0x27));
|
ESP_LOGD(TAG, "CSIR 0x%04x", esp_eth_smi_read(0x1B));
|
||||||
ESP_LOGD(TAG, "ISR 0x%04x", esp_eth_smi_read(0x29));
|
ESP_LOGD(TAG, "ISR 0x%04x", esp_eth_smi_read(0x1D));
|
||||||
ESP_LOGD(TAG, "IMR 0x%04x", esp_eth_smi_read(0x30));
|
ESP_LOGD(TAG, "IMR 0x%04x", esp_eth_smi_read(0x1E));
|
||||||
ESP_LOGD(TAG, "PSCSR 0x%04x", esp_eth_smi_read(0x31));
|
ESP_LOGD(TAG, "PSCSR 0x%04x", esp_eth_smi_read(0x1F));
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ menu "Example Configuration"
|
|||||||
|
|
||||||
choice PHY_MODEL
|
choice PHY_MODEL
|
||||||
prompt "Ethernet PHY Device"
|
prompt "Ethernet PHY Device"
|
||||||
default PHY_TLK110
|
default PHY_IP101
|
||||||
help
|
help
|
||||||
Select the PHY driver to use for the example.
|
Select the PHY driver to use for the example.
|
||||||
config PHY_IP101
|
config PHY_IP101
|
||||||
@ -24,7 +24,7 @@ menu "Example Configuration"
|
|||||||
|
|
||||||
config PHY_ADDRESS
|
config PHY_ADDRESS
|
||||||
int "Ethernet PHY Address"
|
int "Ethernet PHY Address"
|
||||||
default 31
|
default 1
|
||||||
range 0 31
|
range 0 31
|
||||||
help
|
help
|
||||||
PHY Address of your PHY device. It dependens on your schematic design.
|
PHY Address of your PHY device. It dependens on your schematic design.
|
||||||
@ -39,9 +39,15 @@ menu "Example Configuration"
|
|||||||
help
|
help
|
||||||
Input of 50MHz RMII clock on GPIO0.
|
Input of 50MHz RMII clock on GPIO0.
|
||||||
config PHY_CLOCK_GPIO0_OUT
|
config PHY_CLOCK_GPIO0_OUT
|
||||||
bool "GPIO0 Output"
|
bool "GPIO0 Output(READ HELP)"
|
||||||
help
|
help
|
||||||
Output the internal 50MHz RMII clock on GPIO0.
|
GPIO0 can be set to output a pre-divided PLL clock (test only!).
|
||||||
|
Enabling this option will configure GPIO0 to output a 50MHz clock.
|
||||||
|
In fact this clock doesn't have directly relationship with EMAC peripheral.
|
||||||
|
Sometimes this clock won't work well with your PHY chip. You might need to
|
||||||
|
add some extra devices after GPIO0 (e.g. inverter).
|
||||||
|
Note that outputting RMII clock on GPIO0 is an experimental practice.
|
||||||
|
If you want the Ethernet to work with WiFi, don't select GPIO0 output mode for stability.
|
||||||
config PHY_CLOCK_GPIO16_OUT
|
config PHY_CLOCK_GPIO16_OUT
|
||||||
bool "GPIO16 Output"
|
bool "GPIO16 Output"
|
||||||
help
|
help
|
||||||
@ -61,7 +67,7 @@ menu "Example Configuration"
|
|||||||
|
|
||||||
config PHY_USE_POWER_PIN
|
config PHY_USE_POWER_PIN
|
||||||
bool "Use PHY Power (enable / disable) pin"
|
bool "Use PHY Power (enable / disable) pin"
|
||||||
default n
|
default y
|
||||||
help
|
help
|
||||||
Use a GPIO "power pin" to power the PHY on/off during operation.
|
Use a GPIO "power pin" to power the PHY on/off during operation.
|
||||||
When using GPIO0 to input RMII clock, the reset process will be interfered by this clock.
|
When using GPIO0 to input RMII clock, the reset process will be interfered by this clock.
|
||||||
@ -70,7 +76,7 @@ menu "Example Configuration"
|
|||||||
if PHY_USE_POWER_PIN
|
if PHY_USE_POWER_PIN
|
||||||
config PHY_POWER_PIN
|
config PHY_POWER_PIN
|
||||||
int "PHY Power GPIO"
|
int "PHY Power GPIO"
|
||||||
default 17
|
default 5
|
||||||
range 0 33
|
range 0 33
|
||||||
depends on PHY_USE_POWER_PIN
|
depends on PHY_USE_POWER_PIN
|
||||||
help
|
help
|
||||||
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -11,7 +11,7 @@ menu "Example Configuration"
|
|||||||
menu "Etherent PHY Device"
|
menu "Etherent PHY Device"
|
||||||
choice PHY_MODEL
|
choice PHY_MODEL
|
||||||
prompt "Ethernet PHY Device"
|
prompt "Ethernet PHY Device"
|
||||||
default PHY_TLK110
|
default PHY_IP101
|
||||||
help
|
help
|
||||||
Select the PHY driver to use for the example.
|
Select the PHY driver to use for the example.
|
||||||
config PHY_IP101
|
config PHY_IP101
|
||||||
@ -33,7 +33,7 @@ menu "Example Configuration"
|
|||||||
|
|
||||||
config PHY_ADDRESS
|
config PHY_ADDRESS
|
||||||
int "Ethernet PHY Address"
|
int "Ethernet PHY Address"
|
||||||
default 31
|
default 1
|
||||||
range 0 31
|
range 0 31
|
||||||
help
|
help
|
||||||
PHY Address of your PHY device. It dependens on your schematic design.
|
PHY Address of your PHY device. It dependens on your schematic design.
|
||||||
@ -48,9 +48,15 @@ menu "Example Configuration"
|
|||||||
help
|
help
|
||||||
Input of 50MHz RMII clock on GPIO0.
|
Input of 50MHz RMII clock on GPIO0.
|
||||||
config PHY_CLOCK_GPIO0_OUT
|
config PHY_CLOCK_GPIO0_OUT
|
||||||
bool "GPIO0 Output"
|
bool "GPIO0 Output(READ HELP)"
|
||||||
help
|
help
|
||||||
Output the internal 50MHz RMII clock on GPIO0.
|
GPIO0 can be set to output a pre-divided PLL clock (test only!).
|
||||||
|
Enabling this option will configure GPIO0 to output a 50MHz clock.
|
||||||
|
In fact this clock doesn't have directly relationship with EMAC peripheral.
|
||||||
|
Sometimes this clock won't work well with your PHY chip. You might need to
|
||||||
|
add some extra devices after GPIO0 (e.g. inverter).
|
||||||
|
Note that outputting RMII clock on GPIO0 is an experimental practice.
|
||||||
|
If you want the Ethernet to work with WiFi, don't select GPIO0 output mode for stability.
|
||||||
config PHY_CLOCK_GPIO16_OUT
|
config PHY_CLOCK_GPIO16_OUT
|
||||||
bool "GPIO16 Output"
|
bool "GPIO16 Output"
|
||||||
help
|
help
|
||||||
@ -70,7 +76,7 @@ menu "Example Configuration"
|
|||||||
|
|
||||||
config PHY_USE_POWER_PIN
|
config PHY_USE_POWER_PIN
|
||||||
bool "Use PHY Power (enable / disable) pin"
|
bool "Use PHY Power (enable / disable) pin"
|
||||||
default n
|
default y
|
||||||
help
|
help
|
||||||
Use a GPIO "power pin" to power the PHY on/off during operation.
|
Use a GPIO "power pin" to power the PHY on/off during operation.
|
||||||
When using GPIO0 to input RMII clock, the reset process will be interfered by this clock.
|
When using GPIO0 to input RMII clock, the reset process will be interfered by this clock.
|
||||||
@ -79,7 +85,7 @@ menu "Example Configuration"
|
|||||||
if PHY_USE_POWER_PIN
|
if PHY_USE_POWER_PIN
|
||||||
config PHY_POWER_PIN
|
config PHY_POWER_PIN
|
||||||
int "PHY Power GPIO"
|
int "PHY Power GPIO"
|
||||||
default 17
|
default 5
|
||||||
range 0 33
|
range 0 33
|
||||||
depends on PHY_USE_POWER_PIN
|
depends on PHY_USE_POWER_PIN
|
||||||
help
|
help
|
||||||
|
Loading…
Reference in New Issue
Block a user