move usb to drivers for quilt patches
[kernel-power] / usbhost / usb / gadget / lh7a40x_udc.h
diff --git a/usbhost/usb/gadget/lh7a40x_udc.h b/usbhost/usb/gadget/lh7a40x_udc.h
deleted file mode 100644 (file)
index ca86120..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * linux/drivers/usb/gadget/lh7a40x_udc.h
- * Sharp LH7A40x on-chip full speed USB device controllers
- *
- * Copyright (C) 2004 Mikko Lahteenmaki, Nordic ID
- * Copyright (C) 2004 Bo Henriksen, Nordic ID
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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
- *
- */
-
-#ifndef __LH7A40X_H_
-#define __LH7A40X_H_
-
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/ioport.h>
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/delay.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/init.h>
-#include <linux/timer.h>
-#include <linux/list.h>
-#include <linux/interrupt.h>
-#include <linux/proc_fs.h>
-#include <linux/mm.h>
-#include <linux/device.h>
-#include <linux/dma-mapping.h>
-
-#include <asm/byteorder.h>
-#include <asm/dma.h>
-#include <asm/io.h>
-#include <asm/irq.h>
-#include <asm/system.h>
-#include <asm/unaligned.h>
-#include <mach/hardware.h>
-
-#include <linux/usb/ch9.h>
-#include <linux/usb/gadget.h>
-
-/*
- * Memory map
- */
-
-#define USB_FA                                 0x80000200      // function address register
-#define USB_PM                                 0x80000204      // power management register
-
-#define USB_IN_INT                             0x80000208      // IN interrupt register bank (EP0-EP3)
-#define USB_OUT_INT                            0x80000210      // OUT interrupt register bank (EP2)
-#define USB_INT                                        0x80000218      // interrupt register bank
-
-#define USB_IN_INT_EN                  0x8000021C      // IN interrupt enable register bank
-#define USB_OUT_INT_EN                 0x80000224      // OUT interrupt enable register bank
-#define USB_INT_EN                             0x8000022C      // USB interrupt enable register bank
-
-#define USB_FRM_NUM1                   0x80000230      // Frame number1 register
-#define USB_FRM_NUM2                   0x80000234      // Frame number2 register
-#define USB_INDEX                              0x80000238      // index register
-
-#define USB_IN_MAXP                            0x80000240      // IN MAXP register
-#define USB_IN_CSR1                            0x80000244      // IN CSR1 register/EP0 CSR register
-#define USB_EP0_CSR                            0x80000244      // IN CSR1 register/EP0 CSR register
-#define USB_IN_CSR2                            0x80000248      // IN CSR2 register
-#define USB_OUT_MAXP                   0x8000024C      // OUT MAXP register
-
-#define USB_OUT_CSR1                   0x80000250      // OUT CSR1 register
-#define USB_OUT_CSR2                   0x80000254      // OUT CSR2 register
-#define USB_OUT_FIFO_WC1               0x80000258      // OUT FIFO write count1 register
-#define USB_OUT_FIFO_WC2               0x8000025C      // OUT FIFO write count2 register
-
-#define USB_RESET                              0x8000044C      // USB reset register
-
-#define        USB_EP0_FIFO                    0x80000280
-#define        USB_EP1_FIFO                    0x80000284
-#define        USB_EP2_FIFO                    0x80000288
-#define        USB_EP3_FIFO                    0x8000028c
-
-/*
- * USB reset register
- */
-#define USB_RESET_APB                  (1<<1)  //resets USB APB control side WRITE
-#define USB_RESET_IO                   (1<<0)  //resets USB IO side WRITE
-
-/*
- * USB function address register
- */
-#define USB_FA_ADDR_UPDATE             (1<<7)
-#define USB_FA_FUNCTION_ADDR   (0x7F)
-
-/*
- * Power Management register
- */
-#define PM_USB_DCP                             (1<<5)
-#define PM_USB_ENABLE                  (1<<4)
-#define PM_USB_RESET                   (1<<3)
-#define PM_UC_RESUME                   (1<<2)
-#define PM_SUSPEND_MODE                        (1<<1)
-#define PM_ENABLE_SUSPEND              (1<<0)
-
-/*
- * IN interrupt register
- */
-#define USB_IN_INT_EP3                         (1<<3)
-#define USB_IN_INT_EP1                         (1<<1)
-#define USB_IN_INT_EP0                         (1<<0)
-
-/*
- * OUT interrupt register
- */
-#define USB_OUT_INT_EP2                                (1<<2)
-
-/*
- * USB interrupt register
- */
-#define USB_INT_RESET_INT                      (1<<2)
-#define USB_INT_RESUME_INT                     (1<<1)
-#define USB_INT_SUSPEND_INT                    (1<<0)
-
-/*
- * USB interrupt enable register
- */
-#define USB_INT_EN_USB_RESET_INTER             (1<<2)
-#define USB_INT_EN_RESUME_INTER                        (1<<1)
-#define USB_INT_EN_SUSPEND_INTER               (1<<0)
-
-/*
- * INCSR1 register
- */
-#define USB_IN_CSR1_CLR_DATA_TOGGLE            (1<<6)
-#define USB_IN_CSR1_SENT_STALL                 (1<<5)
-#define USB_IN_CSR1_SEND_STALL                 (1<<4)
-#define USB_IN_CSR1_FIFO_FLUSH                 (1<<3)
-#define USB_IN_CSR1_FIFO_NOT_EMPTY             (1<<1)
-#define USB_IN_CSR1_IN_PKT_RDY                 (1<<0)
-
-/*
- * INCSR2 register
- */
-#define USB_IN_CSR2_AUTO_SET                   (1<<7)
-#define USB_IN_CSR2_USB_DMA_EN                 (1<<4)
-
-/*
- * OUT CSR1 register
- */
-#define USB_OUT_CSR1_CLR_DATA_REG              (1<<7)
-#define USB_OUT_CSR1_SENT_STALL                        (1<<6)
-#define USB_OUT_CSR1_SEND_STALL                        (1<<5)
-#define USB_OUT_CSR1_FIFO_FLUSH                        (1<<4)
-#define USB_OUT_CSR1_FIFO_FULL                 (1<<1)
-#define USB_OUT_CSR1_OUT_PKT_RDY               (1<<0)
-
-/*
- * OUT CSR2 register
- */
-#define USB_OUT_CSR2_AUTO_CLR                  (1<<7)
-#define USB_OUT_CSR2_USB_DMA_EN                        (1<<4)
-
-/*
- * EP0 CSR
- */
-#define EP0_CLR_SETUP_END              (1<<7)  /* Clear "Setup Ends" Bit (w) */
-#define EP0_CLR_OUT                            (1<<6)  /* Clear "Out packet ready" Bit (w) */
-#define EP0_SEND_STALL                 (1<<5)  /* Send STALL Handshake (rw) */
-#define EP0_SETUP_END                  (1<<4)  /* Setup Ends (r) */
-
-#define EP0_DATA_END                   (1<<3)  /* Data end (rw) */
-#define EP0_SENT_STALL                 (1<<2)  /* Sent Stall Handshake (r) */
-#define EP0_IN_PKT_RDY                 (1<<1)  /* In packet ready (rw) */
-#define EP0_OUT_PKT_RDY                        (1<<0)  /* Out packet ready (r) */
-
-/* general CSR */
-#define OUT_PKT_RDY            (1<<0)
-#define IN_PKT_RDY             (1<<0)
-
-/*
- * IN/OUT MAXP register
- */
-#define USB_OUT_MAXP_MAXP                      (0xF)
-#define USB_IN_MAXP_MAXP                       (0xF)
-
-// Max packet size
-//#define EP0_PACKETSIZE        0x10
-#define EP0_PACKETSIZE         0x8
-#define EP0_MAXPACKETSIZE      0x10
-
-#define UDC_MAX_ENDPOINTS       4
-
-#define WAIT_FOR_SETUP          0
-#define DATA_STATE_XMIT         1
-#define DATA_STATE_NEED_ZLP     2
-#define WAIT_FOR_OUT_STATUS     3
-#define DATA_STATE_RECV         4
-
-/* ********************************************************************************************* */
-/* IO
- */
-
-typedef enum ep_type {
-       ep_control, ep_bulk_in, ep_bulk_out, ep_interrupt
-} ep_type_t;
-
-struct lh7a40x_ep {
-       struct usb_ep ep;
-       struct lh7a40x_udc *dev;
-
-       const struct usb_endpoint_descriptor *desc;
-       struct list_head queue;
-       unsigned long pio_irqs;
-
-       u8 stopped;
-       u8 bEndpointAddress;
-       u8 bmAttributes;
-
-       ep_type_t ep_type;
-       u32 fifo;
-       u32 csr1;
-       u32 csr2;
-};
-
-struct lh7a40x_request {
-       struct usb_request req;
-       struct list_head queue;
-};
-
-struct lh7a40x_udc {
-       struct usb_gadget gadget;
-       struct usb_gadget_driver *driver;
-       struct device *dev;
-       spinlock_t lock;
-
-       int ep0state;
-       struct lh7a40x_ep ep[UDC_MAX_ENDPOINTS];
-
-       unsigned char usb_address;
-
-       unsigned req_pending:1, req_std:1, req_config:1;
-};
-
-extern struct lh7a40x_udc *the_controller;
-
-#define ep_is_in(EP)           (((EP)->bEndpointAddress&USB_DIR_IN)==USB_DIR_IN)
-#define ep_index(EP)           ((EP)->bEndpointAddress&0xF)
-#define ep_maxpacket(EP)       ((EP)->ep.maxpacket)
-
-#endif