USB Status

Hasjim Williams jornada820@lists.futaris.org
Sat Mar 6 13:04:29 CET 2004


Sorry about the lack of updates.

I have recently started university again, and have been doing some work
with the microblaze/egret platform ->
www.itee.uq.edu.au/~jwilliams/mblaze-uclinux

Hence, I haven't had much time to work on the USB Host driver.  I have
however looked at the 2.6.x code for the SA-1111 OHCI driver.  It is a
lot cleaner to say the least...

There has not been much progress on the USB Host driver on the Jornada
820 at the moment.  The USB host seems to initialize.  However, it is
currently detecting 16 ports on the root hub for some reason, and also
generating an OHCI Unrecoverable Error.  I haven't determined the problem
yet.  

--- log ---

<6>usb.c: registered new driver hub
<6>usb-ohci.c: USB OHCI at membase 0xf4180000, IRQ 101
<4>hc_alloc_ohci: dev=44d mem_base=f4180000, dev_is_h5400=0
<7>pcipool create [SA-1101]/ohci_td size 64, 64/page (4096 alloc)
<7>pcipool create [SA-1101]/ohci_dev size 1552, 2/page (4096 alloc)
<7>usb-ochi.c: USB HC reset_hc usb-sa1101: ctrl=0x10 ;
<6>usb.c: new USB bus registered, assigned bus number 1
<7>usb-ohci.c: Interrupt: intrstatus=10 frame=0
<3>usb-ohci.c: OHCI Unrecoverable Error, controller usb-sa1101 disabled

--- Registers ---

# cat USBReset
0x00000001
# cat USBStatus
0x0000061E

--- init code --- Pretty much what the Developer Manual says ---

static void __init sa1101_ohci_configure(void)
{

	unsigned int usb_rst = 0;

	/*
	 * Configure the power sense and control lines.  Place the USB
	 * host controller in reset.
	 */
	USBReset = usb_rst | USBReset_ForceIfReset | USBReset_ForceHcReset;

	/*
	 * Now, carefully enable the USB clock, and take
	 * the USB host controller out of reset.
	 */
	SKPCR |= SKPCR_UCLKEn;
	udelay(11);

	/*
	 * Stop the USB clock.
	 */
	SKPCR &= ~SKPCR_UCLKEn;
	USBReset &= ~USBReset_ForceIfReset;

	SKPCR |= SKPCR_UCLKEn;
	USTCSR = 0x00000800;
	USBReset &= ~USBReset_ForceHcReset;

}

Hasjim.

>  Oleg.
> 
> PS. Would like to hear about the USB status sometime.


More information about the Jornada820 mailing list