diff --git a/drivers/usb/host/xhci-dwc3.c b/drivers/usb/host/xhci-dwc3.c
index c1007350b729307c962cbace4a61f79654b7c39e..adfa4a75cd2cd8688df79872e99be7403dad7876 100644
--- a/drivers/usb/host/xhci-dwc3.c
+++ b/drivers/usb/host/xhci-dwc3.c
@@ -113,16 +113,21 @@ void dwc3_set_fladj(struct dwc3 *dwc3_reg, u32 val)
 }
 
 #ifdef CONFIG_DM_USB
-static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
+static int xhci_dwc3_setup_phy(struct udevice *dev)
 {
 	struct xhci_dwc3_platdata *plat = dev_get_platdata(dev);
-	int i, ret;
+	int i, ret, count;
 
-	if (!count)
+	/* Return if no phy declared */
+	if (!dev_read_prop(dev, "phys", NULL))
 		return 0;
 
+	count = dev_count_phandle_with_args(dev, "phys", "#phy-cells");
+	if (count <= 0)
+		return count;
+
 	plat->usb_phys = devm_kcalloc(dev, count, sizeof(struct phy),
-					GFP_KERNEL);
+				      GFP_KERNEL);
 	if (!plat->usb_phys)
 		return -ENOMEM;
 
@@ -136,7 +141,7 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 
 		++plat->num_phys;
 	}
-	
+
 	for (i = 0; i < plat->num_phys; i++) {
 		ret = generic_phy_init(&plat->usb_phys[i]);
 		if (ret) {
@@ -145,7 +150,7 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 			goto phys_init_err;
 		}
 	}
-	
+
 	for (i = 0; i < plat->num_phys; i++) {
 		ret = generic_phy_power_on(&plat->usb_phys[i]);
 		if (ret) {
@@ -157,7 +162,6 @@ static int xhci_dwc3_setup_phy(struct udevice *dev, int count)
 
 	return 0;
 
-
 phys_poweron_err:
 	for (; i >= 0; i--)
 		generic_phy_power_off(&plat->usb_phys[i]);
@@ -187,7 +191,7 @@ static int xhci_dwc3_shutdown_phy(struct udevice *dev)
 		ret |= generic_phy_exit(&plat->usb_phys[i]);
 		if (ret) {
 			pr_err("Can't shutdown USB PHY%d for %s\n",
-				i, dev->name);
+			       i, dev->name);
 		}
 	}
 
@@ -206,8 +210,7 @@ static int xhci_dwc3_probe(struct udevice *dev)
 	hcor = (struct xhci_hcor *)((uintptr_t)hccr +
 			HC_LENGTH(xhci_readl(&(hccr)->cr_capbase)));
 
-	ret = xhci_dwc3_setup_phy(dev, dev_count_phandle_with_args(
-						dev, "phys", "#phy-cells"));
+	ret = xhci_dwc3_setup_phy(dev);
 	if (ret)
 		return ret;