Hi there
I'm having problem getting USB 3.0 controller working properly on the Intel 
Denverton x86 board.
First I tried to use xhci driver, but there doesn't seem to be any xhci driver 
or generic driver for x86
I only found the following
xhci-exynos5.c:   { .compatible = "samsung,exynos5250-xhci" }, 
xhci-mvebu.c:     { .compatible = "marvell,armada3700-xhci" }, 
xhci-rockchip.c:  { .compatible = "rockchip,rk3399-xhci" },

Then I tried to use ehci driver, as there is generic driver for ehci-pci
ehci-pci.c:     { .compatible = "ehci-pci" },

I added the section into device tree file
                usb_0: usb@15,0 {
                        reg = <0x0000a800 0 0 0 0>;
                        compatible = "ehci-pci";
                };

When I run "usb start", U-boot is able to find the controller, but doesn't 
detect the usb keyboard or
Pendrive which are plugged to the USB ports.

=> usb info
1: Hub,  USB Revision 2.0
- u-boot EHCI Host Controller 
 - Class: Hub
- PacketSize: 64  Configurations: 1
- Vendor: 0x0000  Product 0x0000 Version 1.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

I see the following in the log. It doesn't find child devices when scanning.
scanning bus 0 for devices... 
Calling usb_setup_device(), portnr=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x40
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=256, index=0
USB_DT_DEVICE request
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=5 (0x5), type=0 (0x0), value=1, index=0
USB_REQ_SET_ADDRESS
Len is 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x12
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=256, index=0
USB_DT_DEVICE request
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x9
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=512, index=0
USB_DT_CONFIG config
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x19
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=512, index=0
USB_DT_CONFIG config
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 8
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=9 (0x9), type=0 (0x0), value=1, index=0
USB_REQ_SET_CONFIGURATION
Len is 0
new device strings: Mfr=1, Product=2, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 
0xFF
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=768, index=0
USB_DT_STRING config
USB device number 1 default language ID 0x1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x1 length 
0xFF
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=769, index=1
USB_DT_STRING config
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x1 length 
0xFF
ehci_submit_control_msg: dev='usb@15,0', udev=7f4ef080, udev->dev='usb@15,0', 
portnr=0
req=6 (0x6), type=128 (0x80), value=770, index=1
USB_DT_STRING config
Manufacturer u-boot
Product      EHCI Host Controller
SerialNumber 
read_descriptor for 'usb@15,0': ret=0
** usb_find_child returns -2
usb_find_and_bind_driver: Searching for driver
Bound device usb_hub to usb@15,0
usb_find_and_bind_driver: Match found: usb_hub
usb_scan_device: Probing 'usb_hub', plat=7f4f53c0
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1
   - not found
usb_hub_post_probe
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 
0x4
ehci_submit_control_msg: dev='usb@15,0', udev=7f4f5400, udev->dev='usb_hub', 
portnr=0
req=6 (0x6), type=160 (0xa0), value=10496, index=0
USB_DT_HUB config
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 
0x8
ehci_submit_control_msg: dev='usb@15,0', udev=7f4f5400, udev->dev='usb_hub', 
portnr=0
req=6 (0x6), type=160 (0xa0), value=10496, index=0
USB_DT_HUB config
0 ports detected


I wonder if this is caused by using ehci driver on xhci controller? And 
currently is there xhci controller
Driver for x86 based board?

Thanks a lot,
Chi
--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to