chipidea: usbmisc_imx: i.MX93 support

Xu Yang xu.yang_2 at oss.nxp.com
Wed Jun 24 02:11:02 PDT 2026


On Wed, Jun 24, 2026 at 08:30:00AM +0200, Stefan Wahren wrote:
> Hi Xu,
> 
> Am 24.06.26 um 04:50 schrieb Xu Yang:
> > 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.
> I think the access to MX6_BM_NON_BURST_SETTING should be addressed, too.

Yes.

> > Do you want to use Battery charger detection on i.MX93?
> No, we don't need this feature in our case. We suspect the cause for our
> issue comes from the hardware design of the board.

What's your issue on i.MX93?

Thanks,
Xu Yang



More information about the linux-arm-kernel mailing list