回复: [RESEND PATCH] usb: ehci-mx6: Add i.MX95 OTG support

Alice Guo (OSS) alice.guo at oss.nxp.com
Mon Jul 21 10:23:41 CEST 2025


Hi Tim,

I tend to replace is_imx93() || is_imx95() with is_imx9() because this driver works for iMX91, iMX93 and iMX95.

Best Regards,
Alice Guo

> -----邮件原件-----
> 发件人: Tim Harvey <tharvey at gateworks.com>
> 发送时间: 2025年7月9日 23:23
> 收件人: u-boot at lists.denx.de
> 抄送: Marek Vasut <marex at denx.de>; Fabio Estevam <festevam at denx.de>;
> Alice Guo (OSS) <alice.guo at oss.nxp.com>; dl-uboot-imx
> <uboot-imx at nxp.com>; Peng Fan <peng.fan at nxp.com>; Stefano Babic
> <sbabic at nabladev.com>; Ye Li <ye.li at nxp.com>; Tom Rini
> <trini at konsulko.com>; tharvey at gateworks.com
> 主题: [RESEND PATCH] usb: ehci-mx6: Add i.MX95 OTG support
> 
> When the usb node is defined dr_mode="otg" ehci_usb_phy_mode() is called to
> determine the mode from status registers.
> 
> The IMX95RM does not currently define the USBNC STATUS register but it is
> assumed to be an omission as the first three registers are defined.
> It has been expirimentally verified that the USBNC_PHY_STATUS register at offset
> 0x23C bit4 (USBNC_PHYSTATUS_ID_DIG) reads 0 when USB_ID is GND and 1
> when floating.
> 
> Add imx95 to the list of SoC's that determine role based on the
> USBNC_PHY_STATUS register.
> 
> Fixes: 801b5fafd35d "(usb: ehci-mx6: Add i.MX95 support")
> Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> ---
>  drivers/usb/host/ehci-mx6.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c index
> a8748cef7ad2..f979ff8dde1e 100644
> --- a/drivers/usb/host/ehci-mx6.c
> +++ b/drivers/usb/host/ehci-mx6.c
> @@ -537,7 +537,7 @@ static int ehci_usb_phy_mode(struct udevice *dev)
>  			plat->init_type = USB_INIT_DEVICE;
>  		else
>  			plat->init_type = USB_INIT_HOST;
> -	} else if (is_mx7() || is_imx8mm() || is_imx8mn() || is_imx93()) {
> +	} else if (is_mx7() || is_imx8mm() || is_imx8mn() || is_imx93() ||
> +is_imx95()) {
>  		phy_status = (void __iomem *)(addr +
>  					      USBNC_PHY_STATUS_OFFSET);
>  		val = readl(phy_status);
> --
> 2.25.1



More information about the U-Boot mailing list