diff options
author | Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> | 2023-01-13 10:42:02 +0530 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2023-02-22 00:28:05 +0100 |
commit | 237d1f60b1db52074441bc3a5848fe98503726a2 (patch) | |
tree | 167854e5627413641fa484bc7ce8fca760e0511f /drivers/usb | |
parent | 4eb7c5030d3f3c707c02a64dc8ea90de3da89928 (diff) | |
download | u-boot-237d1f60b1db52074441bc3a5848fe98503726a2.tar.gz |
usb: dwc3: Use the devm_gpiod_get_optional() API for reset gpio
As the "reset-gpios" property is optional, don't return the
error and just skip the gpio reset sequence.
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/dwc3/dwc3-generic.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 78966718d01..ed1b9b630eb 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -44,7 +44,7 @@ struct dwc3_generic_priv { void *base; struct dwc3 dwc3; struct phy_bulk phys; - struct gpio_desc ulpi_reset; + struct gpio_desc *ulpi_reset; }; struct dwc3_generic_host_priv { @@ -91,23 +91,23 @@ static int dwc3_generic_probe(struct udevice *dev, if (CONFIG_IS_ENABLED(DM_GPIO) && device_is_compatible(dev->parent, "xlnx,zynqmp-dwc3")) { - rc = gpio_request_by_name(dev->parent, "reset-gpios", 0, - &priv->ulpi_reset, GPIOD_ACTIVE_LOW); - if (rc) - return rc; - - /* Toggle ulpi to reset the phy. */ - rc = dm_gpio_set_value(&priv->ulpi_reset, 1); - if (rc) - return rc; - - mdelay(5); - - rc = dm_gpio_set_value(&priv->ulpi_reset, 0); - if (rc) - return rc; - - mdelay(5); + priv->ulpi_reset = devm_gpiod_get_optional(dev->parent, "reset", + GPIOD_ACTIVE_LOW); + /* property is optional, don't return error! */ + if (priv->ulpi_reset) { + /* Toggle ulpi to reset the phy. */ + rc = dm_gpio_set_value(priv->ulpi_reset, 1); + if (rc) + return rc; + + mdelay(5); + + rc = dm_gpio_set_value(priv->ulpi_reset, 0); + if (rc) + return rc; + + mdelay(5); + } } if (device_is_compatible(dev->parent, "rockchip,rk3399-dwc3")) @@ -133,7 +133,7 @@ static int dwc3_generic_remove(struct udevice *dev, if (CONFIG_IS_ENABLED(DM_GPIO) && device_is_compatible(dev->parent, "xlnx,zynqmp-dwc3")) { - struct gpio_desc *ulpi_reset = &priv->ulpi_reset; + struct gpio_desc *ulpi_reset = priv->ulpi_reset; dm_gpio_free(ulpi_reset->dev, ulpi_reset); } |