Message ID | CAG17yqQkdoo+bH5otwRUwwzeOiHt=QJW4c1tCjjbV5wZadZJPg@mail.gmail.com |
---|---|
State | New |
Headers | show |
Dear Inderpal, Thanks for helping us, we were able to test ethernet over usb. It breaks often but it works with the return -1 patch. The following error is observed most of the time EHCI timed out on TD - token=0x8008d80 -Regards armdev team On 12-Mar-2014, at 9:48 am, Inderpal Singh <inderpal.singh@linaro.org> wrote: > Hi, > > > On 11 March 2014 20:25, armdev <armdev.ftm@gmail.com> wrote: > Adding Inderpal singh and Trini. Please help > > On 11-Mar-2014, at 12:27 pm, armdev <armdev.ftm@gmail.com> wrote: > > > Hi, > > > > We have recently started working on arndale and running u-boot head on it. Seems like it is crashing on our setup with a data abort on usb start. Can anyone please confirm and suggest a fix / solution > > > > U-Boot 2014.04-rc1-00486-geeb72e6 (Mar 11 2014 - 11:44:32) for ARNDALE > > > > CPU: Exynos5250@1000MHz > > > > Board: Arndale > > I2C: i2c_init: failed to init bus 0 for speed = 100000 > > ready > > DRAM: 2 GiB > > trace: copying 00084f98 bytes of early data from 50000000 to beff0000 > > trace: enabled > > WARNING: Caches not enabled > > MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 > > i2c_init: failed to init bus 0 for speed = 100000 > > In: serial > > Out: serial > > Err: serial > > Net: Net Initialization Skipped > > No ethernet found. > > Hit any key to stop autoboot: 0 > > ARNDALE # usb start > > (Re)start USB... > > USB0: data abort > > pc : [<bef8524c>] lr : [<bef85298>] > > sp : beb5f9c0 ip : 00000003 fp : 00000000 > > r10: 00000000 r9 : beb62ecc r8 : befbcc80 > > r7 : befbcc84 r6 : 0000ffff r5 : 000000ff r4 : 00000001 > > r3 : 00000000 r2 : 00000001 r1 : 000000ff r0 : 0000ffff > > Flags: nzCv IRQs off FIQs off Mode SVC_32 > > Resetting CPU ... > > > > > > I was able to reproduce the issue and git bisect tells me that it started happening after the commit "8475c86 s5p: gpio: change gpio coding method for s5p gpio". > > Upon debugging further I figured out that it happens because the function fdtdec_setup_gpio returns success even if there is no gpio defined. Since no error is returned the exynos ehci driver goes ahead to setup the gpio and data abort happens. If I return failure from this function it works well. > > diff --git a/lib/fdtdec.c b/lib/fdtdec.c > index 1fecab3..b1c4e92 100644 > --- a/lib/fdtdec.c > +++ b/lib/fdtdec.c > @@ -526,7 +526,7 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio) > * optional GPIOs) > */ > if (!fdt_gpio_isvalid(gpio)) > - return 0; > + return -1; > > > I am not sure of the objective to return success if there is no gpio defined. > Simon, could you please suggest where do we need to fix it ? the above function or gpio driver ? > > Thanks, > Inder > > > > > Thanks and Regards > > Armdev@FTM Team > > > >
Dear batao / Inderpal, ping works only a few times after a number of usb reset / start attempts. We are using linux 3.13 (exynos_defconfig) and rootfs linaro saucy server. Upon linux boot there is only lo in ifconfig. lsusb results in -99 error, similar to the on reported by batao in https://bugs.launchpad.net/linaro-stable-kernel/+bug/1301727 Can you suggest anything which we can try / test at our end to solve the ethernet issue with uboot/linux Best Regards, On 12-Mar-2014, at 11:59 am, armdev <armdev.ftm@gmail.com> wrote: > Dear Inderpal, > > Thanks for helping us, we were able to test ethernet over usb. > It breaks often but it works with the return -1 patch. > The following error is observed most of the time > EHCI timed out on TD - token=0x8008d80 > > -Regards > armdev team > > On 12-Mar-2014, at 9:48 am, Inderpal Singh <inderpal.singh@linaro.org> wrote: > >> Hi, >> >> >> On 11 March 2014 20:25, armdev <armdev.ftm@gmail.com> wrote: >> Adding Inderpal singh and Trini. Please help >> >> On 11-Mar-2014, at 12:27 pm, armdev <armdev.ftm@gmail.com> wrote: >> >> > Hi, >> > >> > We have recently started working on arndale and running u-boot head on it. Seems like it is crashing on our setup with a data abort on usb start. Can anyone please confirm and suggest a fix / solution >> > >> > U-Boot 2014.04-rc1-00486-geeb72e6 (Mar 11 2014 - 11:44:32) for ARNDALE >> > >> > CPU: Exynos5250@1000MHz >> > >> > Board: Arndale >> > I2C: i2c_init: failed to init bus 0 for speed = 100000 >> > ready >> > DRAM: 2 GiB >> > trace: copying 00084f98 bytes of early data from 50000000 to beff0000 >> > trace: enabled >> > WARNING: Caches not enabled >> > MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 >> > i2c_init: failed to init bus 0 for speed = 100000 >> > In: serial >> > Out: serial >> > Err: serial >> > Net: Net Initialization Skipped >> > No ethernet found. >> > Hit any key to stop autoboot: 0 >> > ARNDALE # usb start >> > (Re)start USB... >> > USB0: data abort >> > pc : [<bef8524c>] lr : [<bef85298>] >> > sp : beb5f9c0 ip : 00000003 fp : 00000000 >> > r10: 00000000 r9 : beb62ecc r8 : befbcc80 >> > r7 : befbcc84 r6 : 0000ffff r5 : 000000ff r4 : 00000001 >> > r3 : 00000000 r2 : 00000001 r1 : 000000ff r0 : 0000ffff >> > Flags: nzCv IRQs off FIQs off Mode SVC_32 >> > Resetting CPU ... >> > >> > >> >> I was able to reproduce the issue and git bisect tells me that it started happening after the commit "8475c86 s5p: gpio: change gpio coding method for s5p gpio". >> >> Upon debugging further I figured out that it happens because the function fdtdec_setup_gpio returns success even if there is no gpio defined. Since no error is returned the exynos ehci driver goes ahead to setup the gpio and data abort happens. If I return failure from this function it works well. >> >> diff --git a/lib/fdtdec.c b/lib/fdtdec.c >> index 1fecab3..b1c4e92 100644 >> --- a/lib/fdtdec.c >> +++ b/lib/fdtdec.c >> @@ -526,7 +526,7 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio) >> * optional GPIOs) >> */ >> if (!fdt_gpio_isvalid(gpio)) >> - return 0; >> + return -1; >> >> >> I am not sure of the objective to return success if there is no gpio defined. >> Simon, could you please suggest where do we need to fix it ? the above function or gpio driver ? >> >> Thanks, >> Inder >> >> >> >> > Thanks and Regards >> > Armdev@FTM Team >> > >> >> >
Hi, On 5 April 2014 at 06:50, armdev <armdev.ftm@gmail.com> wrote: > Dear batao / Inderpal, > > ping works only a few times after a number of usb reset / start attempts. > We are using linux 3.13 (exynos_defconfig) and rootfs linaro saucy server. > > Upon linux boot there is only lo in ifconfig. > lsusb results in -99 error, similar to the on reported by batao in > > https://bugs.launchpad.net/linaro-stable-kernel/+bug/1301727 > > Can you suggest anything which we can try / test at our end to solve the > ethernet issue with uboot/linux Somehow I found this thread. It is OK for the GPIO to be missing - the code should check it if is valid before using it. Since this was 18 months ago I hope you were able to fix it :-) > > Best Regards, > > On 12-Mar-2014, at 11:59 am, armdev <armdev.ftm@gmail.com> wrote: > > Dear Inderpal, > > Thanks for helping us, we were able to test ethernet over usb. > It breaks often but it works with the return -1 patch. > The following error is observed most of the time > EHCI timed out on TD - token=0x8008d80 > > -Regards > armdev team > > On 12-Mar-2014, at 9:48 am, Inderpal Singh <inderpal.singh@linaro.org> > wrote: > > Hi, > > > On 11 March 2014 20:25, armdev <armdev.ftm@gmail.com> wrote: >> >> Adding Inderpal singh and Trini. Please help >> >> On 11-Mar-2014, at 12:27 pm, armdev <armdev.ftm@gmail.com> wrote: >> >> > Hi, >> > >> > We have recently started working on arndale and running u-boot head on >> > it. Seems like it is crashing on our setup with a data abort on usb start. >> > Can anyone please confirm and suggest a fix / solution >> > >> > U-Boot 2014.04-rc1-00486-geeb72e6 (Mar 11 2014 - 11:44:32) for ARNDALE >> > >> > CPU: Exynos5250@1000MHz >> > >> > Board: Arndale >> > I2C: i2c_init: failed to init bus 0 for speed = 100000 >> > ready >> > DRAM: 2 GiB >> > trace: copying 00084f98 bytes of early data from 50000000 to beff0000 >> > trace: enabled >> > WARNING: Caches not enabled >> > MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 >> > i2c_init: failed to init bus 0 for speed = 100000 >> > In: serial >> > Out: serial >> > Err: serial >> > Net: Net Initialization Skipped >> > No ethernet found. >> > Hit any key to stop autoboot: 0 >> > ARNDALE # usb start >> > (Re)start USB... >> > USB0: data abort >> > pc : [<bef8524c>] lr : [<bef85298>] >> > sp : beb5f9c0 ip : 00000003 fp : 00000000 >> > r10: 00000000 r9 : beb62ecc r8 : befbcc80 >> > r7 : befbcc84 r6 : 0000ffff r5 : 000000ff r4 : 00000001 >> > r3 : 00000000 r2 : 00000001 r1 : 000000ff r0 : 0000ffff >> > Flags: nzCv IRQs off FIQs off Mode SVC_32 >> > Resetting CPU ... >> > >> > > > > I was able to reproduce the issue and git bisect tells me that it started > happening after the commit "8475c86 s5p: gpio: change gpio coding method for > s5p gpio". > > Upon debugging further I figured out that it happens because the function > fdtdec_setup_gpio returns success even if there is no gpio defined. Since no > error is returned the exynos ehci driver goes ahead to setup the gpio and > data abort happens. If I return failure from this function it works well. > > diff --git a/lib/fdtdec.c b/lib/fdtdec.c > index 1fecab3..b1c4e92 100644 > --- a/lib/fdtdec.c > +++ b/lib/fdtdec.c > @@ -526,7 +526,7 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio) > * optional GPIOs) > */ > if (!fdt_gpio_isvalid(gpio)) > - return 0; > + return -1; > > > I am not sure of the objective to return success if there is no gpio > defined. > Simon, could you please suggest where do we need to fix it ? the above > function or gpio driver ? > > Thanks, > Inder > > > >> >> > Thanks and Regards >> > Armdev@FTM Team >> > >> > > > Regards, Simon
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 1fecab3..b1c4e92 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -526,7 +526,7 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio) * optional GPIOs) */ if (!fdt_gpio_isvalid(gpio)) - return 0; + return -1; I am not sure of the objective to return success if there is no gpio