On 05/10/2011 01:20 PM, Sergei Shtylyov wrote: > Hello. > > On 09-05-2011 21:46, Jan Andersson wrote: > >> This patch adds support for big endian GRUSBHC UHCI controllers. >> The HCD bus glue will probe the register interface to determine >> the endianness of the controller. > >> Tested on GR-LEON4-ITX board which has a controller with little endian >> interface and on custom LEON3 board with a BE controller. > >> Signed-off-by: Jan Andersson<jan@xxxxxxxxxxx> > [...] > >> diff --git a/drivers/usb/host/uhci-grlib.c b/drivers/usb/host/uhci-grlib.c >> index b1addd6..81f741a 100644 >> --- a/drivers/usb/host/uhci-grlib.c >> +++ b/drivers/usb/host/uhci-grlib.c >> @@ -25,6 +25,23 @@ static int uhci_grlib_init(struct usb_hcd *hcd) >> { >> struct uhci_hcd *uhci = hcd_to_uhci(hcd); >> >> + /* Assign function pointers that will be used for register accesses. >> + * Probe to see if we have a big or little endian controller. Bit 7 >> + * of PORTSC is always 1 and 15:13 are always zero, so we have: > > That's 3 bits, and your picture only has 2 bits zeroed. Also, what about > bits 31:30 that are also zeroed on your picture? You are correct, there should be a string of three zeros. 31:30 is 15:14 of the next PORTSC. It is possible that there is only one PORTSC with this controller and that is why it does not say: 1------- 00------ _1_------- 00------ 00------ 1------- 00------ _1_------- Thank you, Jan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html