On 29 October 2016 at 18:31, Ben Mulvihill <ben.mulvih...@gmail.com> wrote: > On Sat, 2016-10-29 at 13:28 +0200, Ben Mulvihill wrote: >> On Fri, 2016-10-28 at 23:35 +0200, Ben Mulvihill wrote: >> > On Fri, 2016-10-28 at 19:14 +0300, Antti Seppälä wrote: >> > > On 28 October 2016 at 17:30, Ben Mulvihill <ben.mulvih...@gmail.com> >> > > wrote: >> > > > Add device tree binding for dwc2 usb driver on lantiq danube >> > > > >> > > > Signed-off-by: Ben Mulvihill <ben.mulvih...@gmail.com> >> > > > --- >> > > > diff -uprN a/target/linux/lantiq/dts/danube.dtsi >> > > > b/target/linux/lantiq/dts/danube.dtsi >> > > > --- a/target/linux/lantiq/dts/danube.dtsi 2016-10-27 >> > > > 19:56:07.090392399 +0200 >> > > > +++ b/target/linux/lantiq/dts/danube.dtsi 2016-10-27 >> > > > 20:47:34.387511522 +0200 >> > > > @@ -140,7 +140,7 @@ >> > > > }; >> > > > >> > > > ifxhcd@E101000 { >> > > > - compatible = "lantiq,ifxhcd-danube"; >> > > > + compatible = "lantiq,ifxhcd-danube", >> > > > "lantiq,ifxhcd-danube-dwc2"; >> > > > reg = <0xE101000 0x1000 >> > > > 0xE120000 0x3f000>; >> > > > interrupt-parent = <&icu0>; >> > > > >> > > > >> > > >> > > Hi. >> > > >> > > Have you tried if danube can simply be compatible with vanilla >> > > "snps,dwc2"? >> > > >> > > The main reason we created our own definition for lantiq is that arx >> > > and xrx have fifo sizes smaller than what the dwc2 autodetection >> > > mechanism expects. >> > > I remember finding some references in ifxhcd code which would suggest >> > > that danube had bigger fifo and thus would maybe work without any >> > > special treatment. >> > > >> > > Br, >> > >> > I'm pretty sure I tried it, but must have been a couple of years >> > ago and I can't remember why it didn't work. I'll have another go. >> > >> > Thanks for the suggestion, >> > >> > Ben >> >> You are right. It works fine with "snps,dwc2". (Apart from the same >> mode mismatch warnings) When I tried that before I didn't have the >> benefit of your hardware initialisation code and my own version >> must have been wrong. >> >> I'll submit a version 2 patch set. >> >> Ben > > No, sorry. I was testing the wrong build. I'm afraid "snps,dwc2" doesn't > work after all. It tries to autodetect the parameters, doesn't log any > errors, but then doesn't recognise devices which are plugged in, > so presumably the parameter values it thinks it has detected are > not correct. > > What do you think would be the best thing to do, stick with my original > patch set using the same parameters as for arx and vrx, which appear > to work fine, or investigate the ifxhcd code and add a separate > dwc2_core_params structure called params_danube with (possibly) bigger > fifos? I'd prefer the former for simplicity's sake. >
Could you make another simple test where you temporarily edit the params_ltq structure to have default values (-1) for all other fields than the .otg_cap that is set to 2? The .otg_cap is used to disable OTG power and session negotiation that seems to be required for some boards. The fact that the driver doesn't complain anything about fifo initialization suggests that the autodetection is working and reason for non-working usb traffic could be elsewhere. However it is possible that the autodetection logic is flawed and we need indeed to initialize fifos with hard-coded values in which case values from params_ltq are probably "good enough". -- Antti _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev