USB Driver Function guide Praveena Nadahally
praveen.nadahally@stericsson.com
Rajaram Ragupathy
ragupathy.rajaram@stericsson.com
SakethRam Bommisetti
sakethram.bommisetti@stericsson.com
2011 ST-Ericsson Connectivity This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more details see the file COPYING in the source distribution of Linux.
Introduction This documentation describes ST-Ericsson's adaptation on USB external DMA and communication between Mentor USB IP controller and the USB transreceiver Concepts In ST-Ericsson's USB driver, the open source linux gadget stack and Mentor IP USB 2.0 driver is used. Since the USB Transceiver and Mentor USB IP controller are on different hardware, API's are defined for the communication between them. These API's are available in ux500.c file. The ST-Ericsson's USB driver doesn't have the internal DMA dedicated for USB. So, the external system DMA is used. The integration of external DMA with the mentor chip is available in ux500_dma.c file. Changes have been made in the musb_core.c file where endpoints are configured as per the platform and also integrated DMA specific chnages in the musb_gadget.c file. Known Bugs And Assumptions None. Public Functions Provided The musb driver doesn't export any functions. Internal Functions Provided List of internal functions
ux500_dma.c !Idrivers/usb/musb/ux500_dma.c
ux500.c !Idrivers/usb/musb/ux500.c