⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net2280.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 3 页
字号:
#define     ENDPOINT_SET_CLEAR_HALT                             12#define     DEVICE_SET_CLEAR_DEVICE_REMOTE_WAKEUP               11#define     GET_STRING_DESCRIPTOR_2                             10#define     GET_STRING_DESCRIPTOR_1                             9#define     GET_STRING_DESCRIPTOR_0                             8#define     GET_SET_INTERFACE                                   6#define     GET_SET_CONFIGURATION                               5#define     GET_CONFIGURATION_DESCRIPTOR                        4#define     GET_DEVICE_DESCRIPTOR                               3#define     GET_ENDPOINT_STATUS                                 2#define     GET_INTERFACE_STATUS                                1#define     GET_DEVICE_STATUS                                   0	u32		prodvendid;#define     PRODUCT_ID                                          16#define     VENDOR_ID                                           0	u32		relnum;	u32		usbctl;#define     SERIAL_NUMBER_INDEX                                 16#define     PRODUCT_ID_STRING_ENABLE                            13#define     VENDOR_ID_STRING_ENABLE                             12#define     USB_ROOT_PORT_WAKEUP_ENABLE                         11#define     VBUS_PIN                                            10#define     TIMED_DISCONNECT                                    9#define     SUSPEND_IMMEDIATELY                                 7#define     SELF_POWERED_USB_DEVICE                             6#define     REMOTE_WAKEUP_SUPPORT                               5#define     PME_POLARITY                                        4#define     USB_DETECT_ENABLE                                   3#define     PME_WAKEUP_ENABLE                                   2#define     DEVICE_REMOTE_WAKEUP_ENABLE                         1#define     SELF_POWERED_STATUS                                 0	// offset 0x0090	u32		usbstat;#define     HIGH_SPEED                                          7#define     FULL_SPEED                                          6#define     GENERATE_RESUME                                     5#define     GENERATE_DEVICE_REMOTE_WAKEUP                       4	u32		xcvrdiag;#define     FORCE_HIGH_SPEED_MODE                               31#define     FORCE_FULL_SPEED_MODE                               30#define     USB_TEST_MODE                                       24#define     LINE_STATE                                          16#define     TRANSCEIVER_OPERATION_MODE                          2#define     TRANSCEIVER_SELECT                                  1#define     TERMINATION_SELECT                                  0	u32		setup0123;	u32		setup4567;	// offset 0x0090	u32		_unused0;	u32		ouraddr;#define     FORCE_IMMEDIATE                                     7#define     OUR_USB_ADDRESS                                     0	u32		ourconfig;} __attribute__ ((packed));/* pci control, BAR0 + 0x0100 */struct net2280_pci_regs {	// offset 0x0100	u32		 pcimstctl;#define     PCI_ARBITER_PARK_SELECT                             13#define     PCI_MULTI LEVEL_ARBITER                             12#define     PCI_RETRY_ABORT_ENABLE                              11#define     DMA_MEMORY_WRITE_AND_INVALIDATE_ENABLE              10#define     DMA_READ_MULTIPLE_ENABLE                            9#define     DMA_READ_LINE_ENABLE                                8#define     PCI_MASTER_COMMAND_SELECT                           6#define         MEM_READ_OR_WRITE                                   0#define         IO_READ_OR_WRITE                                    1#define         CFG_READ_OR_WRITE                                   2#define     PCI_MASTER_START                                    5#define     PCI_MASTER_READ_WRITE                               4#define         PCI_MASTER_WRITE                                    0#define         PCI_MASTER_READ                                     1#define     PCI_MASTER_BYTE_WRITE_ENABLES                       0	u32		 pcimstaddr;	u32		 pcimstdata;	u32		 pcimststat;#define     PCI_ARBITER_CLEAR                                   2#define     PCI_EXTERNAL_ARBITER                                1#define     PCI_HOST_MODE                                       0} __attribute__ ((packed));/* dma control, BAR0 + 0x0180 ... array of four structs like this, * for channels 0..3.  see also struct net2280_dma:  descriptor * that can be loaded into some of these registers. */struct net2280_dma_regs {	/* [11.7] */	// offset 0x0180, 0x01a0, 0x01c0, 0x01e0, 	u32		dmactl;#define     DMA_SCATTER_GATHER_DONE_INTERRUPT_ENABLE            25#define     DMA_CLEAR_COUNT_ENABLE                              21#define     DESCRIPTOR_POLLING_RATE                             19#define         POLL_CONTINUOUS                                     0#define         POLL_1_USEC                                         1#define         POLL_100_USEC                                       2#define         POLL_1_MSEC                                         3#define     DMA_VALID_BIT_POLLING_ENABLE                        18#define     DMA_VALID_BIT_ENABLE                                17#define     DMA_SCATTER_GATHER_ENABLE                           16#define     DMA_OUT_AUTO_START_ENABLE                           4#define     DMA_PREEMPT_ENABLE                                  3#define     DMA_FIFO_VALIDATE                                   2#define     DMA_ENABLE                                          1#define     DMA_ADDRESS_HOLD                                    0	u32		dmastat;#define     DMA_SCATTER_GATHER_DONE_INTERRUPT                   25#define     DMA_TRANSACTION_DONE_INTERRUPT                      24#define     DMA_ABORT                                           1#define     DMA_START                                           0	u32		_unused0 [2];	// offset 0x0190, 0x01b0, 0x01d0, 0x01f0, 	u32		dmacount;#define     VALID_BIT                                           31#define     DMA_DIRECTION                                       30#define     DMA_DONE_INTERRUPT_ENABLE                           29#define     END_OF_CHAIN                                        28#define         DMA_BYTE_COUNT_MASK                                 ((1<<24)-1)#define     DMA_BYTE_COUNT                                      0	u32		dmaaddr;	u32		dmadesc;	u32		_unused1;} __attribute__ ((packed));/* dedicated endpoint registers, BAR0 + 0x0200 */struct net2280_dep_regs {	/* [11.8] */	// offset 0x0200, 0x0210, 0x220, 0x230, 0x240	u32		dep_cfg;	// offset 0x0204, 0x0214, 0x224, 0x234, 0x244	u32		dep_rsp;	u32		_unused [2];} __attribute__ ((packed));/* configurable endpoint registers, BAR0 + 0x0300 ... array of seven structs * like this, for ep0 then the configurable endpoints A..F * ep0 reserved for control; E and F have only 64 bytes of fifo */struct net2280_ep_regs {	/* [11.9] */	// offset 0x0300, 0x0320, 0x0340, 0x0360, 0x0380, 0x03a0, 0x03c0	u32		ep_cfg;#define     ENDPOINT_BYTE_COUNT                                 16#define     ENDPOINT_ENABLE                                     10#define     ENDPOINT_TYPE                                       8#define     ENDPOINT_DIRECTION                                  7#define     ENDPOINT_NUMBER                                     0	u32		ep_rsp;#define     SET_NAK_OUT_PACKETS                                 15#define     SET_EP_HIDE_STATUS_PHASE                            14#define     SET_EP_FORCE_CRC_ERROR                              13#define     SET_INTERRUPT_MODE                                  12#define     SET_CONTROL_STATUS_PHASE_HANDSHAKE                  11#define     SET_NAK_OUT_PACKETS_MODE                            10#define     SET_ENDPOINT_TOGGLE                                 9#define     SET_ENDPOINT_HALT                                   8#define     CLEAR_NAK_OUT_PACKETS                               7#define     CLEAR_EP_HIDE_STATUS_PHASE                          6#define     CLEAR_EP_FORCE_CRC_ERROR                            5#define     CLEAR_INTERRUPT_MODE                                4#define     CLEAR_CONTROL_STATUS_PHASE_HANDSHAKE                3#define     CLEAR_NAK_OUT_PACKETS_MODE                          2#define     CLEAR_ENDPOINT_TOGGLE                               1#define     CLEAR_ENDPOINT_HALT                                 0	u32		ep_irqenb;#define     SHORT_PACKET_OUT_DONE_INTERRUPT_ENABLE              6#define     SHORT_PACKET_TRANSFERRED_INTERRUPT_ENABLE           5#define     DATA_PACKET_RECEIVED_INTERRUPT_ENABLE               3#define     DATA_PACKET_TRANSMITTED_INTERRUPT_ENABLE            2#define     DATA_OUT_PING_TOKEN_INTERRUPT_ENABLE                1#define     DATA_IN_TOKEN_INTERRUPT_ENABLE                      0	u32		ep_stat;#define     FIFO_VALID_COUNT                                    24#define     HIGH_BANDWIDTH_OUT_TRANSACTION_PID                  22#define     TIMEOUT                                             21#define     USB_STALL_SENT                                      20#define     USB_IN_NAK_SENT                                     19#define     USB_IN_ACK_RCVD                                     18#define     USB_OUT_PING_NAK_SENT                               17#define     USB_OUT_ACK_SENT                                    16#define     FIFO_OVERFLOW                                       13#define     FIFO_UNDERFLOW                                      12#define     FIFO_FULL                                           11#define     FIFO_EMPTY                                          10#define     FIFO_FLUSH                                          9#define     SHORT_PACKET_OUT_DONE_INTERRUPT                     6#define     SHORT_PACKET_TRANSFERRED_INTERRUPT                  5#define     NAK_OUT_PACKETS                                     4#define     DATA_PACKET_RECEIVED_INTERRUPT                      3#define     DATA_PACKET_TRANSMITTED_INTERRUPT                   2#define     DATA_OUT_PING_TOKEN_INTERRUPT                       1#define     DATA_IN_TOKEN_INTERRUPT                             0	// offset 0x0310, 0x0330, 0x0350, 0x0370, 0x0390, 0x03b0, 0x03d0	u32		ep_avail;	u32		ep_data;	u32		_unused0 [2];} __attribute__ ((packed));/*-------------------------------------------------------------------------*/#ifdef	__KERNEL__/* indexed registers [11.10] are accessed indirectly * caller must own the device lock. */static inline u32get_idx_reg (struct net2280_regs __iomem *regs, u32 index){	writel (index, &regs->idxaddr);	/* NOTE:  synchs device/cpu memory views */	return readl (&regs->idxdata);}static inline voidset_idx_reg (struct net2280_regs __iomem *regs, u32 index, u32 value){	writel (index, &regs->idxaddr);	writel (value, &regs->idxdata);	/* posted, may not be visible yet */}#endif	/* __KERNEL__ */#define REG_DIAG		0x0#define     RETRY_COUNTER                                       16#define     FORCE_PCI_SERR                                      11#define     FORCE_PCI_INTERRUPT                                 10#define     FORCE_USB_INTERRUPT                                 9#define     FORCE_CPU_INTERRUPT                                 8#define     ILLEGAL_BYTE_ENABLES                                5#define     FAST_TIMES                                          4#define     FORCE_RECEIVE_ERROR                                 2#define     FORCE_TRANSMIT_CRC_ERROR                            0#define REG_FRAME		0x02	/* from last sof */#define REG_CHIPREV		0x03	/* in bcd */#define	REG_HS_NAK_RATE		0x0a	/* NAK per N uframes */#define	CHIPREV_1	0x0100#define	CHIPREV_1A	0x0110#ifdef	__KERNEL__/* ep a-f highspeed and fullspeed maxpacket, addresses

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -