From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Sat, 18 Apr 2015 11:19:59 +0200 Subject: [U-Boot] Please pull u-boot-dm.git [take 2] In-Reply-To: <55316186.8090204@redhat.com> References: <20150417162753.GH16702@bill-the-cat> <20150417164643.GI16702@bill-the-cat> <20150417175302.GJ16702@bill-the-cat> <55315ED4.3000404@redhat.com> <55316186.8090204@redhat.com> Message-ID: <553221BF.2090908@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 17-04-15 21:39, Hans de Goede wrote: > Hi, > > On 17-04-15 21:28, Hans de Goede wrote: >> Hi, >> >> On 17-04-15 19:53, Tom Rini wrote: >>> 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 >> 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 >> Reviewed-by: Marek Vasut >> >> 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. Ok, so I've done a git bisect of this (using a branch with my patch for the usb-reset issue squashed into the original commit to keep things bisectable), and it points to: commit 3f7af70db23fc1c6b8f9e1bd966cadf2eb139f93 Author: Simon Glass Date: Wed Mar 25 12:22:07 2015 -0600 dm: usb: Complete the splitting up of usb_new_device() This function now calls usb_setup_device() to set up the device and usb_hub_probe() to check if it is a hub. The XHCI special case is now a parameter to usb_setup_device(). The latter will be used by the USB uclass when it is added, since it does not rely on any CONFIGs or legacy data structures. Signed-off-by: Simon Glass Reviewed-by: Marek Vasut (the commit id may be of because as said I'm using a custom branch for this). I'll see if I can figure out why that commit breaks things, but I thought I would share the bisect result ASAP to avoid double work. Regards, Hans