On Tue, Dec 29, 2015 at 12:45:51AM +0100, Stefan Wahren wrote: > Hi Peter, > > i was inspired by the discussion about the USB runtime suspend issue on MX28. I > think i've found another issue. > In the dtsi for the MX23 the usb node has the following compatible: > > usb0: usb@80080000 { > compatible = "fsl,imx23-usb", "fsl,imx27-usb"; > ... > > But in ci_hdrc_imx.c there is only "fsl,imx27-usb" and "fsl,imx28-usb" defined. > > So in case of a MX23 board it would fallback to "fsl,imx27-usb", which is IMHO > not correct. No, it is correct. All i.mx SoC series use the same controller core, and the first user is imx27, the reason why we have a compatible string for imx28 is that imx28 needs special handling when write register. > > Which way to fix this issue would you suggest: > > a) extend ci_hdrc_imx.c and the binding by copying the imx28 platform and name > it imx23 > > b) rename the compatible string from "fsl,imx23-usb" to "fsl-imx28-usb" > But one thing we can improve that is imx23 needs the flag CI_HDRC_TURN_VBUS_EARLY_ON, the platform flag would like below: static const struct ci_hdrc_imx_platform_flag imx23_usb_data = { .flags = CI_HDRC_TURN_VBUS_EARLY_ON | CI_HDRC_DISABLE_STREAMING, I prefer the way a), thanks. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html