Hello Philippe, I found this thread after several hours spent in debugging why USB host is not detecting new devices on a custom board using the iMX6ULL Colibri SoM. My best workaround at the moment is: --- a/drivers/usb/chipidea/ci_hdrc_imx.c +++ b/drivers/usb/chipidea/ci_hdrc_imx.c @@ -56,7 +58,7 @@ static const struct ci_hdrc_imx_platform_flag imx6sx_usb_data = { }; static const struct ci_hdrc_imx_platform_flag imx6ul_usb_data = { - .flags = CI_HDRC_SUPPORTS_RUNTIME_PM | + .flags = //CI_HDRC_SUPPORTS_RUNTIME_PM | CI_HDRC_TURN_VBUS_EARLY_ON | CI_HDRC_DISABLE_DEVICE_STREAMING, }; so it's equivalent to yours, but hard-coded. I haven't found any follow-up patches from you, so I'm wondering whether you have made any progress on this issue. As I see it, a quirk in the driver would make sense. What needs to be sorted out is how to enable it from device tree. I think a DT boolean as you propose would do, but with a name describing the hardware aspects of it ("chipidea,vbus-detection-is-broken"?) and not the driver behaviour. Otherwise looking for the "toradex,colibri-imx6ul" prefix in the top-level /compatible strings seems doable. I don't know how acceptable this is from a driver maintainer's point of view though. Best regards, Luca