@@ -25,7 +25,7 @@ func (dev *USBDevice) Configure(config UARTConfig) {
25
25
unresetBlockWait (rp .RESETS_RESET_USBCTRL )
26
26
27
27
// Clear any previous state in dpram just in case
28
- usbDPSRAM .clear ()
28
+ _usbDPSRAM .clear ()
29
29
30
30
// Enable USB interrupt at processor
31
31
rp .USBCTRL_REGS .INTE .Set (0 )
@@ -62,7 +62,7 @@ func handleUSBIRQ(intr interrupt.Interrupt) {
62
62
// Setup packet received
63
63
if (status & rp .USBCTRL_REGS_INTS_SETUP_REQ ) > 0 {
64
64
rp .USBCTRL_REGS .SIE_STATUS .Set (rp .USBCTRL_REGS_SIE_STATUS_SETUP_REC )
65
- setup := usb .NewSetup (usbDPSRAM .setupBytes ())
65
+ setup := usb .NewSetup (_usbDPSRAM .setupBytes ())
66
66
67
67
ok := false
68
68
if (setup .BmRequestType & usb .REQUEST_TYPE ) == usb .REQUEST_STANDARD {
@@ -136,34 +136,34 @@ func handleUSBIRQ(intr interrupt.Interrupt) {
136
136
137
137
func initEndpoint (ep , config uint32 ) {
138
138
val := uint32 (usbEpControlEnable ) | uint32 (usbEpControlInterruptPerBuff )
139
- offset := ep * 2 * USBBufferLen + 0x100
139
+ offset := ep * 2 * usbBufferLen + 0x100
140
140
val |= offset
141
141
142
142
switch config {
143
143
case usb .ENDPOINT_TYPE_INTERRUPT | usb .EndpointIn :
144
144
val |= usbEpControlEndpointTypeInterrupt
145
- usbDPSRAM .EPxControl [ep ].In .Set (val )
145
+ _usbDPSRAM .EPxControl [ep ].In .Set (val )
146
146
147
147
case usb .ENDPOINT_TYPE_BULK | usb .EndpointOut :
148
148
val |= usbEpControlEndpointTypeBulk
149
- usbDPSRAM .EPxControl [ep ].Out .Set (val )
150
- usbDPSRAM .EPxBufferControl [ep ].Out .Set (USBBufferLen & usbBuf0CtrlLenMask )
151
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
149
+ _usbDPSRAM .EPxControl [ep ].Out .Set (val )
150
+ _usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBufferLen & usbBuf0CtrlLenMask )
151
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
152
152
153
153
case usb .ENDPOINT_TYPE_INTERRUPT | usb .EndpointOut :
154
154
val |= usbEpControlEndpointTypeInterrupt
155
- usbDPSRAM .EPxControl [ep ].Out .Set (val )
156
- usbDPSRAM .EPxBufferControl [ep ].Out .Set (USBBufferLen & usbBuf0CtrlLenMask )
157
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
155
+ _usbDPSRAM .EPxControl [ep ].Out .Set (val )
156
+ _usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBufferLen & usbBuf0CtrlLenMask )
157
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
158
158
159
159
case usb .ENDPOINT_TYPE_BULK | usb .EndpointIn :
160
160
val |= usbEpControlEndpointTypeBulk
161
- usbDPSRAM .EPxControl [ep ].In .Set (val )
161
+ _usbDPSRAM .EPxControl [ep ].In .Set (val )
162
162
163
163
case usb .ENDPOINT_TYPE_CONTROL :
164
164
val |= usbEpControlEndpointTypeControl
165
- usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBuf0CtrlData1Pid )
166
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
165
+ _usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBuf0CtrlData1Pid )
166
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
167
167
168
168
}
169
169
}
@@ -219,37 +219,37 @@ func ReceiveUSBControlPacket() ([cdcLineInfoSize]byte, error) {
219
219
var b [cdcLineInfoSize ]byte
220
220
ep := 0
221
221
222
- for ! usbDPSRAM .EPxBufferControl [ep ].Out .HasBits (usbBuf0CtrlFull ) {
222
+ for ! _usbDPSRAM .EPxBufferControl [ep ].Out .HasBits (usbBuf0CtrlFull ) {
223
223
// TODO: timeout
224
224
}
225
225
226
- ctrl := usbDPSRAM .EPxBufferControl [ep ].Out .Get ()
227
- usbDPSRAM .EPxBufferControl [ep ].Out .Set (USBBufferLen & usbBuf0CtrlLenMask )
226
+ ctrl := _usbDPSRAM .EPxBufferControl [ep ].Out .Get ()
227
+ _usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBufferLen & usbBuf0CtrlLenMask )
228
228
sz := ctrl & usbBuf0CtrlLenMask
229
229
230
- copy (b [:], usbDPSRAM .EPxBuffer [ep ].Buffer0 [:sz ])
230
+ copy (b [:], _usbDPSRAM .EPxBuffer [ep ].Buffer0 [:sz ])
231
231
232
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlData1Pid )
233
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
232
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlData1Pid )
233
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
234
234
235
235
return b , nil
236
236
}
237
237
238
238
func handleEndpointRx (ep uint32 ) []byte {
239
- ctrl := usbDPSRAM .EPxBufferControl [ep ].Out .Get ()
240
- usbDPSRAM .EPxBufferControl [ep ].Out .Set (USBBufferLen & usbBuf0CtrlLenMask )
239
+ ctrl := _usbDPSRAM .EPxBufferControl [ep ].Out .Get ()
240
+ _usbDPSRAM .EPxBufferControl [ep ].Out .Set (usbBufferLen & usbBuf0CtrlLenMask )
241
241
sz := ctrl & usbBuf0CtrlLenMask
242
242
243
- return usbDPSRAM .EPxBuffer [ep ].Buffer0 [:sz ]
243
+ return _usbDPSRAM .EPxBuffer [ep ].Buffer0 [:sz ]
244
244
}
245
245
246
246
func handleEndpointRxComplete (ep uint32 ) {
247
247
epXdata0 [ep ] = ! epXdata0 [ep ]
248
248
if epXdata0 [ep ] || ep == 0 {
249
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlData1Pid )
249
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlData1Pid )
250
250
}
251
251
252
- usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
252
+ _usbDPSRAM .EPxBufferControl [ep ].Out .SetBits (usbBuf0CtrlAvail )
253
253
}
254
254
255
255
func SendZlp () {
@@ -269,8 +269,8 @@ func sendViaEPIn(ep uint32, data []byte, count int) {
269
269
// Mark as full
270
270
val |= usbBuf0CtrlFull
271
271
272
- copy (usbDPSRAM .EPxBuffer [ep & 0x7F ].Buffer0 [:], data [:count ])
273
- usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
272
+ copy (_usbDPSRAM .EPxBuffer [ep & 0x7F ].Buffer0 [:], data [:count ])
273
+ _usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
274
274
}
275
275
276
276
func sendStallViaEPIn (ep uint32 ) {
@@ -279,41 +279,41 @@ func sendStallViaEPIn(ep uint32) {
279
279
rp .USBCTRL_REGS .EP_STALL_ARM .Set (rp .USBCTRL_REGS_EP_STALL_ARM_EP0_IN )
280
280
}
281
281
val := uint32 (usbBuf0CtrlFull )
282
- usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
282
+ _usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
283
283
val |= uint32 (usbBuf0CtrlStall )
284
- usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
284
+ _usbDPSRAM .EPxBufferControl [ep & 0x7F ].In .Set (val )
285
285
}
286
286
287
- type USBDPSRAM struct {
287
+ type usbDPSRAM struct {
288
288
// Note that EPxControl[0] is not EP0Control but 8-byte setup data.
289
- EPxControl [16 ]USBEndpointControlRegister
289
+ EPxControl [16 ]usbEndpointControlRegister
290
290
291
- EPxBufferControl [16 ]USBBufferControlRegister
291
+ EPxBufferControl [16 ]usbBufferControlRegister
292
292
293
- EPxBuffer [16 ]USBBuffer
293
+ EPxBuffer [16 ]usbBuffer
294
294
}
295
295
296
- type USBEndpointControlRegister struct {
296
+ type usbEndpointControlRegister struct {
297
297
In volatile.Register32
298
298
Out volatile.Register32
299
299
}
300
- type USBBufferControlRegister struct {
300
+ type usbBufferControlRegister struct {
301
301
In volatile.Register32
302
302
Out volatile.Register32
303
303
}
304
304
305
- type USBBuffer struct {
306
- Buffer0 [USBBufferLen ]byte
307
- Buffer1 [USBBufferLen ]byte
305
+ type usbBuffer struct {
306
+ Buffer0 [usbBufferLen ]byte
307
+ Buffer1 [usbBufferLen ]byte
308
308
}
309
309
310
310
var (
311
- usbDPSRAM = (* USBDPSRAM )(unsafe .Pointer (uintptr (0x50100000 )))
311
+ _usbDPSRAM = (* usbDPSRAM )(unsafe .Pointer (uintptr (0x50100000 )))
312
312
epXdata0 [16 ]bool
313
313
setupBytes [8 ]byte
314
314
)
315
315
316
- func (d * USBDPSRAM ) setupBytes () []byte {
316
+ func (d * usbDPSRAM ) setupBytes () []byte {
317
317
318
318
data := d .EPxControl [usb .CONTROL_ENDPOINT ].In .Get ()
319
319
setupBytes [0 ] = byte (data )
@@ -330,7 +330,7 @@ func (d *USBDPSRAM) setupBytes() []byte {
330
330
return setupBytes [:]
331
331
}
332
332
333
- func (d * USBDPSRAM ) clear () {
333
+ func (d * usbDPSRAM ) clear () {
334
334
for i := 0 ; i < len (d .EPxControl ); i ++ {
335
335
d .EPxControl [i ].In .Set (0 )
336
336
d .EPxControl [i ].Out .Set (0 )
@@ -373,5 +373,5 @@ const (
373
373
usbBuf0CtrlAvail = 0x00000400
374
374
usbBuf0CtrlLenMask = 0x000003FF
375
375
376
- USBBufferLen = 64
376
+ usbBufferLen = 64
377
377
)
0 commit comments