[PATCH v2 2/3] usb: chipidea: imx: support disabling runtime-pm

Luca Ceresoli luca.ceresoli at bootlin.com
Thu May 4 09:23:12 PDT 2023


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



More information about the linux-arm-kernel mailing list