From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodolfo Giometti Date: Wed, 31 May 2006 11:21:35 +0200 Subject: [U-Boot-Users] USB OHCI drivers unification In-Reply-To: <8764jmfuu6.fsf@denx.de> References: <20060530140405.GB21734@enneenne.com> <20060530141700.8F726353450@atlas.denx.de> <20060530145421.GU21995@enneenne.com> <8764jmfuu6.fsf@denx.de> Message-ID: <20060531092135.GB3630@enneenne.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > 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 Ok. > 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 au1x00). > 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. Ok. > 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. Ciao, Rodolfo -- 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