
On Fri, Apr 17, 2015 at 09:28:20PM +0200, Hans de Goede wrote:
Hi,
On 17-04-15 19:53, Tom Rini wrote:
On Fri, Apr 17, 2015 at 10:54:21AM -0600, Simon Glass wrote:
Hi Tom,
On 17 April 2015 at 10:46, Tom Rini trini@konsulko.com wrote:
On Fri, Apr 17, 2015 at 10:30:36AM -0600, Simon Glass wrote:
Hi Tom,
On 17 April 2015 at 10:27, Tom Rini trini@konsulko.com wrote:
On Thu, Apr 16, 2015 at 09:15:26PM -0600, Simon Glass wrote:
>Hi Tom, > >As mentioned I reverted this patch as it conflicted with the dm tree >and I suspect it might be buggy: > >cd749658 usb_storage : scan all interfaces to find a storage device > >Assuming this is OK and applies successfully I will rebase and resend >this patch, then reply with some comments I have on the patch. > > >The following changes since commit 4564faeafbf11feb839e2e3f927be2f1a919ba96: > > ti: dwc3: Enable clocks in enable_basic_clocks() in hw_data.c >(2015-04-16 15:08:36 -0400) > >are available in the git repository at: > > http://git.denx.de/u-boot-dm.git > >for you to fetch changes up to 2e6263093b3a5c2d2c586afaedfd346d6628f784: > > sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig (2015-04-16 >20:47:57 -0600)
With this PR, am335x_boneblack (which has DM enabled) no longer functions. I'm running a bisect now, but heads up.
OK, I'll wait for your bisect - also what is the console output when it breaks?
OK, disregard Beaglebone Black error, that was me (need to remember that eMMC boot only works off of am335x_boneblack_config). But, A20-OLinuXino-Lime2_defconfig is broken by this. The error log: Command(A20 OLinuXino Lime2 console)> on (user:trini) Power turned on
U-Boot SPL 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... U-Boot SPL 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2 MMC Device 0 not found spl: mmc device not found!! ### ERROR ### Please RESET the board ###
And good: Command(A20 OLinuXino Lime2 console)> on (user:trini) Power turned on
U-Boot SPL 2015.04-00121-g4564fae (Apr 17 2015 - 12:42:40) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-00121-g4564fae (Apr 17 2015 - 12:42:40) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 0 sunxi#
So... we cause a reset during USB scan and then fail to boot a second time?
Thanks for testing this.
I'm not sure if I have a Lime (I might do, will need to look). I was testing sunxi on a pcduino3 but USB does not work on that for reasons I was looking into (it just says lowlevel init failure due to moving to driver model for GPIO).
I will take a look. In the meantime, which commit breaks this? I could perhaps issue a pull for commits up to that point to reduce the load.
I haven't had a chance to bisect yet but I will in a few hours.
No need to, I've just completed a bisect, it points to:
5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f is the first bad commit commit 5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f Author: Simon Glass sjg@chromium.org Date: Wed Mar 25 12:22:27 2015 -0600
dm: usb: Drop the EHCI weak functions These are a pain with driver model because we might have different EHCI drivers which want to implement them differently. Now that they use consistent function signatures, we can in good conscience move them to a struct. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
I'm going to first spend some time with my family now, I may look into this later tonight, or otherwise this weekend. I'll be sure to check mail first to avoid double work, so feel free to fix the problem while I'm relaxing :)
I was 2/3rds done with the bisect when I saw this (and only about 1/3rd done when you sent this :)) and I've found the problem. Since ehci-sunxi.c doesn't call ehci_set_controller_priv() (as it uses the default ops) from ehci_hcd_init() we don't get the default ops set anywhere and thus crash when trying to eventually use one of those functions. I've kludged in a call to ehci-sunxi.c but this isn't the right solution overall which I'll take a pass at shortly.