[PATCH 4/5] net: dwc_eth_qos: add support for phy-reset-gpios property
Patrice CHOTARD
patrice.chotard at foss.st.com
Thu Jun 6 16:38:47 CEST 2024
On 4/28/24 16:24, Heesub Shin wrote:
> This commit adds support for a property 'phy-reset-gpios' to reset PHY
> chipset.
>
> Signed-off-by: Heesub Shin <heesub at gmail.com>
> ---
> drivers/net/dwc_eth_qos_stm32.c | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/dwc_eth_qos_stm32.c b/drivers/net/dwc_eth_qos_stm32.c
> index fbc08bba1d..cffaa10b70 100644
> --- a/drivers/net/dwc_eth_qos_stm32.c
> +++ b/drivers/net/dwc_eth_qos_stm32.c
> @@ -266,6 +266,12 @@ static int eqos_probe_resources_stm32(struct udevice *dev)
> if (ret)
> dev_warn(dev, "No phy clock provided %d\n", ret);
>
> + /* Get reset gpio pin (optional) */
> + ret = gpio_request_by_name(dev, "phy-reset-gpios", 0,
> + &eqos->phy_reset_gpio, GPIOD_IS_OUT);
> + if (ret)
> + pr_warn("No phy reset gpio provided: %d\n", ret);
> +
> dev_dbg(dev, "%s: OK\n", __func__);
>
> return 0;
> @@ -277,6 +283,21 @@ err_probe:
> return ret;
> }
>
> +static int eqos_start_resets_stm32(struct udevice *dev)
> +{
> + struct eqos_priv *eqos = dev_get_priv(dev);
> +
> + debug("%s(dev=%p):\n", __func__, dev);
> +
> + if (dm_gpio_is_valid(&eqos->phy_reset_gpio)) {
> + dm_gpio_set_value(&eqos->phy_reset_gpio, 1);
> + udelay(2);
> + dm_gpio_set_value(&eqos->phy_reset_gpio, 0);
> + }
> +
> + return 0;
> +}
> +
> static int eqos_remove_resources_stm32(struct udevice *dev)
> {
> dev_dbg(dev, "%s:\n", __func__);
> @@ -292,7 +313,7 @@ static struct eqos_ops eqos_stm32_ops = {
> .eqos_probe_resources = eqos_probe_resources_stm32,
> .eqos_remove_resources = eqos_remove_resources_stm32,
> .eqos_stop_resets = eqos_null_ops,
> - .eqos_start_resets = eqos_null_ops,
> + .eqos_start_resets = eqos_start_resets_stm32,
> .eqos_stop_clks = eqos_stop_clks_stm32,
> .eqos_start_clks = eqos_start_clks_stm32,
> .eqos_calibrate_pads = eqos_null_ops,
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list