41
41
#error "Unsupported MCU"
42
42
#endif
43
43
44
+ #define TU_RUSB2_HCD_DBG 0
45
+
44
46
//--------------------------------------------------------------------+
45
47
// MACRO TYPEDEF CONSTANT ENUM DECLARATION
46
48
//--------------------------------------------------------------------+
@@ -116,7 +118,7 @@ static unsigned find_pipe(unsigned xfer)
116
118
for (int i = 3 ; i <= 5 ; ++ i ) {
117
119
if (0 == _hcd .pipe [i ].ep ) return i ;
118
120
}
119
- for (int i = 1 ; i <= 1 ; ++ i ) {
121
+ for (int i = 1 ; i <= 2 ; ++ i ) {
120
122
if (0 == _hcd .pipe [i ].ep ) return i ;
121
123
}
122
124
break ;
@@ -409,10 +411,11 @@ static void process_pipe_nrdy(uint8_t rhport, unsigned num)
409
411
(void )rhport ;
410
412
xfer_result_t result ;
411
413
uint16_t volatile * ctr = get_pipectr (num );
412
- // TU_LOG1( "NRDY %d %x\n", num, *ctr);
414
+ TU_LOG ( TU_RUSB2_HCD_DBG , "NRDY %d %x\n" , num , * ctr );
413
415
switch (* ctr & RUSB2_PIPE_CTR_PID_Msk ) {
414
416
default : return ;
415
417
case RUSB2_PIPE_CTR_PID_STALL : result = XFER_RESULT_STALLED ; break ;
418
+ case RUSB2_PIPE_CTR_PID_STALL2 : result = XFER_RESULT_STALLED ; break ;
416
419
case RUSB2_PIPE_CTR_PID_NAK : result = XFER_RESULT_FAILED ; break ;
417
420
}
418
421
pipe_state_t * pipe = & _hcd .pipe [num ];
@@ -441,7 +444,7 @@ static void process_pipe_brdy(uint8_t rhport, unsigned num)
441
444
hcd_event_xfer_complete (pipe -> dev , pipe -> ep ,
442
445
pipe -> length - pipe -> remaining ,
443
446
XFER_RESULT_SUCCESS , true);
444
- // TU_LOG1( "C %d %d\r\n", num, pipe->length - pipe->remaining);
447
+ TU_LOG ( TU_RUSB2_HCD_DBG , "C %d %d\r\n" , num , pipe -> length - pipe -> remaining );
445
448
}
446
449
}
447
450
@@ -586,7 +589,7 @@ void hcd_device_close(uint8_t rhport, uint8_t dev_addr)
586
589
uint8_t * ep = & _hcd .ep [dev_addr - 1 ][0 ][0 ];
587
590
for (int i = 0 ; i < 2 * 15 ; ++ i , ++ ep ) {
588
591
unsigned num = * ep ;
589
- if (!num || dev_addr != _hcd .pipe [num ].dev ) continue ;
592
+ if (!num || ( dev_addr != _hcd .pipe [num ].dev ) ) continue ;
590
593
591
594
ctr = (uint16_t volatile * )& RUSB2 -> PIPE_CTR [num - 1 ];
592
595
* ctr = 0 ;
@@ -608,7 +611,7 @@ void hcd_device_close(uint8_t rhport, uint8_t dev_addr)
608
611
bool hcd_setup_send (uint8_t rhport , uint8_t dev_addr , uint8_t const setup_packet [8 ])
609
612
{
610
613
(void )rhport ;
611
- // TU_LOG1( "S %d %x\n", dev_addr, RUSB2->DCPCTR);
614
+ TU_LOG ( TU_RUSB2_HCD_DBG , "S %d %x\n" , dev_addr , RUSB2 -> DCPCTR );
612
615
613
616
TU_ASSERT (dev_addr < 6 ); /* USBa can only handle addresses from 0 to 5. */
614
617
TU_ASSERT (0 == RUSB2 -> DCPCTR_b .SUREQ );
@@ -701,7 +704,7 @@ bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t *b
701
704
{
702
705
bool r ;
703
706
hcd_int_disable (rhport );
704
- // TU_LOG1( "X %d %x %u\n", dev_addr, ep_addr, buflen);
707
+ TU_LOG ( TU_RUSB2_HCD_DBG , "X %d %x %u\n" , dev_addr , ep_addr , buflen );
705
708
r = process_edpt_xfer (dev_addr , ep_addr , buffer , buflen );
706
709
hcd_int_enable (rhport );
707
710
return r ;
@@ -745,7 +748,7 @@ void hcd_int_handler(uint8_t rhport)
745
748
/* clear active bits except VALID (don't write 0 to already cleared bits according to the HW manual) */
746
749
RUSB2 -> INTSTS1 = ~((RUSB2_INTSTS1_SACK_Msk | RUSB2_INTSTS1_SIGN_Msk | RUSB2_INTSTS1_ATTCH_Msk | RUSB2_INTSTS1_DTCH_Msk ) & is1 );
747
750
RUSB2 -> INTSTS0 = ~((RUSB2_INTSTS0_BRDY_Msk | RUSB2_INTSTS0_NRDY_Msk | RUSB2_INTSTS0_BEMP_Msk ) & is0 );
748
- // TU_LOG1( "IS %04x %04x\n", is0, is1);
751
+ TU_LOG ( TU_RUSB2_HCD_DBG , "IS %04x %04x\n" , is0 , is1 );
749
752
is1 &= RUSB2 -> INTENB1 ;
750
753
is0 &= RUSB2 -> INTENB0 ;
751
754
0 commit comments