When CONFIG_DM_USB_GADGET is enabled, the CI UDC driver needs to be
explicitly bound. So we do this from the newly introduced glue driver.

Signed-off-by: Sam Day <[email protected]>
---
 drivers/usb/host/ehci-msm.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c
index a58eff7cb9c..00719b7b575 100644
--- a/drivers/usb/host/ehci-msm.c
+++ b/drivers/usb/host/ehci-msm.c
@@ -161,6 +161,13 @@ static int qcom_ci_hdrc_bind(struct udevice *dev)
        if (ret)
                return ret;
 
+       if (IS_ENABLED(CONFIG_DM_USB_GADGET) && IS_ENABLED(CONFIG_CI_UDC)) {
+               ret = device_bind_driver_to_node(dev, "ci-udc", "ci-udc",
+                                                dev_ofnode(dev), NULL);
+               if (ret)
+                       return ret;
+       }
+
        if (!ofnode_valid(ulpi_node))
                return 0;
 

-- 
2.54.0


Reply via email to