Hi,

On 17-04-15 21:28, 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 <tr...@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 <tr...@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 <s...@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 <s...@chromium.org>
     Reviewed-by: Marek Vasut <ma...@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 :)

Ok, so I could not help myself and took a quick look at the patch causing the
issue, this fixes the reset on usb scan problem:

diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
index eda9f69..a847ac5 100644
--- a/drivers/usb/host/ehci-sunxi.c
+++ b/drivers/usb/host/ehci-sunxi.c
@@ -34,6 +34,8 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct 
ehci_hccr **hccr,
              (uint32_t)*hccr, (uint32_t)*hcor,
              (uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));

+ ehci_set_controller_priv(index, NULL, NULL);
+
        return 0;
 }

And should probably be squashed into the original patch to avoid bisect
problems.

But with this in place, all is still not well wrt non devicetree usb,
usb keyboard support does not work, "usb tree" says:

USB device tree:
  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
    |
    +-3  Hub (12 Mb/s, 100mA)
      |
      | -1  See Interface (12 Mb/s, 0mA)
      |

Note the -1 as device number for the "See Interface" device.

This particular usb setup used to work fine.

I guess this is another issue to git bisect, no idea when I'll get around
to that.

Regards,

Hans






Regards,

Hans


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to