chipidea: usbmisc_imx: i.MX93 support

Xu Yang xu.yang_2 at oss.nxp.com
Tue Jun 23 19:50:29 PDT 2026


On Tue, Jun 23, 2026 at 12:23:12PM +0200, Stefan Wahren wrote:
> Hi,
> 
> during debugging USB OTG on our custom i.MX93 board, we noticed remarkable
> differences between the implementation of the chipidea/usbmisc_imx and the
> official NXP i.MX93 Reference Manual [1].
> 
> Is the USB OTG part including PHY of the i.MX93 officially supported in
> Linux Mainline?

Yes.

> 
> According to imx91_93_common.dtsi the USB IP of the i.MX93 should be
> identical to i.MX8MM [2]
> 
>     usbmisc1: usbmisc at 4c100200 {
> 
>         compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-usbmisc",
> "fsl,imx6q-usbmisc";
> 
> But looking at the PHY register definition and reset values in the NXP
> i.MX93 Reference Manual,
> 
> the registers are comparable to the i.MX95 [3] ones.
> 
> Could you please clarify which source is correct (Mainline DTS vs Reference
> Manual)?

The Reference Manual is correct.

> 
> Looking deeper at chipidea/usbmisc_imx shows the usage of the following
> register bits
> 
> #define MX7D_USB_OTG_PHY_CFG2_CHRG_CHRGSEL         BIT(0)
> 
> #define MX7D_USB_OTG_PHY_CFG2_CHRG_VDATDETENB0              BIT(1)
> 
> #define MX7D_USB_OTG_PHY_CFG2_CHRG_VDATSRCENB0              BIT(2)
> 
> #define MX7D_USB_OTG_PHY_CFG2_CHRG_DCDENB           BIT(3)
> 
> #define MX7D_USB_OTG_PHY_STATUS_LINE_STATE0              BIT(0)
> 
> #define MX7D_USB_OTG_PHY_STATUS_LINE_STATE1              BIT(1)
> 
> #define MX7D_USB_OTG_PHY_STATUS_CHRGDET                    BIT(29)
> 
> According to NXP i.MX93 & i.MX95 Reference Manual, these are bits reserved.
> 
> Is it correct that the chipidea/usbmisc_imx use these bits on i.MX93?

i.MX93 & i.MX95 no longer claims to support Battery charger detection. So these
bits are reserved. However, at the IP level, accessing these bits will not produce
errors. We will remove .charger_detection hook for the i.MX9 series in the future.

Do you want to use Battery charger detection on i.MX93?

Thanks,
Xu Yang

> 
> Best regards
> 
> [1] - https://www.nxp.com/docs/en/reference-manual/IMX93RM.pdf
> <https://www.nxp.com/docs/en/reference-manual/IMX93RM.pdf>
> 
> [2] - https://www.nxp.com/docs/en/reference-manual/IMX8MMRM.pdf
> <https://www.nxp.com/docs/en/reference-manual/IMX8MMRM.pdf>
> 
> [3] - https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf
> <https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf>
> 



More information about the linux-arm-kernel mailing list