mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
esp_eth_mac_esp32: optionally setup SMI GPIO's
This enables passing smi_mdio_gpio_num = -1 to disable that signal Merges https://github.com/espressif/esp-idf/pull/5903
This commit is contained in:
parent
59b763bb9a
commit
65707cfb41
@ -298,8 +298,8 @@ typedef struct {
|
||||
uint32_t sw_reset_timeout_ms; /*!< Software reset timeout value (Unit: ms) */
|
||||
uint32_t rx_task_stack_size; /*!< Stack size of the receive task */
|
||||
uint32_t rx_task_prio; /*!< Priority of the receive task */
|
||||
int smi_mdc_gpio_num; /*!< SMI MDC GPIO number */
|
||||
int smi_mdio_gpio_num; /*!< SMI MDIO GPIO number */
|
||||
int smi_mdc_gpio_num; /*!< SMI MDC GPIO number, set to -1 could bypass the SMI GPIO configuration */
|
||||
int smi_mdio_gpio_num; /*!< SMI MDIO GPIO number, set to -1 could bypass the SMI GPIO configuration */
|
||||
uint32_t flags; /*!< Flags that specify extra capability for mac driver */
|
||||
} eth_mac_config_t;
|
||||
|
||||
|
@ -312,15 +312,19 @@ static void emac_esp32_rx_task(void *arg)
|
||||
|
||||
static void emac_esp32_init_smi_gpio(emac_esp32_t *emac)
|
||||
{
|
||||
if (emac->smi_mdc_gpio_num >= 0) {
|
||||
/* Setup SMI MDC GPIO */
|
||||
gpio_set_direction(emac->smi_mdc_gpio_num, GPIO_MODE_OUTPUT);
|
||||
esp_rom_gpio_connect_out_signal(emac->smi_mdc_gpio_num, EMAC_MDC_O_IDX, false, false);
|
||||
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[emac->smi_mdc_gpio_num], PIN_FUNC_GPIO);
|
||||
}
|
||||
if (emac->smi_mdio_gpio_num >= 0) {
|
||||
/* Setup SMI MDIO GPIO */
|
||||
gpio_set_direction(emac->smi_mdio_gpio_num, GPIO_MODE_INPUT_OUTPUT);
|
||||
esp_rom_gpio_connect_out_signal(emac->smi_mdio_gpio_num, EMAC_MDO_O_IDX, false, false);
|
||||
esp_rom_gpio_connect_in_signal(emac->smi_mdio_gpio_num, EMAC_MDI_I_IDX, false);
|
||||
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[emac->smi_mdio_gpio_num], PIN_FUNC_GPIO);
|
||||
}
|
||||
}
|
||||
|
||||
static esp_err_t emac_esp32_init(esp_eth_mac_t *mac)
|
||||
|
Loading…
Reference in New Issue
Block a user