OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [boards/] [actel/] [ordb1a3pe1500/] [sw/] [drivers/] [usbhostslave/] [include/] [usbhostslave-slave.h] - Blame information for rev 408

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 408 julius
/*
2
 *
3
 * USB usbhostslave core slave register defines
4
 *
5
 * Julius Baxter, julius@opencores.org
6
 *
7
 */
8
 
9
#ifndef _USBHOSTSLAVE_SLAVE_H_
10
#define _USBHOSTSLAVE_SLAVE_H_
11
 
12
extern const int USBHOSTSLAVE_SLAVE_CORE_ADR[2];
13
 
14
void usb_slave_set_addr(int, char);
15
void usb_slave_global_enable_endpoints(int);
16
void usb_slave_global_disable_endpoints(int);
17
void usb_slave_endpoint_enable(int, int);
18
void usb_slave_endpoint_disable(int, int);
19
void usb_slave_endpoint_ready(int, int);
20
void usb_slave_endpoint_unready(int, int);
21
void usb_slave_endpoint_outdataseqset(int, int, int);
22
void usb_slave_endpoint_sendstallset(int, int, int);
23
void usb_slave_endpoint_isoset(int, int, int);
24
int  usb_slave_get_frame_num(int);
25
void usb_slave_endpoint_tx_fifo_write(int, int, char);
26
char usb_slave_endpoint_rx_fifo_read_data(int, int);
27
int  usb_slave_endpoint_rx_fifo_read_count(int, int);
28
void usb_slave_endpoint_rx_fifo_clear(int, int);
29
 
30
#define USBSLAVE_EP0_CONTROL_REG              0x40
31
#define USBSLAVE_EP0_STATUS_REG               0x41
32
#define USBSLAVE_EP0_TRANSTYPE_STATUS_REG     0x42
33
#define USBSLAVE_EP0_NAK_TRANSTYPE_STATUS_REG 0x43
34
 
35
#define USBSLAVE_EP1_CONTROL_REG              0x44
36
#define USBSLAVE_EP1_STATUS_REG               0x45
37
#define USBSLAVE_EP1_TRANSTYPE_STATUS_REG     0x46
38
#define USBSLAVE_EP1_NAK_TRANSTYPE_STATUS_REG 0x47
39
 
40
#define USBSLAVE_EP2_CONTROL_REG              0x48
41
#define USBSLAVE_EP2_STATUS_REG               0x49
42
#define USBSLAVE_EP2_TRANSTYPE_STATUS_REG     0x4a
43
#define USBSLAVE_EP2_NAK_TRANSTYPE_STATUS_REG 0x4b
44
 
45
#define USBSLAVE_EP3_CONTROL_REG              0x4c
46
#define USBSLAVE_EP3_STATUS_REG               0x4d
47
#define USBSLAVE_EP3_TRANSTYPE_STATUS_REG     0x4e
48
#define USBSLAVE_EP3_NAK_TRANSTYPE_STATUS_REG 0x4f
49
 
50
#define USBSLAVE_SC_CONTROL_REG               0x50
51
#define USBSLAVE_SC_LINE_STATUS_REG           0x51
52
#define USBSLAVE_SC_INTERRUPT_STATUS_REG      0x52
53
#define USBSLAVE_SC_INTERRUPT_MASK_REG        0x53
54
#define USBSLAVE_SC_ADDRESS                   0x54
55
#define USBSLAVE_SC_FRAME_NUM_MSP             0x55
56
#define USBSLAVE_SC_FRAME_NUM_LSP             0x56
57
 
58
#define USBSLAVE_EP0_RX_FIFO_DATA             0x60
59
#define USBSLAVE_EP0_RX_FIFO_DATA_CNT_MSB     0x62
60
#define USBSLAVE_EP0_RX_FIFO_DATA_CNT_LSB     0x63
61
#define USBSLAVE_EP0_RX_FIFO_CONTROL_REG      0x64
62
 
63
#define USBSLAVE_EP0_TX_FIFO_DATA             0x70
64
#define USBSLAVE_EP0_TX_FIFO_CONTROL_REG      0x74
65
 
66
#define USBSLAVE_EP1_RX_FIFO_DATA             0x80
67
#define USBSLAVE_EP1_RX_FIFO_DATA_CNT_MSB     0x82
68
#define USBSLAVE_EP1_RX_FIFO_DATA_CNT_LSB     0x83
69
#define USBSLAVE_EP1_RX_FIFO_CONTROL_REG      0x84
70
 
71
#define USBSLAVE_EP1_TX_FIFO_DATA             0x90
72
#define USBSLAVE_EP1_TX_FIFO_CONTROL_REG      0x94
73
 
74
#define USBSLAVE_EP2_RX_FIFO_DATA             0xa0
75
#define USBSLAVE_EP2_RX_FIFO_DATA_CNT_MSB     0xa2
76
#define USBSLAVE_EP2_RX_FIFO_DATA_CNT_LSB     0xa3
77
#define USBSLAVE_EP2_RX_FIFO_CONTROL_REG      0xa4
78
 
79
#define USBSLAVE_EP2_TX_FIFO_DATA             0xb0
80
#define USBSLAVE_EP2_TX_FIFO_CONTROL_REG      0xb4
81
 
82
#define USBSLAVE_EP3_RX_FIFO_DATA             0xc0
83
#define USBSLAVE_EP3_RX_FIFO_DATA_CNT_MSB     0xc2
84
#define USBSLAVE_EP3_RX_FIFO_DATA_CNT_LSB     0xc3
85
#define USBSLAVE_EP3_RX_FIFO_CONTROL_REG      0xc4
86
 
87
#define USBSLAVE_EP3_TX_FIFO_DATA             0xd0
88
#define USBSLAVE_EP3_TX_FIFO_CONTROL_REG      0xd4
89
 
90
#define RX_FIFO_DATA 0x20
91
#define TX_CONTROL_REG  0x00
92
#define TX_TRANS_TYPE_REG 0x01 
93
#define TX_ADDR_REG  0x04
94
#define TX_ENDP_REG  0x05
95
#define TX_FIFO_DATA 0x30 
96
#define INTERRUPT_MASK_REG 0x09 
97
#define RX_CONNECT_STATE_REG 0x0e
98
#define INTERRUPT_STATUS_REG 0x08
99
#define HOST_SLAVE_CONTROL_REG 0xe0
100
#define HOST_SLAVE_VERSION_REG      0xe1
101
#define TX_LINE_CONTROL_REG 0x02
102
// Bit masks for registers
103
 
104
#define USBSLAVE_CONTROL_REG_ENDPOINT_ENABLE          0x01
105
#define USBSLAVE_CONTROL_REG_ENDPOINT_READY           0x02
106
#define USBSLAVE_CONTROL_REG_ENDPOINT_OUTDATA_SEQ     0x04
107
#define USBSLAVE_CONTROL_REG_ENDPOINT_SEND_STALL      0x08
108
#define USBSLAVE_CONTROL_REG_ENDPOINT_ISO_ENABLE      0x10
109
 
110
#define USBSLAVE_STATUS_REG_SC_CRC_ERROR              0x01
111
#define USBSLAVE_STATUS_REG_SC_BIT_STUFF_ERROR        0x02
112
#define USBSLAVE_STATUS_REG_SC_RX_OVERFLOW            0x04
113
#define USBSLAVE_STATUS_REG_SC_RX_TIME_OUT            0x08
114
#define USBSLAVE_STATUS_REG_SC_NAK_SENT               0x10
115
#define USBSLAVE_STATUS_REG_SC_STALL_SENT             0x20
116
#define USBSLAVE_STATUS_REG_SC_ACK_RXED               0x40
117
#define USBSLAVE_STATUS_REG_SC_DATA_SEQ               0x80
118
 
119
#define USBSLAVE_TRANSTYPE_STATUS_REG_TRANS_TYPE_MASK    0x03
120
#define USBSLAVE_TRANSTYPE_STATUS_REG_TRANS_TYPE_SETUP   0x00
121
#define USBSLAVE_TRANSTYPE_STATUS_REG_TRANS_TYPE_IN      0x01
122
#define USBSLAVE_TRANSTYPE_STATUS_REG_TRANS_TYPE_OUTDATA 0x02
123
 
124
#define USBSLAVE_SC_CONTROL_REG_GLOBAL_ENABLE            0x01
125
#define USBSLAVE_SC_CONTROL_REG_TX_LINE_STATE            0x06
126
#define USBSLAVE_SC_CONTROL_REG_DIRECT_CONTROL           0x08
127
#define USBSLAVE_SC_CONTROL_REG_FULL_SPEED_LINE_POLARITY 0x10
128
#define USBSLAVE_SC_CONTROL_REG_FULL_SPEED_LINE_BITRATE  0x20
129
#define USBSLAVE_SC_CONTROL_REG_CONNECT_TO_HOST          0x40
130
 
131
#define USBSLAVE_SC_LINE_STATUS_REG_RX_LINE_STATE        0x3
132
#define USBSLAVE_SC_LINE_STATUS_REG_VBUS_STATE           0x4
133
 
134
#define USBSLAVE_SC_LINE_STATUS_REG_RX_LINE_STATE_RESET  0x0
135
#define USBSLAVE_SC_LINE_STATUS_REG_RX_LINE_STATE_LSPEED 0x1
136
#define USBSLAVE_SC_LINE_STATUS_REG_RX_LINE_STATE_FSPEED 0x2
137
 
138
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_TRANS_DONE      0x01
139
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_RESUME_INT      0x02
140
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_RESET_EVENT     0x04
141
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_SOF_RECEIVED    0x08
142
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_NAK_SENT        0x10
143
#define USBSLAVE_SC_INTERRUPT_STATUS_REG_VBUS_DETECT     0x20
144
 
145
#define TRANS_DONE_MASK 0x01
146
#define RESUME_INT_MASK 0x02
147
#define CONNECTION_EVENT 0x04
148
#define SOF_SENT_BIT 0x08
149
 
150
#define USBSLAVE_FIFO_CONTROL_REG_FORCE_EMPTY            0x1
151
 
152
#endif
153
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.