usb: wrong compatible string for MX23?
Peter Chen
hzpeterchen at gmail.com
Mon Dec 28 17:42:04 PST 2015
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 at 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
More information about the linux-arm-kernel
mailing list