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 <feste...@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.