@@ -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);
}
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.delaunay@st.com> --- drivers/usb/host/dwc2.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)