Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
oxu210hp.h File Reference
#include <linux/oxu210hp.h>

Go to the source code of this file.

Data Structures

struct  ehci_caps
 
struct  ehci_regs
 
struct  ehci_dbg_port
 
struct  ehci_qtd
 
union  ehci_shadow
 
struct  ehci_qh
 
struct  oxu_info
 
struct  oxu_buf
 
struct  oxu_onchip_mem
 
struct  oxu_murb
 
struct  oxu_hcd
 

Macros

#define OXU_DEVICEID   0x00
 
#define OXU_REV_MASK   0xffff0000
 
#define OXU_REV_SHIFT   16
 
#define OXU_REV_2100   0x2100
 
#define OXU_BO_SHIFT   8
 
#define OXU_BO_MASK   (0x3 << OXU_BO_SHIFT)
 
#define OXU_MAJ_REV_SHIFT   4
 
#define OXU_MAJ_REV_MASK   (0xf << OXU_MAJ_REV_SHIFT)
 
#define OXU_MIN_REV_SHIFT   0
 
#define OXU_MIN_REV_MASK   (0xf << OXU_MIN_REV_SHIFT)
 
#define OXU_HOSTIFCONFIG   0x04
 
#define OXU_SOFTRESET   0x08
 
#define OXU_SRESET   (1 << 0)
 
#define OXU_PIOBURSTREADCTRL   0x0C
 
#define OXU_CHIPIRQSTATUS   0x10
 
#define OXU_CHIPIRQEN_SET   0x14
 
#define OXU_CHIPIRQEN_CLR   0x18
 
#define OXU_USBSPHLPWUI   0x00000080
 
#define OXU_USBOTGLPWUI   0x00000040
 
#define OXU_USBSPHI   0x00000002
 
#define OXU_USBOTGI   0x00000001
 
#define OXU_CLKCTRL_SET   0x1C
 
#define OXU_SYSCLKEN   0x00000008
 
#define OXU_USBSPHCLKEN   0x00000002
 
#define OXU_USBOTGCLKEN   0x00000001
 
#define OXU_ASO   0x68
 
#define OXU_SPHPOEN   0x00000100
 
#define OXU_OVRCCURPUPDEN   0x00000800
 
#define OXU_ASO_OP   (1 << 10)
 
#define OXU_COMPARATOR   0x000004000
 
#define OXU_USBMODE   0x1A8
 
#define OXU_VBPS   0x00000020
 
#define OXU_ES_LITTLE   0x00000000
 
#define OXU_CM_HOST_ONLY   0x00000003
 
#define EHCI_TUNE_CERR   3 /* 0-3 qtd retries; 0 == don't stop */
 
#define EHCI_TUNE_RL_HS   4 /* nak throttle; see 4.9 */
 
#define EHCI_TUNE_RL_TT   0
 
#define EHCI_TUNE_MULT_HS   1 /* 1-3 transactions/uframe; 4.10.3 */
 
#define EHCI_TUNE_MULT_TT   1
 
#define EHCI_TUNE_FLS   2 /* (small) 256 frame schedule */
 
#define HC_LENGTH(p)   (((p)>>00)&0x00ff) /* bits 7:0 */
 
#define HC_VERSION(p)   (((p)>>16)&0xffff) /* bits 31:16 */
 
#define HCS_DEBUG_PORT(p)   (((p)>>20)&0xf) /* bits 23:20, debug port? */
 
#define HCS_INDICATOR(p)   ((p)&(1 << 16)) /* true: has port indicators */
 
#define HCS_N_CC(p)   (((p)>>12)&0xf) /* bits 15:12, #companion HCs */
 
#define HCS_N_PCC(p)   (((p)>>8)&0xf) /* bits 11:8, ports per CC */
 
#define HCS_PORTROUTED(p)   ((p)&(1 << 7)) /* true: port routing */
 
#define HCS_PPC(p)   ((p)&(1 << 4)) /* true: port power control */
 
#define HCS_N_PORTS(p)   (((p)>>0)&0xf) /* bits 3:0, ports on HC */
 
#define HCC_EXT_CAPS(p)   (((p)>>8)&0xff) /* for pci extended caps */
 
#define HCC_ISOC_CACHE(p)   ((p)&(1 << 7)) /* true: can cache isoc frame */
 
#define HCC_ISOC_THRES(p)   (((p)>>4)&0x7) /* bits 6:4, uframes cached */
 
#define HCC_CANPARK(p)   ((p)&(1 << 2)) /* true: can park on async qh */
 
#define HCC_PGM_FRAMELISTLEN(p)   ((p)&(1 << 1)) /* true: periodic_size changes*/
 
#define HCC_64BIT_ADDR(p)   ((p)&(1)) /* true: can use 64-bit addr */
 
#define CMD_PARK   (1<<11) /* enable "park" on async qh */
 
#define CMD_PARK_CNT(c)   (((c)>>8)&3) /* how many transfers to park for */
 
#define CMD_LRESET   (1<<7) /* partial reset (no ports, etc) */
 
#define CMD_IAAD   (1<<6) /* "doorbell" interrupt async advance */
 
#define CMD_ASE   (1<<5) /* async schedule enable */
 
#define CMD_PSE   (1<<4) /* periodic schedule enable */
 
#define CMD_RESET   (1<<1) /* reset HC not bus */
 
#define CMD_RUN   (1<<0) /* start/stop HC */
 
#define STS_ASS   (1<<15) /* Async Schedule Status */
 
#define STS_PSS   (1<<14) /* Periodic Schedule Status */
 
#define STS_RECL   (1<<13) /* Reclamation */
 
#define STS_HALT   (1<<12) /* Not running (any reason) */
 
#define STS_IAA   (1<<5) /* Interrupted on async advance */
 
#define STS_FATAL   (1<<4) /* such as some PCI access errors */
 
#define STS_FLR   (1<<3) /* frame list rolled over */
 
#define STS_PCD   (1<<2) /* port change detect */
 
#define STS_ERR   (1<<1) /* "error" completion (overflow, ...) */
 
#define STS_INT   (1<<0) /* "normal" completion (short, ...) */
 
#define INTR_MASK   (STS_IAA | STS_FATAL | STS_PCD | STS_ERR | STS_INT)
 
#define FLAG_CF   (1<<0) /* true: we'll support "high speed" */
 
#define PORT_WKOC_E   (1<<22) /* wake on overcurrent (enable) */
 
#define PORT_WKDISC_E   (1<<21) /* wake on disconnect (enable) */
 
#define PORT_WKCONN_E   (1<<20) /* wake on connect (enable) */
 
#define PORT_LED_OFF   (0<<14)
 
#define PORT_LED_AMBER   (1<<14)
 
#define PORT_LED_GREEN   (2<<14)
 
#define PORT_LED_MASK   (3<<14)
 
#define PORT_OWNER   (1<<13) /* true: companion hc owns this port */
 
#define PORT_POWER   (1<<12) /* true: has power (see PPC) */
 
#define PORT_USB11(x)   (((x)&(3<<10)) == (1<<10)) /* USB 1.1 device */
 
#define PORT_RESET   (1<<8) /* reset port */
 
#define PORT_SUSPEND   (1<<7) /* suspend port */
 
#define PORT_RESUME   (1<<6) /* resume it */
 
#define PORT_OCC   (1<<5) /* over current change */
 
#define PORT_OC   (1<<4) /* over current active */
 
#define PORT_PEC   (1<<3) /* port enable change */
 
#define PORT_PE   (1<<2) /* port enable */
 
#define PORT_CSC   (1<<1) /* connect status change */
 
#define PORT_CONNECT   (1<<0) /* device connected */
 
#define PORT_RWC_BITS   (PORT_CSC | PORT_PEC | PORT_OCC)
 
#define DBGP_OWNER   (1<<30)
 
#define DBGP_ENABLED   (1<<28)
 
#define DBGP_DONE   (1<<16)
 
#define DBGP_INUSE   (1<<10)
 
#define DBGP_ERRCODE(x)   (((x)>>7)&0x07)
 
#define DBGP_ERR_BAD   1
 
#define DBGP_ERR_SIGNAL   2
 
#define DBGP_ERROR   (1<<6)
 
#define DBGP_GO   (1<<5)
 
#define DBGP_OUT   (1<<4)
 
#define DBGP_LEN(x)   (((x)>>0)&0x0f)
 
#define DBGP_PID_GET(x)   (((x)>>16)&0xff)
 
#define DBGP_PID_SET(data, tok)   (((data)<<8)|(tok))
 
#define DBGP_EPADDR(dev, ep)   (((dev)<<8)|(ep))
 
#define QTD_NEXT(dma)   cpu_to_le32((u32)dma)
 
#define QTD_TOGGLE   (1 << 31) /* data toggle */
 
#define QTD_LENGTH(tok)   (((tok)>>16) & 0x7fff)
 
#define QTD_IOC   (1 << 15) /* interrupt on complete */
 
#define QTD_CERR(tok)   (((tok)>>10) & 0x3)
 
#define QTD_PID(tok)   (((tok)>>8) & 0x3)
 
#define QTD_STS_ACTIVE   (1 << 7) /* HC may execute this */
 
#define QTD_STS_HALT   (1 << 6) /* halted on error */
 
#define QTD_STS_DBE   (1 << 5) /* data buffer error (in HC) */
 
#define QTD_STS_BABBLE   (1 << 4) /* device was babbling (qtd halted) */
 
#define QTD_STS_XACT   (1 << 3) /* device gave illegal response */
 
#define QTD_STS_MMF   (1 << 2) /* incomplete split transaction */
 
#define QTD_STS_STS   (1 << 1) /* split transaction state */
 
#define QTD_STS_PING   (1 << 0) /* issue PING? */
 
#define QTD_MASK   cpu_to_le32 (~0x1f)
 
#define IS_SHORT_READ(token)   (QTD_LENGTH(token) != 0 && QTD_PID(token) == 1)
 
#define Q_NEXT_TYPE(dma)   ((dma) & cpu_to_le32 (3 << 1))
 
#define Q_TYPE_QH   cpu_to_le32 (1 << 1)
 
#define QH_NEXT(dma)   (cpu_to_le32(((u32)dma)&~0x01f)|Q_TYPE_QH)
 
#define EHCI_LIST_END   cpu_to_le32(1) /* "null pointer" to hw */
 
#define QH_HEAD   0x00008000
 
#define QH_SMASK   0x000000ff
 
#define QH_CMASK   0x0000ff00
 
#define QH_HUBADDR   0x007f0000
 
#define QH_HUBPORT   0x3f800000
 
#define QH_MULT   0xc0000000
 
#define QH_STATE_LINKED   1 /* HC sees this */
 
#define QH_STATE_UNLINK   2 /* HC may still see this */
 
#define QH_STATE_IDLE   3 /* HC doesn't see this */
 
#define QH_STATE_UNLINK_WAIT   4 /* LINKED and on reclaim q */
 
#define QH_STATE_COMPLETING   5 /* don't touch token.HALT */
 
#define NO_FRAME   ((unsigned short)~0) /* pick new start */
 
#define OXU_OTG_CORE_OFFSET   0x00400
 
#define OXU_OTG_CAP_OFFSET   (OXU_OTG_CORE_OFFSET + 0x100)
 
#define OXU_SPH_CORE_OFFSET   0x00800
 
#define OXU_SPH_CAP_OFFSET   (OXU_SPH_CORE_OFFSET + 0x100)
 
#define OXU_OTG_MEM   0xE000
 
#define OXU_SPH_MEM   0x16000
 
#define DEFAULT_I_TDPS   1024
 
#define QHEAD_NUM   16
 
#define QTD_NUM   32
 
#define SITD_NUM   8
 
#define MURB_NUM   8
 
#define BUFFER_NUM   8
 
#define BUFFER_SIZE   512
 
#define EHCI_MAX_ROOT_PORTS   15 /* see HCS_N_PORTS */
 
#define EHCI_IAA_JIFFIES   (HZ/100) /* arbitrary; ~10 msec */
 
#define EHCI_IO_JIFFIES   (HZ/10) /* io watchdog > irq_thresh */
 
#define EHCI_ASYNC_JIFFIES   (HZ/20) /* async idle timeout */
 
#define EHCI_SHRINK_JIFFIES   (HZ/200) /* async qh unlink delay */
 

Enumerations

enum  ehci_timer_action { TIMER_IO_WATCHDOG, TIMER_IAA_WATCHDOG, TIMER_ASYNC_SHRINK, TIMER_ASYNC_OFF }
 

Functions

struct ehci_caps __attribute__ ((packed))
 
struct ehci_qtd __attribute__ ((aligned(32)))
 
struct oxu_buf __attribute__ ((aligned(BUFFER_SIZE)))
 
struct oxu_onchip_mem __attribute__ ((aligned(4<< 10)))
 

Variables

u32 hc_capbase
 
u32 hcs_params
 
u32 hcc_params
 
u8 portroute [8]
 
u32 command
 
u32 status
 
u32 intr_enable
 
u32 frame_index
 
u32 segment
 
u32 frame_list
 
u32 async_next
 
u32 reserved [9]
 
u32 configured_flag
 
u32 port_status [0]
 
u32 control
 
u32 pids
 
u32 data03
 
u32 data47
 
u32 address
 
__le32 hw_next
 
__le32 hw_alt_next
 
__le32 hw_token
 
__le32 hw_buf [5]
 
__le32 hw_buf_hi [5]
 
dma_addr_t qtd_dma
 
struct list_head qtd_list
 
struct urb * urb
 
size_t length
 
u32 qtd_buffer_len
 
voidbuffer
 
dma_addr_t buffer_dma
 
voidtransfer_buffer
 
voidtransfer_dma
 
union ehci_shadow __attribute__
 
__le32 hw_info1
 
__le32 hw_info2
 
__le32 hw_current
 
__le32 hw_qtd_next
 
dma_addr_t qh_dma
 
union ehci_shadow qh_next
 
struct ehci_qtddummy
 
struct ehci_qhreclaim
 
struct oxu_hcdoxu
 
struct kref kref
 
unsigned stamp
 
u8 qh_state
 
u8 usecs
 
u8 gap_uf
 
u8 c_usecs
 
u16 tt_usecs
 
unsigned short period
 
unsigned short start
 
struct usb_device * dev
 
struct oxu_buf db_pool [BUFFER_NUM]
 
struct ehci_qh qh_pool [QHEAD_NUM]
 
struct ehci_qtd qtd_pool [QTD_NUM]
 

Macro Definition Documentation

#define BUFFER_NUM   8

Definition at line 345 of file oxu210hp.h.

#define BUFFER_SIZE   512

Definition at line 346 of file oxu210hp.h.

#define CMD_ASE   (1<<5) /* async schedule enable */

Definition at line 173 of file oxu210hp.h.

#define CMD_IAAD   (1<<6) /* "doorbell" interrupt async advance */

Definition at line 172 of file oxu210hp.h.

#define CMD_LRESET   (1<<7) /* partial reset (no ports, etc) */

Definition at line 171 of file oxu210hp.h.

#define CMD_PARK   (1<<11) /* enable "park" on async qh */

Definition at line 169 of file oxu210hp.h.

#define CMD_PARK_CNT (   c)    (((c)>>8)&3) /* how many transfers to park for */

Definition at line 170 of file oxu210hp.h.

#define CMD_PSE   (1<<4) /* periodic schedule enable */

Definition at line 174 of file oxu210hp.h.

#define CMD_RESET   (1<<1) /* reset HC not bus */

Definition at line 176 of file oxu210hp.h.

#define CMD_RUN   (1<<0) /* start/stop HC */

Definition at line 177 of file oxu210hp.h.

#define DBGP_DONE   (1<<16)

Definition at line 194 of file oxu210hp.h.

#define DBGP_ENABLED   (1<<28)

Definition at line 193 of file oxu210hp.h.

#define DBGP_EPADDR (   dev,
  ep 
)    (((dev)<<8)|(ep))

Definition at line 209 of file oxu210hp.h.

#define DBGP_ERR_BAD   1

Definition at line 197 of file oxu210hp.h.

#define DBGP_ERR_SIGNAL   2

Definition at line 198 of file oxu210hp.h.

#define DBGP_ERRCODE (   x)    (((x)>>7)&0x07)

Definition at line 196 of file oxu210hp.h.

#define DBGP_ERROR   (1<<6)

Definition at line 199 of file oxu210hp.h.

#define DBGP_GO   (1<<5)

Definition at line 200 of file oxu210hp.h.

#define DBGP_INUSE   (1<<10)

Definition at line 195 of file oxu210hp.h.

#define DBGP_LEN (   x)    (((x)>>0)&0x0f)

Definition at line 202 of file oxu210hp.h.

#define DBGP_OUT   (1<<4)

Definition at line 201 of file oxu210hp.h.

#define DBGP_OWNER   (1<<30)

Definition at line 192 of file oxu210hp.h.

#define DBGP_PID_GET (   x)    (((x)>>16)&0xff)

Definition at line 204 of file oxu210hp.h.

#define DBGP_PID_SET (   data,
  tok 
)    (((data)<<8)|(tok))

Definition at line 205 of file oxu210hp.h.

#define DEFAULT_I_TDPS   1024

Definition at line 339 of file oxu210hp.h.

#define EHCI_ASYNC_JIFFIES   (HZ/20) /* async idle timeout */

Definition at line 437 of file oxu210hp.h.

#define EHCI_IAA_JIFFIES   (HZ/100) /* arbitrary; ~10 msec */

Definition at line 435 of file oxu210hp.h.

#define EHCI_IO_JIFFIES   (HZ/10) /* io watchdog > irq_thresh */

Definition at line 436 of file oxu210hp.h.

#define EHCI_LIST_END   cpu_to_le32(1) /* "null pointer" to hw */

Definition at line 252 of file oxu210hp.h.

#define EHCI_MAX_ROOT_PORTS   15 /* see HCS_N_PORTS */

Definition at line 364 of file oxu210hp.h.

#define EHCI_SHRINK_JIFFIES   (HZ/200) /* async qh unlink delay */

Definition at line 438 of file oxu210hp.h.

#define EHCI_TUNE_CERR   3 /* 0-3 qtd retries; 0 == don't stop */

Definition at line 50 of file oxu210hp.h.

#define EHCI_TUNE_FLS   2 /* (small) 256 frame schedule */

Definition at line 55 of file oxu210hp.h.

#define EHCI_TUNE_MULT_HS   1 /* 1-3 transactions/uframe; 4.10.3 */

Definition at line 53 of file oxu210hp.h.

#define EHCI_TUNE_MULT_TT   1

Definition at line 54 of file oxu210hp.h.

#define EHCI_TUNE_RL_HS   4 /* nak throttle; see 4.9 */

Definition at line 51 of file oxu210hp.h.

#define EHCI_TUNE_RL_TT   0

Definition at line 52 of file oxu210hp.h.

#define FLAG_CF   (1<<0) /* true: we'll support "high speed" */

Definition at line 212 of file oxu210hp.h.

#define HC_LENGTH (   p)    (((p)>>00)&0x00ff) /* bits 7:0 */

Definition at line 91 of file oxu210hp.h.

#define HC_VERSION (   p)    (((p)>>16)&0xffff) /* bits 31:16 */

Definition at line 92 of file oxu210hp.h.

#define HCC_64BIT_ADDR (   p)    ((p)&(1)) /* true: can use 64-bit addr */

Definition at line 108 of file oxu210hp.h.

#define HCC_CANPARK (   p)    ((p)&(1 << 2)) /* true: can park on async qh */

Definition at line 106 of file oxu210hp.h.

#define HCC_EXT_CAPS (   p)    (((p)>>8)&0xff) /* for pci extended caps */

Definition at line 103 of file oxu210hp.h.

#define HCC_ISOC_CACHE (   p)    ((p)&(1 << 7)) /* true: can cache isoc frame */

Definition at line 104 of file oxu210hp.h.

#define HCC_ISOC_THRES (   p)    (((p)>>4)&0x7) /* bits 6:4, uframes cached */

Definition at line 105 of file oxu210hp.h.

#define HCC_PGM_FRAMELISTLEN (   p)    ((p)&(1 << 1)) /* true: periodic_size changes*/

Definition at line 107 of file oxu210hp.h.

#define HCS_DEBUG_PORT (   p)    (((p)>>20)&0xf) /* bits 23:20, debug port? */

Definition at line 94 of file oxu210hp.h.

#define HCS_INDICATOR (   p)    ((p)&(1 << 16)) /* true: has port indicators */

Definition at line 95 of file oxu210hp.h.

#define HCS_N_CC (   p)    (((p)>>12)&0xf) /* bits 15:12, #companion HCs */

Definition at line 96 of file oxu210hp.h.

#define HCS_N_PCC (   p)    (((p)>>8)&0xf) /* bits 11:8, ports per CC */

Definition at line 97 of file oxu210hp.h.

#define HCS_N_PORTS (   p)    (((p)>>0)&0xf) /* bits 3:0, ports on HC */

Definition at line 100 of file oxu210hp.h.

#define HCS_PORTROUTED (   p)    ((p)&(1 << 7)) /* true: port routing */

Definition at line 98 of file oxu210hp.h.

#define HCS_PPC (   p)    ((p)&(1 << 4)) /* true: port power control */

Definition at line 99 of file oxu210hp.h.

#define INTR_MASK   (STS_IAA | STS_FATAL | STS_PCD | STS_ERR | STS_INT)

Definition at line 194 of file oxu210hp.h.

#define IS_SHORT_READ (   token)    (QTD_LENGTH(token) != 0 && QTD_PID(token) == 1)

Definition at line 240 of file oxu210hp.h.

#define MURB_NUM   8

Definition at line 343 of file oxu210hp.h.

#define NO_FRAME   ((unsigned short)~0) /* pick new start */

Definition at line 368 of file oxu210hp.h.

#define OXU_ASO   0x68

Definition at line 34 of file oxu210hp.h.

#define OXU_ASO_OP   (1 << 10)

Definition at line 37 of file oxu210hp.h.

#define OXU_BO_MASK   (0x3 << OXU_BO_SHIFT)

Definition at line 10 of file oxu210hp.h.

#define OXU_BO_SHIFT   8

Definition at line 9 of file oxu210hp.h.

#define OXU_CHIPIRQEN_CLR   0x18

Definition at line 23 of file oxu210hp.h.

#define OXU_CHIPIRQEN_SET   0x14

Definition at line 22 of file oxu210hp.h.

#define OXU_CHIPIRQSTATUS   0x10

Definition at line 21 of file oxu210hp.h.

#define OXU_CLKCTRL_SET   0x1C

Definition at line 29 of file oxu210hp.h.

#define OXU_CM_HOST_ONLY   0x00000003

Definition at line 43 of file oxu210hp.h.

#define OXU_COMPARATOR   0x000004000

Definition at line 38 of file oxu210hp.h.

#define OXU_DEVICEID   0x00

Definition at line 5 of file oxu210hp.h.

#define OXU_ES_LITTLE   0x00000000

Definition at line 42 of file oxu210hp.h.

#define OXU_HOSTIFCONFIG   0x04

Definition at line 15 of file oxu210hp.h.

#define OXU_MAJ_REV_MASK   (0xf << OXU_MAJ_REV_SHIFT)

Definition at line 12 of file oxu210hp.h.

#define OXU_MAJ_REV_SHIFT   4

Definition at line 11 of file oxu210hp.h.

#define OXU_MIN_REV_MASK   (0xf << OXU_MIN_REV_SHIFT)

Definition at line 14 of file oxu210hp.h.

#define OXU_MIN_REV_SHIFT   0

Definition at line 13 of file oxu210hp.h.

#define OXU_OTG_CAP_OFFSET   (OXU_OTG_CORE_OFFSET + 0x100)

Definition at line 330 of file oxu210hp.h.

#define OXU_OTG_CORE_OFFSET   0x00400

Definition at line 329 of file oxu210hp.h.

#define OXU_OTG_MEM   0xE000

Definition at line 334 of file oxu210hp.h.

#define OXU_OVRCCURPUPDEN   0x00000800

Definition at line 36 of file oxu210hp.h.

#define OXU_PIOBURSTREADCTRL   0x0C

Definition at line 19 of file oxu210hp.h.

#define OXU_REV_2100   0x2100

Definition at line 8 of file oxu210hp.h.

#define OXU_REV_MASK   0xffff0000

Definition at line 6 of file oxu210hp.h.

#define OXU_REV_SHIFT   16

Definition at line 7 of file oxu210hp.h.

#define OXU_SOFTRESET   0x08

Definition at line 16 of file oxu210hp.h.

#define OXU_SPH_CAP_OFFSET   (OXU_SPH_CORE_OFFSET + 0x100)

Definition at line 332 of file oxu210hp.h.

#define OXU_SPH_CORE_OFFSET   0x00800

Definition at line 331 of file oxu210hp.h.

#define OXU_SPH_MEM   0x16000

Definition at line 335 of file oxu210hp.h.

#define OXU_SPHPOEN   0x00000100

Definition at line 35 of file oxu210hp.h.

#define OXU_SRESET   (1 << 0)

Definition at line 17 of file oxu210hp.h.

#define OXU_SYSCLKEN   0x00000008

Definition at line 30 of file oxu210hp.h.

#define OXU_USBMODE   0x1A8

Definition at line 40 of file oxu210hp.h.

#define OXU_USBOTGCLKEN   0x00000001

Definition at line 32 of file oxu210hp.h.

#define OXU_USBOTGI   0x00000001

Definition at line 27 of file oxu210hp.h.

#define OXU_USBOTGLPWUI   0x00000040

Definition at line 25 of file oxu210hp.h.

#define OXU_USBSPHCLKEN   0x00000002

Definition at line 31 of file oxu210hp.h.

#define OXU_USBSPHI   0x00000002

Definition at line 26 of file oxu210hp.h.

#define OXU_USBSPHLPWUI   0x00000080

Definition at line 24 of file oxu210hp.h.

#define OXU_VBPS   0x00000020

Definition at line 41 of file oxu210hp.h.

#define PORT_CONNECT   (1<<0) /* device connected */

Definition at line 238 of file oxu210hp.h.

#define PORT_CSC   (1<<1) /* connect status change */

Definition at line 237 of file oxu210hp.h.

#define PORT_LED_AMBER   (1<<14)

Definition at line 222 of file oxu210hp.h.

#define PORT_LED_GREEN   (2<<14)

Definition at line 223 of file oxu210hp.h.

#define PORT_LED_MASK   (3<<14)

Definition at line 224 of file oxu210hp.h.

#define PORT_LED_OFF   (0<<14)

Definition at line 221 of file oxu210hp.h.

#define PORT_OC   (1<<4) /* over current active */

Definition at line 234 of file oxu210hp.h.

#define PORT_OCC   (1<<5) /* over current change */

Definition at line 233 of file oxu210hp.h.

#define PORT_OWNER   (1<<13) /* true: companion hc owns this port */

Definition at line 225 of file oxu210hp.h.

#define PORT_PE   (1<<2) /* port enable */

Definition at line 236 of file oxu210hp.h.

#define PORT_PEC   (1<<3) /* port enable change */

Definition at line 235 of file oxu210hp.h.

#define PORT_POWER   (1<<12) /* true: has power (see PPC) */

Definition at line 226 of file oxu210hp.h.

#define PORT_RESET   (1<<8) /* reset port */

Definition at line 230 of file oxu210hp.h.

#define PORT_RESUME   (1<<6) /* resume it */

Definition at line 232 of file oxu210hp.h.

#define PORT_RWC_BITS   (PORT_CSC | PORT_PEC | PORT_OCC)

Definition at line 239 of file oxu210hp.h.

#define PORT_SUSPEND   (1<<7) /* suspend port */

Definition at line 231 of file oxu210hp.h.

#define PORT_USB11 (   x)    (((x)&(3<<10)) == (1<<10)) /* USB 1.1 device */

Definition at line 227 of file oxu210hp.h.

#define PORT_WKCONN_E   (1<<20) /* wake on connect (enable) */

Definition at line 219 of file oxu210hp.h.

#define PORT_WKDISC_E   (1<<21) /* wake on disconnect (enable) */

Definition at line 218 of file oxu210hp.h.

#define PORT_WKOC_E   (1<<22) /* wake on overcurrent (enable) */

Definition at line 217 of file oxu210hp.h.

#define Q_NEXT_TYPE (   dma)    ((dma) & cpu_to_le32 (3 << 1))

Definition at line 243 of file oxu210hp.h.

#define Q_TYPE_QH   cpu_to_le32 (1 << 1)

Definition at line 246 of file oxu210hp.h.

#define QH_CMASK   0x0000ff00

Definition at line 330 of file oxu210hp.h.

#define QH_HEAD   0x00008000

Definition at line 327 of file oxu210hp.h.

#define QH_HUBADDR   0x007f0000

Definition at line 331 of file oxu210hp.h.

#define QH_HUBPORT   0x3f800000

Definition at line 332 of file oxu210hp.h.

#define QH_MULT   0xc0000000

Definition at line 333 of file oxu210hp.h.

#define QH_NEXT (   dma)    (cpu_to_le32(((u32)dma)&~0x01f)|Q_TYPE_QH)

Definition at line 249 of file oxu210hp.h.

#define QH_SMASK   0x000000ff

Definition at line 329 of file oxu210hp.h.

#define QH_STATE_COMPLETING   5 /* don't touch token.HALT */

Definition at line 359 of file oxu210hp.h.

#define QH_STATE_IDLE   3 /* HC doesn't see this */

Definition at line 357 of file oxu210hp.h.

#define QH_STATE_LINKED   1 /* HC sees this */

Definition at line 355 of file oxu210hp.h.

#define QH_STATE_UNLINK   2 /* HC may still see this */

Definition at line 356 of file oxu210hp.h.

#define QH_STATE_UNLINK_WAIT   4 /* LINKED and on reclaim q */

Definition at line 358 of file oxu210hp.h.

#define QHEAD_NUM   16

Definition at line 340 of file oxu210hp.h.

#define QTD_CERR (   tok)    (((tok)>>10) & 0x3)

Definition at line 243 of file oxu210hp.h.

#define QTD_IOC   (1 << 15) /* interrupt on complete */

Definition at line 242 of file oxu210hp.h.

#define QTD_LENGTH (   tok)    (((tok)>>16) & 0x7fff)

Definition at line 241 of file oxu210hp.h.

#define QTD_MASK   cpu_to_le32 (~0x1f)

Definition at line 238 of file oxu210hp.h.

#define QTD_NEXT (   dma)    cpu_to_le32((u32)dma)

Definition at line 193 of file oxu210hp.h.

#define QTD_NUM   32

Definition at line 341 of file oxu210hp.h.

#define QTD_PID (   tok)    (((tok)>>8) & 0x3)

Definition at line 244 of file oxu210hp.h.

#define QTD_STS_ACTIVE   (1 << 7) /* HC may execute this */

Definition at line 245 of file oxu210hp.h.

#define QTD_STS_BABBLE   (1 << 4) /* device was babbling (qtd halted) */

Definition at line 248 of file oxu210hp.h.

#define QTD_STS_DBE   (1 << 5) /* data buffer error (in HC) */

Definition at line 247 of file oxu210hp.h.

#define QTD_STS_HALT   (1 << 6) /* halted on error */

Definition at line 246 of file oxu210hp.h.

#define QTD_STS_MMF   (1 << 2) /* incomplete split transaction */

Definition at line 250 of file oxu210hp.h.

#define QTD_STS_PING   (1 << 0) /* issue PING? */

Definition at line 252 of file oxu210hp.h.

#define QTD_STS_STS   (1 << 1) /* split transaction state */

Definition at line 251 of file oxu210hp.h.

#define QTD_STS_XACT   (1 << 3) /* device gave illegal response */

Definition at line 249 of file oxu210hp.h.

#define QTD_TOGGLE   (1 << 31) /* data toggle */

Definition at line 240 of file oxu210hp.h.

#define SITD_NUM   8

Definition at line 342 of file oxu210hp.h.

#define STS_ASS   (1<<15) /* Async Schedule Status */

Definition at line 181 of file oxu210hp.h.

#define STS_ERR   (1<<1) /* "error" completion (overflow, ...) */

Definition at line 191 of file oxu210hp.h.

#define STS_FATAL   (1<<4) /* such as some PCI access errors */

Definition at line 188 of file oxu210hp.h.

#define STS_FLR   (1<<3) /* frame list rolled over */

Definition at line 189 of file oxu210hp.h.

#define STS_HALT   (1<<12) /* Not running (any reason) */

Definition at line 184 of file oxu210hp.h.

#define STS_IAA   (1<<5) /* Interrupted on async advance */

Definition at line 187 of file oxu210hp.h.

#define STS_INT   (1<<0) /* "normal" completion (short, ...) */

Definition at line 192 of file oxu210hp.h.

#define STS_PCD   (1<<2) /* port change detect */

Definition at line 190 of file oxu210hp.h.

#define STS_PSS   (1<<14) /* Periodic Schedule Status */

Definition at line 182 of file oxu210hp.h.

#define STS_RECL   (1<<13) /* Reclamation */

Definition at line 183 of file oxu210hp.h.

Enumeration Type Documentation

Enumerator:
TIMER_IO_WATCHDOG 
TIMER_IAA_WATCHDOG 
TIMER_ASYNC_SHRINK 
TIMER_ASYNC_OFF 

Definition at line 440 of file oxu210hp.h.

Function Documentation

struct ehci_caps __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

Definition at line 208 of file oxu210hp.h.

u32 async_next

Definition at line 206 of file oxu210hp.h.

Definition at line 263 of file oxu210hp.h.

dma_addr_t buffer_dma

Definition at line 264 of file oxu210hp.h.

u8 c_usecs

Definition at line 364 of file oxu210hp.h.

Definition at line 167 of file oxu210hp.h.

u32 configured_flag

Definition at line 211 of file oxu210hp.h.

u32 control

Definition at line 191 of file oxu210hp.h.

u32 data03

Definition at line 206 of file oxu210hp.h.

u32 data47

Definition at line 207 of file oxu210hp.h.

Definition at line 363 of file oxu210hp.h.

struct usb_device* dev

Definition at line 369 of file oxu210hp.h.

Definition at line 347 of file oxu210hp.h.

u32 frame_index

Definition at line 200 of file oxu210hp.h.

u32 frame_list

Definition at line 204 of file oxu210hp.h.

u8 gap_uf

Definition at line 363 of file oxu210hp.h.

u32 hc_capbase

Definition at line 90 of file oxu210hp.h.

u32 hcc_params

Definition at line 102 of file oxu210hp.h.

u32 hcs_params

Definition at line 93 of file oxu210hp.h.

__le32 hw_alt_next

Definition at line 238 of file oxu210hp.h.

__le32 hw_buf[5]

Definition at line 253 of file oxu210hp.h.

__le32 hw_buf_hi[5]

Definition at line 254 of file oxu210hp.h.

__le32 hw_current

Definition at line 334 of file oxu210hp.h.

__le32 hw_info1

Definition at line 326 of file oxu210hp.h.

__le32 hw_info2

Definition at line 328 of file oxu210hp.h.

__le32 hw_next

Definition at line 237 of file oxu210hp.h.

__le32 hw_qtd_next

Definition at line 337 of file oxu210hp.h.

__le32 hw_token

Definition at line 239 of file oxu210hp.h.

u32 intr_enable

Definition at line 197 of file oxu210hp.h.

Definition at line 351 of file oxu210hp.h.

size_t length

Definition at line 260 of file oxu210hp.h.

Definition at line 350 of file oxu210hp.h.

unsigned short period

Definition at line 366 of file oxu210hp.h.

u32 pids

Definition at line 203 of file oxu210hp.h.

u32 port_status[0]

Definition at line 215 of file oxu210hp.h.

u8 portroute[8]

Definition at line 109 of file oxu210hp.h.

dma_addr_t qh_dma

Definition at line 344 of file oxu210hp.h.

union ehci_shadow qh_next

Definition at line 345 of file oxu210hp.h.

Definition at line 366 of file oxu210hp.h.

u8 qh_state

Definition at line 354 of file oxu210hp.h.

u32 qtd_buffer_len

Definition at line 262 of file oxu210hp.h.

dma_addr_t qtd_dma

Definition at line 257 of file oxu210hp.h.

struct list_head qtd_list

Definition at line 258 of file oxu210hp.h.

struct ehci_qtd qtd_pool[QTD_NUM]

Definition at line 367 of file oxu210hp.h.

struct ehci_qh* reclaim

Definition at line 348 of file oxu210hp.h.

u32 reserved[9]

Definition at line 208 of file oxu210hp.h.

u32 segment

Definition at line 202 of file oxu210hp.h.

unsigned stamp

Definition at line 352 of file oxu210hp.h.

unsigned short start

Definition at line 367 of file oxu210hp.h.

Definition at line 180 of file oxu210hp.h.

void* transfer_buffer

Definition at line 265 of file oxu210hp.h.

void* transfer_dma

Definition at line 266 of file oxu210hp.h.

u16 tt_usecs

Definition at line 365 of file oxu210hp.h.

struct urb* urb

Definition at line 259 of file oxu210hp.h.

u8 usecs

Definition at line 362 of file oxu210hp.h.