[PATCH 2/2] usb: ehci-mx6: Do not fail when 'reg' is not found

Marek Vasut marex at denx.de
Sun Jun 20 22:11:01 CEST 2021


On 6/20/21 5:00 PM, Fabio Estevam wrote:
> Unlike imx6, on imx7 the USB PHY is described as:
> 
> 	usbphynop1: usbphynop1 {
> 		compatible = "usb-nop-xceiv";
> 		clocks = <&clks IMX7D_USB_PHY1_CLK>;
> 		clock-names = "main_clk";
> 		#phy-cells = <0>;
> 	};
> 	
> which does not have the 'reg' property.
> 
> Do not return an error when the 'reg' property is not found
> for the USB PHY.
> 
> This fixes USB gadget regression on a imx7s-warp board.
> 
> Successfully tested the "ums 0 mmc 0" command on two boards:
> imx7s-warp and imx6dl-pico-pi.
> 
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> ---
>   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 48b5c8b0c53c..c3e4170513ec 100644
> --- a/drivers/usb/host/ehci-mx6.c
> +++ b/drivers/usb/host/ehci-mx6.c
> @@ -583,7 +583,7 @@ static int mx6_parse_dt_addrs(struct udevice *dev)
>   
>   	addr = (void __iomem *)fdtdec_get_addr(blob, phy_off, "reg");
>   	if ((fdt_addr_t)addr == FDT_ADDR_T_NONE)
> -		return -EINVAL;
> +		addr = NULL;
>   
>   	priv->phy_addr = addr;

I applied both, but this looks very much like mx8mm which also uses 
nop-phy . So I think what would be even nicer is if you could try and 
enable CONFIG_PHY , patch the DT to specify phys = <&usbphynop1>; 
instead of fsl,usbphy = <&usbphynop1>; and see whether that works. You 
can have a look at how the usb was enabled on the verdin board.

Maybe then we can get rid of some of those ifdefs and switch to generic 
EHCI PHY etc.


More information about the U-Boot mailing list