[U-Boot-Users] USB OHCI drivers unification

Rodolfo Giometti giometti at linux.it
Wed May 31 11:21:35 CEST 2006

On Wed, May 31, 2006 at 10:43:13AM +0200, Markus Klotzbücher wrote:
> Sure. I basically took the same approach as you suggested in your
> previous mail, but have split the the lowlevel functions into board and
> cpu dependant handling. I think this makes sense as boards for example
> can use the same cpu ohci controller but may require specific board
> dependant power settings. Either can be chosen by defining
> I also discovered that the actions taken in case of failure sometimes
> differ from those to stop the controller, so I added the fail functions.
> So I ended up with these hooks:
> usb_cpu_init
> usb_cpu_stop
> usb_cpu_fail
> usb_board_init
> usb_board_stop
> usb_board_fail


> I have currently adapted the monahans, the at91rm9200, and the s3c24x0
> cpus to use the generic driver. Please note that I used the
> cpu/arm920t/at91rm9200/usb_ohci.[hc] driver as a starting point for the
> generic driver.

File usb_ohci.h is quite the same, but usb_ohci.c has some
differences. I decided to start from "cpu/mpc5xxx/usb_ohci.c" since it
seemed to have a better events handling. Please, see
submit_common_msg() at comment "NOTE: since we are not interrupt
driven in U-Boot..." or have a look at:

   diff -Ebu cpu/arm920t/at91rm9200/usb_ohci.c cpu/mpc5xxx/usb_ohci.c

where you can better see the new variable "urb_finished".

However my mayor changes was about substitution of m16_swap() with
proper ohci_cpu_to_le16() (and similar) and in adding virt_to_phys()
and phys_to_virt() functions where needed (see my last patch for

> We are currently starting a new USB testing branch for testing these and
> other USB related changes, which should be available in the git repo
> soon.


> Your patch looks fine, but would you mind resubmitting it against the
> USB testing branch using the generic driver (drivers/usb_ohci.c) ?

I'll do it ASAP.




GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.denx.de/pipermail/u-boot/attachments/20060531/121cfa44/attachment.pgp 

More information about the U-Boot mailing list