Timeouts on Marvell EHCI (FreeBSD-arm)
Damjan Marion
damjan.marion at gmail.com
Mon May 2 12:21:40 UTC 2011
On May 2, 2011, at 1:58 PM, Hans Petter Selasky wrote:
> On Monday 02 May 2011 13:51:18 Damjan Marion wrote:
>> On May 2, 2011, at 1:33 PM, Hans Petter Selasky wrote:
>>> On Monday 02 May 2011 12:58:02 Damjan Marion wrote:
>>>> Hi,
>>>>
>>>> I'm trying to bring up FreeBSD on Marvell 88F5181L based ARM board and I
>>>> have problem with EHCI driver. EHCI controller is detected but it fails
>>>> to activate connected device.
>>>>
>>>> I will appreciate any hints how to fix this. Output follows....
>>>>
>>>> Thanks,
>>>>
>>>> Damjan
>>>
>>> Can you set:
>>>
>>> hw.usb.uhub.debug=15
>>>
>>> and
>>>
>>> hw.usb.debug=15
>>>
>>> --HPS
>>
>> Here it is, thanks....
>>
>>
>> ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff
>> irq 17,16 on simplebus0 usbus0: EHCI version 1.0
>> usbus0: set host controller mode
>> usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
>> usb_needs_explore:
>> usb_needs_explore: No root HUB
>> pcib0: <Marvell Integrated PCI/PCI-E Controller> mem 0xf1030000-0xf1031fff
>> irq 11 on fdtbus0 pci0: <PCI bus> on pcib0
>> Timecounters tick every 1.000 msec
>> usbus0: 480Mbps High Speed USB v2.0
>> usb_alloc_device: parent_dev=0xc13b1300, bus=0xc1393c78, parent_hub=0,
>> depth=0, port_index=0, port_no=1, speed=3, usb_mode=0
>> usb_set_device_state: udev 0xc13ba800 state DETACHED -> POWERED
>> usbd_req_set_address: setting device address=1
>> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x00 bRequest=0x05
>> wValue=0x0001 wIndex=0x0000 wLength=0x0000 usbd_do_request_flags: Handle
>> Request function is set
>> Root mount waiting for: usbus0
>> usb_set_device_state: udev 0xc13ba800 state POWERED -> ADDRESSED
>> usbd_setup_device_desc: Minimum MaxPacketSize is large enough to hold the
>> complete device descriptor usbd_req_get_device_desc:
>> usbd_req_get_desc: id=0, type=1, index=0, max_len=18
>> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x80 bRequest=0x06
>> wValue=0x0100 wIndex=0x0000 wLength=0x0012 usbd_do_request_flags: Handle
>> Request function is set
>> usbd_setup_device_desc: adding unit addr=1, rev=200, class=9, subclass=0,
>> protocol=1, maxpacket=64, len=18, speed=3 usbd_req_get_desc: id=0, type=3,
>> index=0, max_len=4
>> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x80 bRequest=0x06
>> wValue=0x0300 wIndex=0x0000 wLength=0x0002 usbd_do_request_flags: Handle
>
> Hi,
>
> I looks like no EHCI interrupts are generated. Try calling the EHCI interrupt
> every 100ms and see what happens.
>
> --HPS
Thanks, great hint.
Interrupts were defined in wrong order in FDT. Correct is:
ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff irq 16,17 on simplebus0
Damjan
More information about the freebsd-usb
mailing list