Message ID | 20210620150052.1628256-2-festevam@denx.de |
---|---|
State | Accepted |
Commit | 4822114f4fb4328114da8ab199672656591a150d |
Delegated to: | Stefano Babic |
Headers | show |
Series | [1/2] usb: ehci-mx6: Move fdtdec_get_alias_seq() inside the CONFIG_MX6 | expand |
Hi Fabio, Le 20/06/2021 à 17:00, Fabio Estevam a écrit : > 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@denx.de> Thanks for the fix. Successfully tested on two boards: - imx7s-warp, - imx7d-pico-pi Tested-by: Pierre-Jean Texier <texier.pj2@gmail.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 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; > > Regards,
Hi Pierre-Jean, On 20/06/2021 13:01, Pierre-Jean Texier wrote: > Thanks for the fix. > > Successfully tested on two boards: > - imx7s-warp, > - imx7d-pico-pi > > Tested-by: Pierre-Jean Texier <texier.pj2@gmail.com> Thanks for testing. As you tested on the imx7s-warp board, you probably noticed a 'slowdown' related to the MMC. I have sent a revert to restore the original MMC behavior: https://lore.kernel.org/u-boot/AM0PR04MB5283657FEFD76E04A8BA3F7B90369@AM0PR04MB5283.eurprd04.prod.outlook.com/T/#t If this patch helps on your test, could you please send a Tested-by tag for this one too? Thanks, Fabio Estevam
Fabio, Le 20/06/2021 à 18:28, Fabio Estevam a écrit : > Hi Pierre-Jean, > > On 20/06/2021 13:01, Pierre-Jean Texier wrote: > >> Thanks for the fix. >> >> Successfully tested on two boards: >> - imx7s-warp, >> - imx7d-pico-pi >> >> Tested-by: Pierre-Jean Texier <texier.pj2@gmail.com> > > Thanks for testing. > > As you tested on the imx7s-warp board, you probably > noticed a 'slowdown' related to the MMC. Yes indeed, I noticed this issue. > > I have sent a revert to restore the original MMC behavior: > https://lore.kernel.org/u-boot/AM0PR04MB5283657FEFD76E04A8BA3F7B90369@AM0PR04MB5283.eurprd04.prod.outlook.com/T/#t > > > If this patch helps on your test, could you please send > a Tested-by tag for this one too? Sure, will do ;) Thanks,
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@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.
Hi Marek, On Sun, Jun 20, 2021 at 5:11 PM Marek Vasut <marex@denx.de> wrote: > 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. I will follow these suggestions after 2021.07 is out, thanks.
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;
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@denx.de> --- drivers/usb/host/ehci-mx6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)