Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
goku_udc.h File Reference

Go to the source code of this file.

Data Structures

struct  goku_udc_regs
 
struct  goku_ep
 
struct  goku_request
 
struct  goku_udc
 

Macros

#define INT_SUSPEND   0x00001 /* or resume */
 
#define INT_USBRESET   0x00002
 
#define INT_ENDPOINT0   0x00004
 
#define INT_SETUP   0x00008
 
#define INT_STATUS   0x00010
 
#define INT_STATUSNAK   0x00020
 
#define INT_EPxDATASET(n)   (0x00020 << (n)) /* 0 < n < 4 */
 
#define INT_EP1DATASET   0x00040
 
#define INT_EP2DATASET   0x00080
 
#define INT_EP3DATASET   0x00100
 
#define INT_EPnNAK(n)   (0x00100 < (n)) /* 0 < n < 4 */
 
#define INT_EP1NAK   0x00200
 
#define INT_EP2NAK   0x00400
 
#define INT_EP3NAK   0x00800
 
#define INT_SOF   0x01000
 
#define INT_ERR   0x02000
 
#define INT_MSTWRSET   0x04000
 
#define INT_MSTWREND   0x08000
 
#define INT_MSTWRTMOUT   0x10000
 
#define INT_MSTRDEND   0x20000
 
#define INT_SYSERROR   0x40000
 
#define INT_PWRDETECT   0x80000
 
#define INT_DEVWIDE   (INT_PWRDETECT|INT_SYSERROR/*|INT_ERR*/|INT_USBRESET|INT_SUSPEND)
 
#define INT_EP0   (INT_SETUP|INT_ENDPOINT0/*|INT_STATUS*/|INT_STATUSNAK)
 
#define MST_EOPB_DIS   0x0800
 
#define MST_EOPB_ENA   0x0400
 
#define MST_TIMEOUT_DIS   0x0200
 
#define MST_TIMEOUT_ENA   0x0100
 
#define MST_RD_EOPB   0x0080 /* write-only */
 
#define MST_RD_RESET   0x0040
 
#define MST_WR_RESET   0x0020
 
#define MST_RD_ENA   0x0004 /* 1:start, 0:ignore */
 
#define MST_WR_ENA   0x0002 /* 1:start, 0:ignore */
 
#define MST_CONNECTION   0x0001 /* 0 for ep1out/ep2in */
 
#define MST_R_BITS
 
#define MST_W_BITS
 
#define MST_RW_BITS
 
#define UDC_MSTWR_ENDPOINT   1
 
#define UDC_MSTRD_ENDPOINT   2
 
#define PW_DETECT   0x04
 
#define PW_RESETB   0x02
 
#define PW_PULLUP   0x01
 
#define EPxSTATUS_TOGGLE   0x40
 
#define EPxSTATUS_SUSPEND   0x20
 
#define EPxSTATUS_EP_MASK   (0x07<<2)
 
#define EPxSTATUS_EP_READY   (0<<2)
 
#define EPxSTATUS_EP_DATAIN   (1<<2)
 
#define EPxSTATUS_EP_FULL   (2<<2)
 
#define EPxSTATUS_EP_TX_ERR   (3<<2)
 
#define EPxSTATUS_EP_RX_ERR   (4<<2)
 
#define EPxSTATUS_EP_BUSY   (5<<2)
 
#define EPxSTATUS_EP_STALL   (6<<2)
 
#define EPxSTATUS_EP_INVALID   (7<<2)
 
#define EPxSTATUS_FIFO_DISABLE   0x02
 
#define EPxSTATUS_STAGE_ERROR   0x01
 
#define PACKET_ACTIVE   (1<<7)
 
#define DATASIZE   0x7f
 
#define DATASET_A(epnum)   (1<<(2*(epnum)))
 
#define DATASET_B(epnum)   (2<<(2*(epnum)))
 
#define DATASET_AB(epnum)   (3<<(2*(epnum)))
 
#define USBSTATE_CONFIGURED   0x04
 
#define USBSTATE_ADDRESSED   0x02
 
#define USBSTATE_DEFAULT   0x01
 
#define COMMAND_SETDATA0   2
 
#define COMMAND_RESET   3
 
#define COMMAND_STALL   4
 
#define COMMAND_INVALID   5
 
#define COMMAND_FIFO_DISABLE   7
 
#define COMMAND_FIFO_ENABLE   8
 
#define COMMAND_INIT_DESCRIPTOR   9
 
#define COMMAND_FIFO_CLEAR   10 /* also stall */
 
#define COMMAND_STALL_CLEAR   11
 
#define COMMAND_EP(n)   ((n) << 4)
 
#define ICONTROL_STATUSNAK   1
 
#define G_REQMODE_SET_INTF   (1<<7)
 
#define G_REQMODE_GET_INTF   (1<<6)
 
#define G_REQMODE_SET_CONF   (1<<5)
 
#define G_REQMODE_GET_CONF   (1<<4)
 
#define G_REQMODE_GET_DESC   (1<<3)
 
#define G_REQMODE_SET_FEAT   (1<<2)
 
#define G_REQMODE_CLEAR_FEAT   (1<<1)
 
#define G_REQMODE_GET_STATUS   (1<<0)
 
#define DESC_LEN   0x80
 
#define MAX_FIFO_SIZE   64
 
#define MAX_EP0_SIZE   8 /* ep0 fifo is bigger, though */
 
#define xprintk(dev, level, fmt, args...)
 
#define DBG(dev, fmt, args...)   do { } while (0)
 
#define VDBG(dev, fmt, args...)   do { } while (0)
 
#define ERROR(dev, fmt, args...)   xprintk(dev , KERN_ERR , fmt , ## args)
 
#define WARNING(dev, fmt, args...)   xprintk(dev , KERN_WARNING , fmt , ## args)
 
#define INFO(dev, fmt, args...)   xprintk(dev , KERN_INFO , fmt , ## args)
 

Enumerations

enum  ep0state {
  EP0_DISCONNECT, EP0_IDLE, EP0_IN, EP0_OUT,
  EP0_STATUS, EP0_STALL, EP0_SUSPEND
}
 

Functions

struct goku_udc_regs __attribute__ ((packed))
 

Variables

u32 int_status
 
u32 int_enable
 
u32 dma_master
 
u32 out_dma_start
 
u32 out_dma_end
 
u32 out_dma_current
 
u32 in_dma_start
 
u32 in_dma_end
 
u32 in_dma_current
 
u32 power_detect
 
u8 _reserved0 [0x1d8]
 
u32 ep_fifo [4]
 
u8 _reserved1 [0x10]
 
u32 ep_mode [4]
 
u8 _reserved2 [0x10]
 
u32 ep_status [4]
 
u8 _reserved3 [0x10]
 
u32 EPxSizeLA [4]
 
u8 _reserved3a [0x10]
 
u32 EPxSizeLB [4]
 
u8 _reserved3b [0x10]
 
u32 EPxSizeHA [4]
 
u8 _reserved3c [0x10]
 
u32 EPxSizeHB [4]
 
u8 _reserved4 [0x30]
 
u32 bRequestType
 
u32 bRequest
 
u32 wValueL
 
u32 wValueH
 
u32 wIndexL
 
u32 wIndexH
 
u32 wLengthL
 
u32 wLengthH
 
u32 SetupRecv
 
u32 CurrConfig
 
u32 StdRequest
 
u32 Request
 
u32 DataSet
 
u8 _reserved5 [4]
 
u32 UsbState
 
u32 EOP
 
u32 Command
 
u32 EPxSingle
 
u8 _reserved6 [4]
 
u32 EPxBCS
 
u8 _reserved7 [8]
 
u32 IntControl
 
u8 _reserved8 [4]
 
u32 reqmode
 
u32 ReqMode
 
u8 _reserved9 [0x18]
 
u32 PortStatus
 
u8 _reserved10 [8]
 
u32 address
 
u32 buff_test
 
u8 _reserved11 [4]
 
u32 UsbReady
 
u8 _reserved12 [4]
 
u32 SetDescStall
 
u8 _reserved13 [0x45c]
 
u32 descriptors [DESC_LEN]
 
u8 _reserved14 [0x600]
 
struct goku_ep __attribute__
 

Macro Definition Documentation

#define COMMAND_EP (   n)    ((n) << 4)

Definition at line 340 of file goku_udc.h.

#define COMMAND_FIFO_CLEAR   10 /* also stall */

Definition at line 338 of file goku_udc.h.

#define COMMAND_FIFO_DISABLE   7

Definition at line 335 of file goku_udc.h.

#define COMMAND_FIFO_ENABLE   8

Definition at line 336 of file goku_udc.h.

#define COMMAND_INIT_DESCRIPTOR   9

Definition at line 337 of file goku_udc.h.

#define COMMAND_INVALID   5

Definition at line 334 of file goku_udc.h.

#define COMMAND_RESET   3

Definition at line 332 of file goku_udc.h.

#define COMMAND_SETDATA0   2

Definition at line 331 of file goku_udc.h.

#define COMMAND_STALL   4

Definition at line 333 of file goku_udc.h.

#define COMMAND_STALL_CLEAR   11

Definition at line 339 of file goku_udc.h.

#define DATASET_A (   epnum)    (1<<(2*(epnum)))

Definition at line 318 of file goku_udc.h.

#define DATASET_AB (   epnum)    (3<<(2*(epnum)))

Definition at line 320 of file goku_udc.h.

#define DATASET_B (   epnum)    (2<<(2*(epnum)))

Definition at line 319 of file goku_udc.h.

#define DATASIZE   0x7f

Definition at line 293 of file goku_udc.h.

#define DBG (   dev,
  fmt,
  args... 
)    do { } while (0)

Definition at line 275 of file goku_udc.h.

#define DESC_LEN   0x80

Definition at line 373 of file goku_udc.h.

#define EPxSTATUS_EP_BUSY   (5<<2)

Definition at line 284 of file goku_udc.h.

#define EPxSTATUS_EP_DATAIN   (1<<2)

Definition at line 280 of file goku_udc.h.

#define EPxSTATUS_EP_FULL   (2<<2)

Definition at line 281 of file goku_udc.h.

#define EPxSTATUS_EP_INVALID   (7<<2)

Definition at line 286 of file goku_udc.h.

#define EPxSTATUS_EP_MASK   (0x07<<2)

Definition at line 278 of file goku_udc.h.

#define EPxSTATUS_EP_READY   (0<<2)

Definition at line 279 of file goku_udc.h.

#define EPxSTATUS_EP_RX_ERR   (4<<2)

Definition at line 283 of file goku_udc.h.

#define EPxSTATUS_EP_STALL   (6<<2)

Definition at line 285 of file goku_udc.h.

#define EPxSTATUS_EP_TX_ERR   (3<<2)

Definition at line 282 of file goku_udc.h.

#define EPxSTATUS_FIFO_DISABLE   0x02

Definition at line 287 of file goku_udc.h.

#define EPxSTATUS_STAGE_ERROR   0x01

Definition at line 288 of file goku_udc.h.

#define EPxSTATUS_SUSPEND   0x20

Definition at line 277 of file goku_udc.h.

#define EPxSTATUS_TOGGLE   0x40

Definition at line 276 of file goku_udc.h.

#define ERROR (   dev,
  fmt,
  args... 
)    xprintk(dev , KERN_ERR , fmt , ## args)

Definition at line 286 of file goku_udc.h.

#define G_REQMODE_CLEAR_FEAT   (1<<1)

Definition at line 357 of file goku_udc.h.

#define G_REQMODE_GET_CONF   (1<<4)

Definition at line 354 of file goku_udc.h.

#define G_REQMODE_GET_DESC   (1<<3)

Definition at line 355 of file goku_udc.h.

#define G_REQMODE_GET_INTF   (1<<6)

Definition at line 352 of file goku_udc.h.

#define G_REQMODE_GET_STATUS   (1<<0)

Definition at line 358 of file goku_udc.h.

#define G_REQMODE_SET_CONF   (1<<5)

Definition at line 353 of file goku_udc.h.

#define G_REQMODE_SET_FEAT   (1<<2)

Definition at line 356 of file goku_udc.h.

#define G_REQMODE_SET_INTF   (1<<7)

Definition at line 351 of file goku_udc.h.

#define ICONTROL_STATUSNAK   1

Definition at line 347 of file goku_udc.h.

#define INFO (   dev,
  fmt,
  args... 
)    xprintk(dev , KERN_INFO , fmt , ## args)

Definition at line 290 of file goku_udc.h.

#define INT_DEVWIDE   (INT_PWRDETECT|INT_SYSERROR/*|INT_ERR*/|INT_USBRESET|INT_SUSPEND)

Definition at line 224 of file goku_udc.h.

#define INT_ENDPOINT0   0x00004

Definition at line 203 of file goku_udc.h.

#define INT_EP0   (INT_SETUP|INT_ENDPOINT0/*|INT_STATUS*/|INT_STATUSNAK)

Definition at line 226 of file goku_udc.h.

#define INT_EP1DATASET   0x00040

Definition at line 208 of file goku_udc.h.

#define INT_EP1NAK   0x00200

Definition at line 212 of file goku_udc.h.

#define INT_EP2DATASET   0x00080

Definition at line 209 of file goku_udc.h.

#define INT_EP2NAK   0x00400

Definition at line 213 of file goku_udc.h.

#define INT_EP3DATASET   0x00100

Definition at line 210 of file goku_udc.h.

#define INT_EP3NAK   0x00800

Definition at line 214 of file goku_udc.h.

#define INT_EPnNAK (   n)    (0x00100 < (n)) /* 0 < n < 4 */

Definition at line 211 of file goku_udc.h.

#define INT_EPxDATASET (   n)    (0x00020 << (n)) /* 0 < n < 4 */

Definition at line 207 of file goku_udc.h.

#define INT_ERR   0x02000

Definition at line 216 of file goku_udc.h.

#define INT_MSTRDEND   0x20000

Definition at line 220 of file goku_udc.h.

#define INT_MSTWREND   0x08000

Definition at line 218 of file goku_udc.h.

#define INT_MSTWRSET   0x04000

Definition at line 217 of file goku_udc.h.

#define INT_MSTWRTMOUT   0x10000

Definition at line 219 of file goku_udc.h.

#define INT_PWRDETECT   0x80000

Definition at line 222 of file goku_udc.h.

#define INT_SETUP   0x00008

Definition at line 204 of file goku_udc.h.

#define INT_SOF   0x01000

Definition at line 215 of file goku_udc.h.

#define INT_STATUS   0x00010

Definition at line 205 of file goku_udc.h.

#define INT_STATUSNAK   0x00020

Definition at line 206 of file goku_udc.h.

#define INT_SUSPEND   0x00001 /* or resume */

Definition at line 201 of file goku_udc.h.

#define INT_SYSERROR   0x40000

Definition at line 221 of file goku_udc.h.

#define INT_USBRESET   0x00002

Definition at line 202 of file goku_udc.h.

#define MAX_EP0_SIZE   8 /* ep0 fifo is bigger, though */

Definition at line 200 of file goku_udc.h.

#define MAX_FIFO_SIZE   64

Definition at line 199 of file goku_udc.h.

#define MST_CONNECTION   0x0001 /* 0 for ep1out/ep2in */

Definition at line 239 of file goku_udc.h.

#define MST_EOPB_DIS   0x0800

Definition at line 230 of file goku_udc.h.

#define MST_EOPB_ENA   0x0400

Definition at line 231 of file goku_udc.h.

#define MST_R_BITS
Value:

Definition at line 241 of file goku_udc.h.

#define MST_RD_ENA   0x0004 /* 1:start, 0:ignore */

Definition at line 237 of file goku_udc.h.

#define MST_RD_EOPB   0x0080 /* write-only */

Definition at line 234 of file goku_udc.h.

#define MST_RD_RESET   0x0040

Definition at line 235 of file goku_udc.h.

#define MST_RW_BITS
Value:

Definition at line 245 of file goku_udc.h.

#define MST_TIMEOUT_DIS   0x0200

Definition at line 232 of file goku_udc.h.

#define MST_TIMEOUT_ENA   0x0100

Definition at line 233 of file goku_udc.h.

#define MST_W_BITS
Value:

Definition at line 243 of file goku_udc.h.

#define MST_WR_ENA   0x0002 /* 1:start, 0:ignore */

Definition at line 238 of file goku_udc.h.

#define MST_WR_RESET   0x0020

Definition at line 236 of file goku_udc.h.

#define PACKET_ACTIVE   (1<<7)

Definition at line 292 of file goku_udc.h.

#define PW_DETECT   0x04

Definition at line 263 of file goku_udc.h.

#define PW_PULLUP   0x01

Definition at line 265 of file goku_udc.h.

#define PW_RESETB   0x02

Definition at line 264 of file goku_udc.h.

#define UDC_MSTRD_ENDPOINT   2

Definition at line 250 of file goku_udc.h.

#define UDC_MSTWR_ENDPOINT   1

Definition at line 249 of file goku_udc.h.

#define USBSTATE_ADDRESSED   0x02

Definition at line 325 of file goku_udc.h.

#define USBSTATE_CONFIGURED   0x04

Definition at line 324 of file goku_udc.h.

#define USBSTATE_DEFAULT   0x01

Definition at line 326 of file goku_udc.h.

#define VDBG (   dev,
  fmt,
  args... 
)    do { } while (0)

Definition at line 282 of file goku_udc.h.

#define WARNING (   dev,
  fmt,
  args... 
)    xprintk(dev , KERN_WARNING , fmt , ## args)

Definition at line 288 of file goku_udc.h.

#define xprintk (   dev,
  level,
  fmt,
  args... 
)
Value:
printk(level "%s %s: " fmt , driver_name , \
pci_name(dev->pdev) , ## args)

Definition at line 267 of file goku_udc.h.

Enumeration Type Documentation

enum ep0state
Enumerator:
EP0_DISCONNECT 
EP0_IDLE 
EP0_IN 
EP0_OUT 
EP0_STATUS 
EP0_STALL 
EP0_SUSPEND 

Definition at line 232 of file goku_udc.h.

Function Documentation

struct goku_udc_regs __attribute__ ( (packed)  )
read

mcontroller : adapter info structure for old mimd_t apps

: base address : irq number : number of logical drives : pci bus : pci device : pci function : pci id : vendor id : slot number : unique id

Definition at line 171 of file esd_usb2.c.

Variable Documentation

u8 _reserved0[0x1d8]

Definition at line 267 of file goku_udc.h.

u8 _reserved1[0x10]

Definition at line 271 of file goku_udc.h.

u8 _reserved10[8]

Definition at line 363 of file goku_udc.h.

u8 _reserved11[4]

Definition at line 366 of file goku_udc.h.

u8 _reserved12[4]

Definition at line 368 of file goku_udc.h.

u8 _reserved13[0x45c]

Definition at line 370 of file goku_udc.h.

u8 _reserved14[0x600]

Definition at line 375 of file goku_udc.h.

u8 _reserved2[0x10]

Definition at line 273 of file goku_udc.h.

u8 _reserved3[0x10]

Definition at line 290 of file goku_udc.h.

u8 _reserved3a[0x10]

Definition at line 294 of file goku_udc.h.

u8 _reserved3b[0x10]

Definition at line 296 of file goku_udc.h.

u8 _reserved3c[0x10]

Definition at line 298 of file goku_udc.h.

u8 _reserved4[0x30]

Definition at line 300 of file goku_udc.h.

u8 _reserved5[4]

Definition at line 321 of file goku_udc.h.

u8 _reserved6[4]

Definition at line 343 of file goku_udc.h.

u8 _reserved7[8]

Definition at line 345 of file goku_udc.h.

u8 _reserved8[4]

Definition at line 348 of file goku_udc.h.

u8 _reserved9[0x18]

Definition at line 361 of file goku_udc.h.

Definition at line 364 of file goku_udc.h.

u32 bRequest

Definition at line 304 of file goku_udc.h.

u8 bRequestType

Definition at line 303 of file goku_udc.h.

u32 buff_test

Definition at line 365 of file goku_udc.h.

u32 Command

Definition at line 330 of file goku_udc.h.

u32 CurrConfig

Definition at line 314 of file goku_udc.h.

u32 DataSet

Definition at line 317 of file goku_udc.h.

u32 descriptors[DESC_LEN]

Definition at line 374 of file goku_udc.h.

u_long dma_master

Definition at line 229 of file goku_udc.h.

u32 EOP

Definition at line 328 of file goku_udc.h.

u32 ep_fifo[4]

Definition at line 270 of file goku_udc.h.

u32 ep_mode[4]

Definition at line 272 of file goku_udc.h.

u32 ep_status[4]

Definition at line 275 of file goku_udc.h.

u32 EPxBCS

Definition at line 344 of file goku_udc.h.

u32 EPxSingle

Definition at line 342 of file goku_udc.h.

u32 EPxSizeHA[4]

Definition at line 297 of file goku_udc.h.

u32 EPxSizeHB[4]

Definition at line 299 of file goku_udc.h.

u32 EPxSizeLA[4]

Definition at line 291 of file goku_udc.h.

u32 EPxSizeLB[4]

Definition at line 295 of file goku_udc.h.

u32 in_dma_current

Definition at line 260 of file goku_udc.h.

u32 in_dma_end

Definition at line 259 of file goku_udc.h.

u32 in_dma_start

Definition at line 258 of file goku_udc.h.

u32 int_enable

Definition at line 200 of file goku_udc.h.

u32 int_status

Definition at line 199 of file goku_udc.h.

u32 IntControl

Definition at line 346 of file goku_udc.h.

u32 out_dma_current

Definition at line 255 of file goku_udc.h.

u32 out_dma_end

Definition at line 254 of file goku_udc.h.

u32 out_dma_start

Definition at line 253 of file goku_udc.h.

u32 PortStatus

Definition at line 362 of file goku_udc.h.

u32 power_detect

Definition at line 262 of file goku_udc.h.

u32 reqmode

Definition at line 350 of file goku_udc.h.

u32 ReqMode

Definition at line 360 of file goku_udc.h.

u32 Request

Definition at line 316 of file goku_udc.h.

u32 SetDescStall

Definition at line 369 of file goku_udc.h.

u32 SetupRecv

Definition at line 313 of file goku_udc.h.

u32 StdRequest

Definition at line 315 of file goku_udc.h.

u32 UsbReady

Definition at line 367 of file goku_udc.h.

u32 UsbState

Definition at line 323 of file goku_udc.h.

u32 wIndexH

Definition at line 308 of file goku_udc.h.

u32 wIndexL

Definition at line 307 of file goku_udc.h.

u32 wLengthH

Definition at line 310 of file goku_udc.h.

u32 wLengthL

Definition at line 309 of file goku_udc.h.

u32 wValueH

Definition at line 306 of file goku_udc.h.

u32 wValueL

Definition at line 305 of file goku_udc.h.