PowerPC and ARM USB Work


updated 8/20/2004

This page has information about my on going work with USB host controllers for the PowerPC and ARM processors. The work is primarily for the Linux operating system.

Some thoughts on software usb controller design


PowerPC

Yes, there is a working host controller driver for the MPC8XX family. It works best the MPC823 "B" part. Older MPC850 parts only in high speed mode. Apparently newer 850's have updated microcode.

There is also a basic function (client) driver.

Notes on the MPC8XX USB Host controller

The current version of the driver is 1.4. This version is updated for new 2.4.18+ kernels.

The driver was in the old linuxppc_2_5 tree. This was a bitkeeper tree maintained at FSMLabs. This tree is no longer active. The current 2.4 development tree is bk://ppc.bitkeeper.com:5005 but it does not contain the USB host controller driver.

See Bitkeeper for the bitkeeper software and This page for ppc tree information.


ARM

Yes, there is a working OHCI controller driver for the Intel SA-1111 part. It compensates for various bugs in the SA-1111 controller and works with the latest linux-2.4.0 usb code.

I've only testing this driver on the Intel Assabet/Neponset demo board and a generic PCI OHCI controller on a x86 box running 2.4.0.

Partial list of files in the kernel tree which have been changed:

drivers/usb/usb-ohci.h
drivers/usb/usb-ohci-sa1111.h
drivers/usb/usb-ohci.c
There where also some changed made in arch/arm/mach-sa1100/, mostly to enable the SA-1111 chip.

Latest kernel release with the driver

The current ARM kernel release have the current ohci driver.