[U-Boot] Please pull u-boot-dm.git [take 2]
Hans de Goede
hdegoede at redhat.com
Sat Apr 18 11:19:59 CEST 2015
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:
<snip>
>>> 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 at 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 at chromium.org>
>> Reviewed-by: Marek Vasut <marex at 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.
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 <sjg at chromium.org>
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 <sjg at chromium.org>
Reviewed-by: Marek Vasut <marex at denx.de>
(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
More information about the U-Boot
mailing list