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