Enable the usb33d-supply on STM32MP1 SoCs (with "st,stm32mp1-hsotg"
compatible), it is the external VBUS and ID sensing comparators supply
needed to perform OTG operation.

Signed-off-by: Patrick Delaunay <patrick.delau...@st.com>
---

 drivers/usb/host/dwc2.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index 836f706..1639bf2 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -1411,6 +1411,24 @@ static int dwc2_usb_probe(struct udevice *dev)
        if (ret)
                return ret;
 
+       if (CONFIG_IS_ENABLED(ARCH_STM32MP) &&
+           device_is_compatible(dev, "st,stm32mp1-hsotg")) {
+               struct udevice *usb33d_supply;
+
+               ret = device_get_supply_regulator(dev, "usb33d-supply",
+                                                 &usb33d_supply);
+               if (ret) {
+                       dev_err(dev,
+                               "can't get voltage level detector supply\n");
+               } else {
+                       ret = regulator_set_enable(usb33d_supply, true);
+                       if (ret) {
+                               dev_err(dev,
+                                       "can't enable voltage level detector 
supply\n");
+                       }
+               }
+       }
+
        return dwc2_init_common(dev, priv);
 }
 
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to