[U-Boot] U-Boot Rockchip dwc_hcd question for low-speed devices

Simon Glass sjg at chromium.org
Mon Jan 11 17:59:09 CET 2016


Hi Josh,

On 8 January 2016 at 06:27, Josh Sanford <joshs6502 at gmail.com> wrote:
> Thanks Simon,
>
> I've been looking through the code you referenced.  So these patches are
> just standalone snippets and not yet part of any branch?  (I'm just not
> familiar with U-Boot's development process.)

Please put your reply at the bottom or the threads will get very confusing!

There is some information here that might help:

http://www.denx.de/wiki/U-Boot/Patches

In short, yes these are patches, and will be applied at some point, at
which point they become part of 'mainline' and end up in the next
release. If you test them you can reply with your Tested-by tag which
helps the process.

Regards,
Simon

>
> Josh
>
> On Tue, Jan 5, 2016 at 7:25 PM, Simon Glass <sjg at chromium.org> wrote:
>>
>> Hi Josh,
>>
>> On 21 December 2015 at 07:11, Josh Sanford <joshs6502 at gmail.com> wrote:
>> > Thanks Simon.  I'm having difficulty finding anything by Stefan Bruns
>> > around
>> > that time frame, or much of anything recent pertaining to DWC.  (I only
>> > checked the u-boot-denx.git and u-boot-rockchip.git branches.)  Am I
>> > looking
>> > in the wrong place?
>>
>> This is just patches at present - see here:
>>
>> http://patchwork.ozlabs.org/project/uboot/list/?submitter=67055&state=*
>>
>> Regards,
>> Simon
>>
>> >
>> > On Sat, Dec 19, 2015 at 3:30 PM, Simon Glass <sjg at chromium.org> wrote:
>> >>
>> >> +Marek, Stephen
>> >>
>> >> Hi Josh,
>> >>
>> >> On 18 December 2015 at 06:26, Josh Sanford <joshs6502 at gmail.com> wrote:
>> >> > All,
>> >> >
>> >> > I am trying to use USB within U-Boot on a Firefly RK3288 (Rockchip)
>> >> > board,
>> >> > and I am able to enumerate high-speed devices, but not full-speed or
>> >> > low-speed devices.  I know that the devices are functional, because
>> >> > they
>> >> > work on the same physical hardware when I boot into Linux.  Note that
>> >> > I'm
>> >> > using "U-Boot 2014.10-RK3288-02".
>> >> >
>> >> > As an aside, the built-in "USB 2.0 Hub [MTT]" hub never generates a
>> >> > USB_PORT_STAT_C_CONNECTION for me, even though
>> >> > USB_PORT_STAT_CONNECTION
>> >> > goes
>> >> > high immediately after powering on, so I forcibly assert
>> >> > USB_PORT_STAT_C_CONNECTION to allow the rest of the tree to
>> >> > enumerate.
>> >> >
>> >> > High-speed devices can be nested as deeply as I wish and still show
>> >> > up
>> >> > properly, but I can't get low-speed devices (i.e. a keyboard) to work
>> >> > in
>> >> > any
>> >> > hub port, including any of the ports directly on the board.  All
>> >> > attempts to
>> >> > read from my low-speed devices return all zeros.  When I dig a little
>> >> > deeper, I find myself in int dwc_wait_for_complete(struct usb_device
>> >> > *dev,
>> >> > uint32_t channel_num, uint32_t *hcStat, uint32_t *errCnt) {}.
>> >> >
>> >> > On the second iteration through the goto loop, hcintn.b.chhltd and
>> >> > hcintn.b.xacterr are both asserted, but hcintn.b.ack, hcintn.b.nak,
>> >> > and
>> >> > hcintn.b.nyet are not, and errCnt is only 1, so the code sets *hcStat
>> >> > =
>> >> > HCSTAT_REINIT and returns.
>> >> >
>> >> > I do notice that dwc_hcd.c seems not to have any code to support
>> >> > split
>> >> > transactions (or perhaps I simply haven't seen it yet).  If true, I
>> >> > wonder
>> >> > whether this code is actually expected to support full-speed and
>> >> > low-speed
>> >> > devices.  Do you have any thoughts on the matter?  I wish I were more
>> >> > of
>> >> > a
>> >> > USB expert, but I'm regrettably quite a novice.
>> >>
>> >> I believe the split transaction issue is currently being resolved for
>> >> DWC. See for example Stefan Bruns' series from 13th December. It might
>> >> be worth trying that out.
>> >>
>> >> Regards,
>> >> Simon
>> >
>> >
>
>


More information about the U-Boot mailing list