forked from urjaman/fernly
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfernvale-usb.h
145 lines (117 loc) · 5.32 KB
/
fernvale-usb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#ifndef __FV_USB_H__
#define __FV_USB_H__
#define USB_CTRL_ADDR 0xa0900000
#define USB_CTRL_FADDR (USB_CTRL_ADDR + 0x00)
#define USB_CTRL_POWER (USB_CTRL_ADDR + 0x01)
#define USB_CTRL_POWER_SUSPENAB (1 << 0)
#define USB_CTRL_POWER_SUSPMODE (1 << 1)
#define USB_CTRL_POWER_RESUME (1 << 2)
#define USB_CTRL_POWER_RESET (1 << 3)
#define USB_CTRL_POWER_SWRSTENAB (1 << 4)
#define USB_CTRL_POWER_ISOUPDATE (1 << 7)
#define USB_CTRL_INTRIN (USB_CTRL_ADDR + 0x02)
#define USB_CTRL_INTRIN_EP0 (1 << 0)
#define USB_CTRL_INTRIN_EP1_IN (1 << 1)
#define USB_CTRL_INTRIN_EP2_IN (1 << 2)
#define USB_CTRL_INTRIN_EP3_IN (1 << 3)
#define USB_CTRL_INTRIN_EP4_IN (1 << 4)
#define USB_CTRL_INTROUT (USB_CTRL_ADDR + 0x04)
#define USB_CTRL_INTROUT_EP1_OUT (1 << 1)
#define USB_CTRL_INTROUT_EP2_OUT (1 << 2)
#define USB_CTRL_INTRUSB (USB_CTRL_ADDR + 0x06)
#define USB_CTRL_INTRUSB_SUSPEND (1 << 0)
#define USB_CTRL_INTRUSB_RESUME (1 << 1)
#define USB_CTRL_INTRUSB_RESET (1 << 2)
#define USB_CTRL_INTRUSB_SOF (1 << 3)
#define USB_CTRL_INTRUSB_POWERDWN (1 << 4)
/* IN interrupt enable */
#define USB_CTRL_INTRINE (USB_CTRL_ADDR + 0x07)
#define USB_CTRL_INTRINE_EP0_ENABLE (1 << 0)
#define USB_CTRL_INTRINE_EP1_IN_ENABLE (1 << 1)
#define USB_CTRL_INTRINE_EP2_IN_ENABLE (1 << 2)
#define USB_CTRL_INTRINE_EP3_IN_ENABLE (1 << 3)
#define USB_CTRL_INTRINE_EP4_IN_ENABLE (1 << 4)
#define USB_CTRL_INTROUTE (USB_CTRL_ADDR + 0x09)
#define USB_CTRL_INTROUTE_EP1_OUT_ENABLE (1 << 1)
#define USB_CTRL_INTROUTE_EP2_OUT_ENABLE (1 << 2)
#define USB_CTRL_INTRUSBE (USB_CTRL_ADDR + 0x0b)
#define USB_CTRL_INTRUSBE_SUSPEND_ENABLE (1 << 0)
#define USB_CTRL_INTRUSBE_RESUME_ENABLE (1 << 1)
#define USB_CTRL_INTRUSBE_RESET_ENABLE (1 << 2)
#define USB_CTRL_INTRUSBE_SOF_ENABLE (1 << 3)
#define USB_CTRL_INTRUSBE_POWERDWN_ENABLE (1 << 4)
#define USB_CTRL_FRAME_COUNT1 (USB_CTRL_ADDR + 0x0c)
#define USB_CTRL_FRAME_COUNT2 (USB_CTRL_ADDR + 0x0d)
#define USB_CTRL_INDEX (USB_CTRL_ADDR + 0x0e)
#define USB_CTRL_RSTCTRL (USB_CTRL_ADDR + 0x0f)
#define USB_CTRL_EP_INMAXP (USB_CTRL_ADDR + 0x10)
#define USB_CTRL_EP0_CSR (USB_CTRL_ADDR + 0x11)
#define USB_CTRL_EP0_CSR_OUTPKTRDY (1 << 0)
#define USB_CTRL_EP0_CSR_INPKTRDY (1 << 1)
#define USB_CTRL_EP0_CSR_SENTSTALL (1 << 2)
#define USB_CTRL_EP0_CSR_DATAEND (1 << 3)
#define USB_CTRL_EP0_CSR_SETUPEND (1 << 4)
#define USB_CTRL_EP0_CSR_SENDSTALL (1 << 5)
#define USB_CTRL_EP0_CSR_SOUTPKTRDY (1 << 6)
#define USB_CTRL_EP0_CSR_SSETUPEND (1 << 7)
#define USB_CTRL_EP_INCSR1 (USB_CTRL_ADDR + 0x11)
#define USB_CTRL_EP_INCSR1_INPKTRDY (1 << 0)
#define USB_CTRL_EP_INCSR1_FIFONOTEMPTY (1 << 1)
#define USB_CTRL_EP_INCSR1_UNDERRUN (1 << 2)
#define USB_CTRL_EP_INCSR1_FLUSHFIFO (1 << 3)
#define USB_CTRL_EP_INCSR1_SENDSTALL (1 << 4)
#define USB_CTRL_EP_INCSR1_SENTSTALL (1 << 5)
#define USB_CTRL_EP_INCSR1_CLRDATATOG (1 << 6)
#define USB_CTRL_EP_INCSR1_ABORTPKT_ENABLE (1 << 7)
#define USB_CTRL_EP_INCSR2 (USB_CTRL_ADDR + 0x12)
#define USB_CTRL_EP_INCSR2_FRCDATATOG (1 << 3)
#define USB_CTRL_EP_INCSR2_DMAENAB (1 << 4)
#define USB_CTRL_EP_INCSR2_MODE (1 << 5)
#define USB_CTRL_EP_INCSR2_ISO (1 << 6)
#define USB_CTRL_EP_INCSR2_AUTOSET (1 << 7)
#define USB_CTRL_EP_OUTMAXP (USB_CTRL_ADDR + 0x13)
#define USB_CTRL_EP_OUTCSR1 (USB_CTRL_ADDR + 0x14)
#define USB_CTRL_EP_OUTCSR1_RXPKTRDY (1 << 0)
#define USB_CTRL_EP_OUTCSR1_FIFOFULL (1 << 1)
#define USB_CTRL_EP_OUTCSR1_OVERRUN (1 << 2)
#define USB_CTRL_EP_OUTCSR1_DATAERROR (1 << 3)
#define USB_CTRL_EP_OUTCSR1_FLUSHFIFO (1 << 4)
#define USB_CTRL_EP_OUTCSR1_SENDSTALL (1 << 5)
#define USB_CTRL_EP_OUTCSR1_SENTSTALL (1 << 6)
#define USB_CTRL_EP_OUTCSR1_CLRDTATOG (1 << 7)
#define USB_CTRL_EP_OUTCSR2 (USB_CTRL_ADDR + 0x15)
#define USB_CTRL_EP_OUTCSR2_DMAMODE (1 << 4)
#define USB_CTRL_EP_OUTCSR2_DMAENAB (1 << 5)
#define USB_CTRL_EP_OUTCSR2_ISO (1 << 6)
#define USB_CTRL_EP_OUTCSR2_AUTOCLEAR (1 << 7)
#define USB_CTRL_EP0_COUNT (USB_CTRL_ADDR + 0x16)
#define USB_CTRL_EP_COUNT1 (USB_CTRL_ADDR + 0x16)
#define USB_CTRL_EP_COUNT2 (USB_CTRL_ADDR + 0x17)
#define USB_CTRL_EP0_FIFO_DB0 (USB_CTRL_ADDR + 0x20)
#define USB_CTRL_EP0_FIFO_DB1 (USB_CTRL_ADDR + 0x21)
#define USB_CTRL_EP0_FIFO_DB2 (USB_CTRL_ADDR + 0x22)
#define USB_CTRL_EP0_FIFO_DB3 (USB_CTRL_ADDR + 0x23)
#define USB_CTRL_EP1_FIFO_DB0 (USB_CTRL_ADDR + 0x24)
#define USB_CTRL_EP1_FIFO_DB1 (USB_CTRL_ADDR + 0x25)
#define USB_CTRL_EP1_FIFO_DB2 (USB_CTRL_ADDR + 0x26)
#define USB_CTRL_EP1_FIFO_DB3 (USB_CTRL_ADDR + 0x27)
#define USB_CTRL_EP2_FIFO_DB0 (USB_CTRL_ADDR + 0x28)
#define USB_CTRL_EP2_FIFO_DB1 (USB_CTRL_ADDR + 0x29)
#define USB_CTRL_EP2_FIFO_DB2 (USB_CTRL_ADDR + 0x2a)
#define USB_CTRL_EP2_FIFO_DB3 (USB_CTRL_ADDR + 0x2b)
#define USB_CTRL_EP3_FIFO_DB0 (USB_CTRL_ADDR + 0x2c)
#define USB_CTRL_EP3_FIFO_DB1 (USB_CTRL_ADDR + 0x2d)
#define USB_CTRL_EP3_FIFO_DB2 (USB_CTRL_ADDR + 0x2e)
#define USB_CTRL_EP3_FIFO_DB3 (USB_CTRL_ADDR + 0x2f)
#define USB_CTRL_EP4_FIFO_DB0 (USB_CTRL_ADDR + 0x30)
#define USB_CTRL_EP4_FIFO_DB1 (USB_CTRL_ADDR + 0x31)
#define USB_CTRL_EP4_FIFO_DB2 (USB_CTRL_ADDR + 0x32)
#define USB_CTRL_EP4_FIFO_DB3 (USB_CTRL_ADDR + 0x33)
#define USB_CTRL_CON (USB_CTRL_ADDR + 0x240)
/* Enable 1.5k pullup on D+ pin */
#define USB_CTRL_CON_DPPULLUP (1 << 0)
/* Enable 1.5k pullup on D- pin */
#define USB_CTRL_CON_DNPULLUP (1 << 1)
/* Don't issue a DMA request when a null packet is received */
#define USB_CTRL_CON_NULLPKT_FIX (1 << 5)
#endif /* __FV_USB_H__ */