@ -29,14 +29,13 @@
# include <usbdevice.h>
# include "ep0.h"
# include <usb/spr _udc.h>
# include <usb/designware _udc.h>
# include <asm/arch/hardware.h>
# include <asm/arch/spr_misc.h>
# define UDC_INIT_MDELAY 80 /* Device settle delay */
/* Some kind of debugging output... */
# ifndef DEBUG_SPR USBTTY
# ifndef DEBUG_DW USBTTY
# define UDCDBG(str)
# define UDCDBGA(fmt, args...)
# else
@ -251,7 +250,7 @@ static void usbputpcktofifo(int epNum, u8 *bufp, u32 len)
}
/*
* spear _write_noniso_tx_fifo - Write the next packet to TxFIFO .
* dw _write_noniso_tx_fifo - Write the next packet to TxFIFO .
* @ endpoint : Endpoint pointer .
*
* If the endpoint has an active tx_urb , then the next packet of data from the
@ -263,7 +262,7 @@ static void usbputpcktofifo(int epNum, u8 *bufp, u32 len)
* transmitted in this packet .
*
*/
static void spear _write_noniso_tx_fifo( struct usb_endpoint_instance
static void dw _write_noniso_tx_fifo( struct usb_endpoint_instance
* endpoint )
{
struct urb * urb = endpoint - > tx_urb ;
@ -307,7 +306,7 @@ static void spear_write_noniso_tx_fifo(struct usb_endpoint_instance
* Handle SETUP USB interrupt .
* This function implements TRM Figure 14 - 14.
*/
static void spear _udc_setup( struct usb_endpoint_instance * endpoint )
static void dw _udc_setup( struct usb_endpoint_instance * endpoint )
{
u8 * datap = ( u8 * ) & ep0_urb - > device_request ;
int ep_addr = endpoint - > endpoint_address ;
@ -344,11 +343,11 @@ static void spear_udc_setup(struct usb_endpoint_instance *endpoint)
endpoint - > tx_urb = ep0_urb ;
endpoint - > sent = 0 ;
/*
* Write packet data to the FIFO . spear _write_noniso_tx_fifo
* Write packet data to the FIFO . dw _write_noniso_tx_fifo
* will update endpoint - > last with the number of bytes written
* to the FIFO .
*/
spear _write_noniso_tx_fifo( endpoint ) ;
dw _write_noniso_tx_fifo( endpoint ) ;
writel ( 0x0 , & inep_regs_p [ ep_addr ] . write_done ) ;
}
@ -361,7 +360,7 @@ static void spear_udc_setup(struct usb_endpoint_instance *endpoint)
/*
* Handle endpoint 0 RX interrupt
*/
static void spear _udc_ep0_rx( struct usb_endpoint_instance * endpoint )
static void dw _udc_ep0_rx( struct usb_endpoint_instance * endpoint )
{
u8 dummy [ 64 ] ;
@ -395,7 +394,7 @@ static void spear_udc_ep0_rx(struct usb_endpoint_instance *endpoint)
/*
* Handle endpoint 0 TX interrupt
*/
static void spear _udc_ep0_tx( struct usb_endpoint_instance * endpoint )
static void dw _udc_ep0_tx( struct usb_endpoint_instance * endpoint )
{
struct usb_device_request * request = & ep0_urb - > device_request ;
int ep_addr ;
@ -444,7 +443,7 @@ static void spear_udc_ep0_tx(struct usb_endpoint_instance *endpoint)
* need a zero - length terminating packet .
*/
UDCDBG ( " ACK control read data stage packet " ) ;
spear _write_noniso_tx_fifo( endpoint ) ;
dw _write_noniso_tx_fifo( endpoint ) ;
ep_addr = endpoint - > endpoint_address ;
writel ( 0x0 , & inep_regs_p [ ep_addr ] . write_done ) ;
@ -452,7 +451,7 @@ static void spear_udc_ep0_tx(struct usb_endpoint_instance *endpoint)
}
}
static struct usb_endpoint_instance * spear _find_ep( int ep )
static struct usb_endpoint_instance * dw _find_ep( int ep )
{
int i ;
@ -469,11 +468,11 @@ static struct usb_endpoint_instance *spear_find_ep(int ep)
* The ep argument is a physical endpoint number for a non - ISO IN endpoint
* in the range 1 to 15.
*/
static void spear _udc_epn_rx( int ep )
static void dw _udc_epn_rx( int ep )
{
int nbytes = 0 ;
struct urb * urb ;
struct usb_endpoint_instance * endpoint = spear _find_ep( ep ) ;
struct usb_endpoint_instance * endpoint = dw _find_ep( ep ) ;
if ( endpoint ) {
urb = endpoint - > rcv_urb ;
@ -494,9 +493,9 @@ static void spear_udc_epn_rx(int ep)
* The ep argument is a physical endpoint number for a non - ISO IN endpoint
* in the range 16 to 30.
*/
static void spear _udc_epn_tx( int ep )
static void dw _udc_epn_tx( int ep )
{
struct usb_endpoint_instance * endpoint = spear _find_ep( ep ) ;
struct usb_endpoint_instance * endpoint = dw _find_ep( ep ) ;
/*
* We need to transmit a terminating zero - length packet now if
@ -516,7 +515,7 @@ static void spear_udc_epn_tx(int ep)
*/
if ( endpoint - > tx_urb & & endpoint - > tx_urb - > actual_length ) {
/* write data to FIFO */
spear _write_noniso_tx_fifo( endpoint ) ;
dw _write_noniso_tx_fifo( endpoint ) ;
writel ( 0x0 , & inep_regs_p [ ep ] . write_done ) ;
} else if ( endpoint - > tx_urb
@ -765,7 +764,7 @@ void udc_startup_events(struct usb_device_instance *device)
* DEVICE_HUB_CONFIGURED and DEVICE_RESET events here .
* DEVICE_HUB_CONFIGURED causes a transition to the state STATE_POWERED ,
* and DEVICE_RESET causes a transition to the state STATE_DEFAULT .
* The SPEAr USB client controller has the capability to detect when the
* The DW USB client controller has the capability to detect when the
* USB cable is connected to a powered USB bus , so we will defer the
* DEVICE_HUB_CONFIGURED and DEVICE_RESET events until later .
*/
@ -776,7 +775,7 @@ void udc_startup_events(struct usb_device_instance *device)
/*
* Plug detection interrupt handling
*/
void spear _udc_plug_irq( void )
void dw _udc_plug_irq( void )
{
if ( readl ( & plug_regs_p - > plug_state ) & PLUG_STATUS_ATTACHED ) {
/*
@ -805,7 +804,7 @@ void spear_udc_plug_irq(void)
/*
* Device interrupt handling
*/
void spear _udc_dev_irq( void )
void dw _udc_dev_irq( void )
{
if ( readl ( & udc_regs_p - > dev_int ) & DEV_INT_USBRESET ) {
writel ( ~ 0x0 , & udc_regs_p - > endp_int_mask ) ;
@ -870,7 +869,7 @@ void spear_udc_dev_irq(void)
/*
* Endpoint interrupt handling
*/
void spear _udc_endpoint_irq( void )
void dw _udc_endpoint_irq( void )
{
while ( readl ( & udc_regs_p - > endp_int ) & ENDP0_INT_CTRLOUT ) {
@ -878,13 +877,13 @@ void spear_udc_endpoint_irq(void)
if ( ( readl ( & outep_regs_p [ 0 ] . endp_status ) & ENDP_STATUS_OUTMSK )
= = ENDP_STATUS_OUT_SETUP ) {
spear _udc_setup( udc_device - > bus - > endpoint_array + 0 ) ;
dw _udc_setup( udc_device - > bus - > endpoint_array + 0 ) ;
writel ( ENDP_STATUS_OUT_SETUP ,
& outep_regs_p [ 0 ] . endp_status ) ;
} else if ( ( readl ( & outep_regs_p [ 0 ] . endp_status ) &
ENDP_STATUS_OUTMSK ) = = ENDP_STATUS_OUT_DATA ) {
spear _udc_ep0_rx( udc_device - > bus - > endpoint_array + 0 ) ;
dw _udc_ep0_rx( udc_device - > bus - > endpoint_array + 0 ) ;
writel ( ENDP_STATUS_OUT_DATA ,
& outep_regs_p [ 0 ] . endp_status ) ;
@ -897,7 +896,7 @@ void spear_udc_endpoint_irq(void)
}
if ( readl ( & udc_regs_p - > endp_int ) & ENDP0_INT_CTRLIN ) {
spear _udc_ep0_tx( udc_device - > bus - > endpoint_array + 0 ) ;
dw _udc_ep0_tx( udc_device - > bus - > endpoint_array + 0 ) ;
writel ( ENDP_STATUS_IN , & inep_regs_p [ 0 ] . endp_status ) ;
writel ( ENDP0_INT_CTRLIN , & udc_regs_p - > endp_int ) ;
@ -919,7 +918,7 @@ void spear_udc_endpoint_irq(void)
if ( ( readl ( & outep_regs_p [ epnum ] . endp_status ) &
ENDP_STATUS_OUTMSK ) = = ENDP_STATUS_OUT_DATA ) {
spear _udc_epn_rx( epnum ) ;
dw _udc_epn_rx( epnum ) ;
writel ( ENDP_STATUS_OUT_DATA ,
& outep_regs_p [ epnum ] . endp_status ) ;
} else if ( ( readl ( & outep_regs_p [ epnum ] . endp_status ) &
@ -941,7 +940,7 @@ void spear_udc_endpoint_irq(void)
if ( readl ( & inep_regs_p [ epnum ] . endp_status ) & ENDP_STATUS_IN ) {
writel ( ENDP_STATUS_IN ,
& outep_regs_p [ epnum ] . endp_status ) ;
spear _udc_epn_tx( epnum ) ;
dw _udc_epn_tx( epnum ) ;
writel ( ENDP_STATUS_IN ,
& outep_regs_p [ epnum ] . endp_status ) ;
@ -963,13 +962,13 @@ void udc_irq(void)
* host requests .
*/
while ( readl ( & plug_regs_p - > plug_pending ) )
spear _udc_plug_irq( ) ;
dw _udc_plug_irq( ) ;
while ( readl ( & udc_regs_p - > dev_int ) )
spear _udc_dev_irq( ) ;
dw _udc_dev_irq( ) ;
if ( readl ( & udc_regs_p - > endp_int ) )
spear _udc_endpoint_irq( ) ;
dw _udc_endpoint_irq( ) ;
}
/* Flow control */