
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