xtensa/esp32: Add option to enable ETH PHY reset pin
This commit is contained in:
parent
96ec6983db
commit
7097cfd000
@ -1860,10 +1860,15 @@ config ESP32_ETH_MDIOPIN
|
|||||||
default 18
|
default 18
|
||||||
range 0 39
|
range 0 39
|
||||||
|
|
||||||
|
config ESP32_ETH_ENABLE_PHY_RSTPIN
|
||||||
|
bool "Enable Reset PHY Pin"
|
||||||
|
default y
|
||||||
|
|
||||||
config ESP32_ETH_PHY_RSTPIN
|
config ESP32_ETH_PHY_RSTPIN
|
||||||
int "Reset PHY Pin"
|
int "Reset PHY Pin"
|
||||||
default 5
|
default 5
|
||||||
range 0 39
|
range 0 39
|
||||||
|
depends on ESP32_ETH_ENABLE_PHY_RSTPIN
|
||||||
|
|
||||||
config ESP32_ETH_PHY_ADDR
|
config ESP32_ETH_PHY_ADDR
|
||||||
int "PHY address"
|
int "PHY address"
|
||||||
|
@ -146,7 +146,9 @@
|
|||||||
|
|
||||||
/* Reset PHY chip pins */
|
/* Reset PHY chip pins */
|
||||||
|
|
||||||
#define EMAC_PHYRST_PIN (CONFIG_ESP32_ETH_PHY_RSTPIN)
|
#ifdef CONFIG_ESP32_ETH_ENABLE_PHY_RSTPIN
|
||||||
|
# define EMAC_PHYRST_PIN (CONFIG_ESP32_ETH_PHY_RSTPIN)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* PHY chip address in SMI bus */
|
/* PHY chip address in SMI bus */
|
||||||
|
|
||||||
@ -511,7 +513,9 @@ static void emac_init_gpio(void)
|
|||||||
esp32_gpio_matrix_out(EMAC_MDIO_PIN, EMAC_MDO_O_IDX, 0, 0);
|
esp32_gpio_matrix_out(EMAC_MDIO_PIN, EMAC_MDO_O_IDX, 0, 0);
|
||||||
esp32_gpio_matrix_in(EMAC_MDIO_PIN, EMAC_MDI_I_IDX, 0);
|
esp32_gpio_matrix_in(EMAC_MDIO_PIN, EMAC_MDI_I_IDX, 0);
|
||||||
|
|
||||||
|
#ifdef CONFIG_ESP32_ETH_ENABLE_PHY_RSTPIN
|
||||||
esp32_configgpio(EMAC_PHYRST_PIN, OUTPUT | PULLUP);
|
esp32_configgpio(EMAC_PHYRST_PIN, OUTPUT | PULLUP);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -538,11 +542,14 @@ static int emac_config(void)
|
|||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
uint8_t macaddr[6];
|
uint8_t macaddr[6];
|
||||||
|
|
||||||
|
#ifdef CONFIG_ESP32_ETH_ENABLE_PHY_RSTPIN
|
||||||
|
|
||||||
/* Hardware reset PHY chip */
|
/* Hardware reset PHY chip */
|
||||||
|
|
||||||
esp32_gpiowrite(EMAC_PHYRST_PIN, false);
|
esp32_gpiowrite(EMAC_PHYRST_PIN, false);
|
||||||
nxsig_usleep(50);
|
nxsig_usleep(50);
|
||||||
esp32_gpiowrite(EMAC_PHYRST_PIN, true);
|
esp32_gpiowrite(EMAC_PHYRST_PIN, true);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Open hardware clock */
|
/* Open hardware clock */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user