[U-Boot-Users] USB OHCI drivers unification
Markus Klotzbücher
mk at denx.de
Wed May 31 10:43:13 CEST 2006
Hi Rodolfo,
Rodolfo Giometti <giometti at linux.it> writes:
> may I know what you have already done on this topic?
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
CFG_USB_OHCI_BOARD_INIT and CFG_USB_OHCI_CPU_INIT respectively.
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.
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.
> Please take a look at my patch to enable USB OHCI support on AU1x00
> CPUs; in fact the problem was about virtual and physical addresses on
> MIPS platforms. For ARM platforms you may define as void the functions
> "virt_to_phys()" and phys_to_virt() but for MIPS are essential.
Your patch looks fine, but would you mind resubmitting it against the
USB testing branch using the generic driver (drivers/usb_ohci.c) ?
Thank you!
Regards
Markus Klotzbücher
More information about the U-Boot
mailing list