
In case USB hub regulator is shared, unexpected behavior occurs. On stm32mp135f-dk, stm32mp157c-ev1 and stm32mp157x-dkx, regulator v3v3 is shared between several IP/devices (USB, panel, ethernet phy, camera, ...). Running command "usb stop", v3v3 regulator is switched off and the splashscreen content disappear.
v3v3 shouldn't be disabled on usb_onboard_hub_remove() callback.
Signed-off-by: Patrice Chotard patrice.chotard@foss.st.com ---
common/usb_onboard_hub.c | 13 ------------- 1 file changed, 13 deletions(-)
diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 89e18a2ddad..8a83f7877ef 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -34,18 +34,6 @@ static int usb_onboard_hub_probe(struct udevice *dev) return ret; }
-static int usb_onboard_hub_remove(struct udevice *dev) -{ - struct onboard_hub *hub = dev_get_priv(dev); - int ret; - - ret = regulator_set_enable_if_allowed(hub->vdd, false); - if (ret) - dev_err(dev, "can't disable vdd-supply: %d\n", ret); - - return ret; -} - static const struct udevice_id usb_onboard_hub_ids[] = { /* Use generic usbVID,PID dt-bindings (usb-device.yaml) */ { .compatible = "usb424,2514" }, /* USB2514B USB 2.0 */ @@ -56,7 +44,6 @@ U_BOOT_DRIVER(usb_onboard_hub) = { .name = "usb_onboard_hub", .id = UCLASS_USB_HUB, .probe = usb_onboard_hub_probe, - .remove = usb_onboard_hub_remove, .of_match = usb_onboard_hub_ids, .priv_auto = sizeof(struct onboard_hub), };