diff options
Diffstat (limited to 'uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h')
-rw-r--r-- | uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h | 500 |
1 files changed, 250 insertions, 250 deletions
diff --git a/uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h b/uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h index 42d0527..655659b 100644 --- a/uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h +++ b/uClinux-2.4.20-uc1/drivers/usb/wbusbd/w90n745_mass.h @@ -1,250 +1,250 @@ -/****************************************************************************
- * *
- * Copyright (c) 2005 - 2007 Winbond Electronics Corp. All rights reserved. *
- * *
- ****************************************************************************/
-
-/****************************************************************************
- *
- * FILENAME
- * w90n745_mass.h
- *
- * VERSION
- * 1.0
- *
- * DESCRIPTION
- *
- *
- * DATA STRUCTURES
- * None
- *
- * FUNCTIONS
- * None
- *
- * HISTORY
- * 2005/08/01 Ver 1.0 Created by PC34 Lsshi
- *
- *
- * REMARK
- * None
- *************************************************************************/
-
-#ifndef __W90N745_MASS_H
-#define __W90N745_MASS_H
-//types
-
-#define CONST const
-
-#define FALSE 0
-#define TRUE 1
-
-typedef void VOID;
-typedef void * PVOID;
-
-typedef char BOOL;
-typedef char * PBOOL;
-
-typedef char INT8;
-typedef char CHAR;
-typedef char * PINT8;
-typedef char * PCHAR;
-typedef unsigned char UINT8;
-typedef unsigned char UCHAR;
-typedef unsigned char * PUINT8;
-typedef unsigned char * PUCHAR;
-typedef char * PSTR;
-typedef const char * PCSTR;
-
-typedef short SHORT;
-typedef short * PSHORT;
-typedef unsigned short USHORT;
-typedef unsigned short * PUSHORT;
-
-typedef short INT16;
-typedef short * PINT16;
-typedef unsigned short UINT16;
-typedef unsigned short * PUINT16;
-
-typedef int INT;
-typedef int * PINT;
-typedef unsigned int UINT;
-typedef unsigned int * PUINT;
-
-typedef int INT32;
-typedef int * PINT32;
-typedef unsigned int UINT32;
-typedef unsigned int * PUINT32;
-
-
-typedef float FLOAT;
-typedef float * PFLOAT;
-
-typedef double DOUBLE;
-typedef double * PDOUBLE;
-
-typedef int SIZE_T;
-
-typedef unsigned char REG8;
-typedef unsigned short REG16;
-typedef unsigned int REG32;
-
-
-#define outpb(port,value) (*((UINT8 volatile *) (port))=value)
-#define inpb(port) (*((UINT8 volatile *) (port)))
-#define outphw(port,value) (*((UINT16 volatile *) (port))=value)
-#define inphw(port) (*((UINT16 volatile *) (port)))
-#define outpw(port,value) (*((UINT32 volatile *) (port))=value)
-#define inpw(port) (*((UINT32 volatile *) (port)))
-
-
-#define USB_WRITE(addr,data) (*((unsigned int volatile *)(addr))=data)
-#define USB_READ(addr) (*((unsigned int volatile *)(addr)))
-///
-#define ENDPOINTS 2 //bulkin/out
-#define USB_OFFSET 0xB4
-
-#define RSTI 1
-#define SUSI 2
-#define RUMI 3
-#define GDEVI 5
-#define GCFGI 6
-#define GSTRI 7
-#define CLAI 8
-#define CDOI 10
-#define CDII 11
-#define RST_ENDI 15
-
-/**********************************************************************************************************
- *
- * USB Device Control Registers
- *
- **********************************************************************************************************/
-#define REG_USB_CTL (USB_DEVICE+0x00) /* USB control register */
-#define REG_USB_CVCMD (USB_DEVICE+0x04) /* USB class or vendor command register */
-#define REG_USB_IE (USB_DEVICE+0x08) /* USB interrupt enable register */
-#define REG_USB_IS (USB_DEVICE+0x0c) /* USB interrupt status register */
-#define REG_USB_IC (USB_DEVICE+0x10) /* USB interrupt status clear register */
-#define REG_USB_IFSTR (USB_DEVICE+0x14) /* USB interface and string register */
-#define REG_USB_ODATA0 (USB_DEVICE+0x18) /* USB control transfer-out port 0 register */
-#define REG_USB_ODATA1 (USB_DEVICE+0x1C) /* USB control transfer-out port 1 register */
-#define REG_USB_ODATA2 (USB_DEVICE+0x20) /* USB control transfer-out port 2 register */
-#define REG_USB_ODATA3 (USB_DEVICE+0x24) /* USB control transfer-out port 3 register */
-#define REG_USB_IDATA0 (USB_DEVICE+0x28) /* USB control transfer-in data port 0 register */
-#define REG_USB_IDATA1 (USB_DEVICE+0x2C) /* USB control transfer-in data port 1 register */
-#define REG_USB_IDATA2 (USB_DEVICE+0x30) /* USB control transfer-in data port 2 register */
-#define REG_USB_IDATA3 (USB_DEVICE+0x34) /* USB control transfer-in data port 2 register */
-#define REG_USB_SIE (USB_DEVICE+0x38) /* USB SIE status Register */
-#define REG_USB_ENG (USB_DEVICE+0x3c) /* USB Engine Register */
-#define REG_USB_CTLS (USB_DEVICE+0x40) /* USB control transfer status register */
-#define REG_USB_CONFD (USB_DEVICE+0x44) /* USB Configured Value register */
-#define REG_USB_EPA_INFO (USB_DEVICE+0x48) /* USB endpoint A information register */
-#define REG_USB_EPA_CTL (USB_DEVICE+0x4c) /* USB endpoint A control register */
-#define REG_USB_EPA_IE (USB_DEVICE+0x50) /* USB endpoint A Interrupt Enable register */
-#define REG_USB_EPA_IC (USB_DEVICE+0x54) /* USB endpoint A interrupt clear register */
-#define REG_USB_EPA_IS (USB_DEVICE+0x58) /* USB endpoint A interrupt status register */
-#define REG_USB_EPA_ADDR (USB_DEVICE+0x5c) /* USB endpoint A address register */
-#define REG_USB_EPA_LENTH (USB_DEVICE+0x60) /* USB endpoint A transfer length register */
-#define REG_USB_EPB_INFO (USB_DEVICE+0x64) /* USB endpoint B information register */
-#define REG_USB_EPB_CTL (USB_DEVICE+0x68) /* USB endpoint B control register */
-#define REG_USB_EPB_IE (USB_DEVICE+0x6c) /* USB endpoint B Interrupt Enable register */
-#define REG_USB_EPB_IC (USB_DEVICE+0x70) /* USB endpoint B interrupt clear register */
-#define REG_USB_EPB_IS (USB_DEVICE+0x74) /* USB endpoint B interrupt status register */
-#define REG_USB_EPB_ADDR (USB_DEVICE+0x78) /* USB endpoint B address register */
-#define REG_USB_EPB_LENTH (USB_DEVICE+0x7c) /* USB endpoint B transfer length register */
-#define REG_USB_EPC_INFO (USB_DEVICE+0x80) /* USB endpoint C information register */
-#define REG_USB_EPC_CTL (USB_DEVICE+0x84) /* USB endpoint C control register */
-#define REG_USB_EPC_IE (USB_DEVICE+0x88) /* USB endpoint C Interrupt Enable register */
-#define REG_USB_EPC_IC (USB_DEVICE+0x8c) /* USB endpoint C interrupt clear register */
-#define REG_USB_EPC_IS (USB_DEVICE+0x90) /* USB endpoint C interrupt status register */
-#define REG_USB_EPC_ADDR (USB_DEVICE+0x94) /* USB endpoint C address register */
-#define REG_USB_EPC_LENTH (USB_DEVICE+0x98) /* USB endpoint C transfer length register */
-#define REG_USB_EPA_XFER (USB_DEVICE+0x9c) /* USB endpoint A remain transfer length register */
-#define REG_USB_EPA_PKT (USB_DEVICE+0xa0) /* USB endpoint A remain packet length register */
-#define REG_USB_EPB_XFER (USB_DEVICE+0xa4) /* USB endpoint B remain transfer length register */
-#define REG_USB_EPB_PKT (USB_DEVICE+0xa8) /* USB endpoint B remain packet length register */
-#define REG_USB_EPC_XFER (USB_DEVICE+0xac) /* USB endpoint C remain transfer length register */
-#define REG_USB_EPC_PKT (USB_DEVICE+0xb0) /* USB endpoint C remain packet length register */
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#define SizePerSector 512
-
-#define RAMDISK
-
-
-//extern UINT8 volatile USB_Power_Flag; // 0: bus power de-attached; 1: attached
-
-//bulk set
-//extern UINT32 volatile Bulk_set_length;
-//extern UINT8 volatile bulksetflag;
-/* Define Endpoint feature */
-#define Ep_In 0x01
-#define Ep_Out 0x00
-#define Ep_Bulk 0x01
-#define Ep_Int 0x02
-#define Ep_Iso 0x03
-
-#define EP_A 0x00
-#define EP_B 0x01
-
-
-
-typedef struct
-{
- UINT32 dwAddr;
- UINT32 dwValue;
-
-}USB_INIT_T;
-
-typedef struct
-{
- UINT8 Req_Type;
- UINT8 Req;
- UINT16 Value;
- UINT16 Index;
- UINT16 Length;
-}USB_Vender_Cmd_Format_T __attribute__ ((aligned (4))); // each field of vendor command
-
-typedef struct {
- UINT8 EP_Num;
- UINT8 EP_Dir;
- UINT8 EP_Type;
- UINT8 p;
-} USB_EP_Inf_T __attribute__ ((aligned (4)));
-
-/////
-
-//WBUSB Structs
- typedef struct _wbusb_dev {
-
- UINT8 epnum;
- UINT8 usb_online;
- UINT8 bulkonlycmd;
-
- wait_queue_head_t wusbd_wait_a,wusbd_wait_b;
-
- USB_EP_Inf_T ep[2];
- USB_Vender_Cmd_Format_T vcmd ;
-
- enum{
- GET_DEV=1,
- GET_CFG,
- GET_STR,
- CLA_CMD
- }usb_enumstatus;
-
- int (*wait_cbw)(struct _wbusb_dev *dev,void* cbw);
- void (*rw_data)(struct _wbusb_dev *dev,UINT8* buf,UINT32 length);
- void (*rd_data)(struct _wbusb_dev *dev,UINT8* buf,UINT32 length);
-
-}wbusb_dev __attribute__ ((aligned (4)));
-/////
-#define WBUSB_MAJOR 250
-#define WBUSB_IOC_MAXNR 3
-#define WBUSB_IOC_MAGIC 'u'
-#define WBUSB_IOC_GETCBW _IOR(WBUSB_IOC_MAGIC, 0, char *)
-#define WBUSB_GETVLEN _IOR(WBUSB_IOC_MAGIC, 1, unsigned long *)
-#define WBUSB_REPLUG _IOR(WBUSB_IOC_MAGIC, 2, char *)
-void* wbusb_register_driver(void);
-
-#endif /* __WBUSB_H */
+/**************************************************************************** + * * + * Copyright (c) 2005 - 2007 Winbond Electronics Corp. All rights reserved. * + * * + ****************************************************************************/ + +/**************************************************************************** + * + * FILENAME + * w90n745_mass.h + * + * VERSION + * 1.0 + * + * DESCRIPTION + * + * + * DATA STRUCTURES + * None + * + * FUNCTIONS + * None + * + * HISTORY + * 2005/08/01 Ver 1.0 Created by PC34 Lsshi + * + * + * REMARK + * None + *************************************************************************/ + +#ifndef __W90N745_MASS_H +#define __W90N745_MASS_H +//types + +#define CONST const + +#define FALSE 0 +#define TRUE 1 + +typedef void VOID; +typedef void * PVOID; + +typedef char BOOL; +typedef char * PBOOL; + +typedef char INT8; +typedef char CHAR; +typedef char * PINT8; +typedef char * PCHAR; +typedef unsigned char UINT8; +typedef unsigned char UCHAR; +typedef unsigned char * PUINT8; +typedef unsigned char * PUCHAR; +typedef char * PSTR; +typedef const char * PCSTR; + +typedef short SHORT; +typedef short * PSHORT; +typedef unsigned short USHORT; +typedef unsigned short * PUSHORT; + +typedef short INT16; +typedef short * PINT16; +typedef unsigned short UINT16; +typedef unsigned short * PUINT16; + +typedef int INT; +typedef int * PINT; +typedef unsigned int UINT; +typedef unsigned int * PUINT; + +typedef int INT32; +typedef int * PINT32; +typedef unsigned int UINT32; +typedef unsigned int * PUINT32; + + +typedef float FLOAT; +typedef float * PFLOAT; + +typedef double DOUBLE; +typedef double * PDOUBLE; + +typedef int SIZE_T; + +typedef unsigned char REG8; +typedef unsigned short REG16; +typedef unsigned int REG32; + + +#define outpb(port,value) (*((UINT8 volatile *) (port))=value) +#define inpb(port) (*((UINT8 volatile *) (port))) +#define outphw(port,value) (*((UINT16 volatile *) (port))=value) +#define inphw(port) (*((UINT16 volatile *) (port))) +#define outpw(port,value) (*((UINT32 volatile *) (port))=value) +#define inpw(port) (*((UINT32 volatile *) (port))) + + +#define USB_WRITE(addr,data) (*((unsigned int volatile *)(addr))=data) +#define USB_READ(addr) (*((unsigned int volatile *)(addr))) +/// +#define ENDPOINTS 2 //bulkin/out +#define USB_OFFSET 0xB4 + +#define RSTI 1 +#define SUSI 2 +#define RUMI 3 +#define GDEVI 5 +#define GCFGI 6 +#define GSTRI 7 +#define CLAI 8 +#define CDOI 10 +#define CDII 11 +#define RST_ENDI 15 + +/********************************************************************************************************** + * + * USB Device Control Registers + * + **********************************************************************************************************/ +#define REG_USB_CTL (USB_DEVICE+0x00) /* USB control register */ +#define REG_USB_CVCMD (USB_DEVICE+0x04) /* USB class or vendor command register */ +#define REG_USB_IE (USB_DEVICE+0x08) /* USB interrupt enable register */ +#define REG_USB_IS (USB_DEVICE+0x0c) /* USB interrupt status register */ +#define REG_USB_IC (USB_DEVICE+0x10) /* USB interrupt status clear register */ +#define REG_USB_IFSTR (USB_DEVICE+0x14) /* USB interface and string register */ +#define REG_USB_ODATA0 (USB_DEVICE+0x18) /* USB control transfer-out port 0 register */ +#define REG_USB_ODATA1 (USB_DEVICE+0x1C) /* USB control transfer-out port 1 register */ +#define REG_USB_ODATA2 (USB_DEVICE+0x20) /* USB control transfer-out port 2 register */ +#define REG_USB_ODATA3 (USB_DEVICE+0x24) /* USB control transfer-out port 3 register */ +#define REG_USB_IDATA0 (USB_DEVICE+0x28) /* USB control transfer-in data port 0 register */ +#define REG_USB_IDATA1 (USB_DEVICE+0x2C) /* USB control transfer-in data port 1 register */ +#define REG_USB_IDATA2 (USB_DEVICE+0x30) /* USB control transfer-in data port 2 register */ +#define REG_USB_IDATA3 (USB_DEVICE+0x34) /* USB control transfer-in data port 2 register */ +#define REG_USB_SIE (USB_DEVICE+0x38) /* USB SIE status Register */ +#define REG_USB_ENG (USB_DEVICE+0x3c) /* USB Engine Register */ +#define REG_USB_CTLS (USB_DEVICE+0x40) /* USB control transfer status register */ +#define REG_USB_CONFD (USB_DEVICE+0x44) /* USB Configured Value register */ +#define REG_USB_EPA_INFO (USB_DEVICE+0x48) /* USB endpoint A information register */ +#define REG_USB_EPA_CTL (USB_DEVICE+0x4c) /* USB endpoint A control register */ +#define REG_USB_EPA_IE (USB_DEVICE+0x50) /* USB endpoint A Interrupt Enable register */ +#define REG_USB_EPA_IC (USB_DEVICE+0x54) /* USB endpoint A interrupt clear register */ +#define REG_USB_EPA_IS (USB_DEVICE+0x58) /* USB endpoint A interrupt status register */ +#define REG_USB_EPA_ADDR (USB_DEVICE+0x5c) /* USB endpoint A address register */ +#define REG_USB_EPA_LENTH (USB_DEVICE+0x60) /* USB endpoint A transfer length register */ +#define REG_USB_EPB_INFO (USB_DEVICE+0x64) /* USB endpoint B information register */ +#define REG_USB_EPB_CTL (USB_DEVICE+0x68) /* USB endpoint B control register */ +#define REG_USB_EPB_IE (USB_DEVICE+0x6c) /* USB endpoint B Interrupt Enable register */ +#define REG_USB_EPB_IC (USB_DEVICE+0x70) /* USB endpoint B interrupt clear register */ +#define REG_USB_EPB_IS (USB_DEVICE+0x74) /* USB endpoint B interrupt status register */ +#define REG_USB_EPB_ADDR (USB_DEVICE+0x78) /* USB endpoint B address register */ +#define REG_USB_EPB_LENTH (USB_DEVICE+0x7c) /* USB endpoint B transfer length register */ +#define REG_USB_EPC_INFO (USB_DEVICE+0x80) /* USB endpoint C information register */ +#define REG_USB_EPC_CTL (USB_DEVICE+0x84) /* USB endpoint C control register */ +#define REG_USB_EPC_IE (USB_DEVICE+0x88) /* USB endpoint C Interrupt Enable register */ +#define REG_USB_EPC_IC (USB_DEVICE+0x8c) /* USB endpoint C interrupt clear register */ +#define REG_USB_EPC_IS (USB_DEVICE+0x90) /* USB endpoint C interrupt status register */ +#define REG_USB_EPC_ADDR (USB_DEVICE+0x94) /* USB endpoint C address register */ +#define REG_USB_EPC_LENTH (USB_DEVICE+0x98) /* USB endpoint C transfer length register */ +#define REG_USB_EPA_XFER (USB_DEVICE+0x9c) /* USB endpoint A remain transfer length register */ +#define REG_USB_EPA_PKT (USB_DEVICE+0xa0) /* USB endpoint A remain packet length register */ +#define REG_USB_EPB_XFER (USB_DEVICE+0xa4) /* USB endpoint B remain transfer length register */ +#define REG_USB_EPB_PKT (USB_DEVICE+0xa8) /* USB endpoint B remain packet length register */ +#define REG_USB_EPC_XFER (USB_DEVICE+0xac) /* USB endpoint C remain transfer length register */ +#define REG_USB_EPC_PKT (USB_DEVICE+0xb0) /* USB endpoint C remain packet length register */ + +///////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define SizePerSector 512 + +#define RAMDISK + + +//extern UINT8 volatile USB_Power_Flag; // 0: bus power de-attached; 1: attached + +//bulk set +//extern UINT32 volatile Bulk_set_length; +//extern UINT8 volatile bulksetflag; +/* Define Endpoint feature */ +#define Ep_In 0x01 +#define Ep_Out 0x00 +#define Ep_Bulk 0x01 +#define Ep_Int 0x02 +#define Ep_Iso 0x03 + +#define EP_A 0x00 +#define EP_B 0x01 + + + +typedef struct +{ + UINT32 dwAddr; + UINT32 dwValue; + +}USB_INIT_T; + +typedef struct +{ + UINT8 Req_Type; + UINT8 Req; + UINT16 Value; + UINT16 Index; + UINT16 Length; +}USB_Vender_Cmd_Format_T __attribute__ ((aligned (4))); // each field of vendor command + +typedef struct { + UINT8 EP_Num; + UINT8 EP_Dir; + UINT8 EP_Type; + UINT8 p; +} USB_EP_Inf_T __attribute__ ((aligned (4))); + +///// + +//WBUSB Structs + typedef struct _wbusb_dev { + + UINT8 epnum; + UINT8 usb_online; + UINT8 bulkonlycmd; + + wait_queue_head_t wusbd_wait_a,wusbd_wait_b; + + USB_EP_Inf_T ep[2]; + USB_Vender_Cmd_Format_T vcmd ; + + enum{ + GET_DEV=1, + GET_CFG, + GET_STR, + CLA_CMD + }usb_enumstatus; + + int (*wait_cbw)(struct _wbusb_dev *dev,void* cbw); + void (*rw_data)(struct _wbusb_dev *dev,UINT8* buf,UINT32 length); + void (*rd_data)(struct _wbusb_dev *dev,UINT8* buf,UINT32 length); + +}wbusb_dev __attribute__ ((aligned (4))); +///// +#define WBUSB_MAJOR 250 +#define WBUSB_IOC_MAXNR 3 +#define WBUSB_IOC_MAGIC 'u' +#define WBUSB_IOC_GETCBW _IOR(WBUSB_IOC_MAGIC, 0, char *) +#define WBUSB_GETVLEN _IOR(WBUSB_IOC_MAGIC, 1, unsigned long *) +#define WBUSB_REPLUG _IOR(WBUSB_IOC_MAGIC, 2, char *) +void* wbusb_register_driver(void); + +#endif /* __WBUSB_H */ |