[U-Boot] Is EHCI HCD working on ARM, little-endian?

Hi, all
I am using ARM11 SoC and u-boot-2009.03 stable tree. EHCI HC is embedded in SoC.
In ehci_submit_root function, code is like this:
typeReq = req->request << 8 | req->requesttype;
switch (le16_to_cpu(typeReq)) { case DeviceRequest | USB_REQ_GET_DESCRIPTOR: switch (le16_to_cpu(req->value) >> 8) {
At the first call of 'usb_get_descriptor' for retrieving the root hub device descriptor, I think the first case should be matched.
But In my environment, le16_to_cpu(typeReq) is 0x0680. (request= USB_REQ_GET_DESCRIPTOR, request_type=USB_DIR_IN) and DeviceRequest | USB_REQ_GET_DESCRIPTOR is defined as 0x8006.
So the request failed and "Unknown request" printed out.
Do you think that I did a mistake for some byteorder stuff? I didn't define anything related with the endianess, like LITTLEENDIAN for the old OHCI HCD.
CONFIG_USB_EHCI CONFIG_USB_STORAGE CONFIG_CMD_USB are defined for my board config.
Thanks.
participants (1)
-
ikjn