3232#define USE_SOF 0
3333
3434#if CFG_TUD_ENABLED && (CFG_TUSB_MCU == OPT_MCU_RX63X || CFG_TUSB_MCU == OPT_MCU_RX65X || CFG_TUSB_MCU == OPT_MCU_RX72N || \
35- CFG_TUSB_MCU == OPT_MCU_RAXXX )
35+ CFG_TUSB_MCU == OPT_MCU_RAXXX )
3636
3737#include "device/dcd.h"
3838#include "link_type.h"
@@ -245,7 +245,7 @@ static bool pipe0_xfer_in(void)
245245 }
246246 }
247247 if (len < mps )
248- LINK_REG -> CFIFOCTR = USB_FIFOCTR_BVAL ;
248+ LINK_REG -> CFIFOCTR = LINK_REG_CFIFOCTR_BVAL_Msk ;
249249 pipe -> remaining = rem - len ;
250250 return false;
251251}
@@ -268,7 +268,7 @@ static bool pipe0_xfer_out(void)
268268 }
269269 }
270270 if (len < mps )
271- LINK_REG -> CFIFOCTR = USB_FIFOCTR_BCLR ;
271+ LINK_REG -> CFIFOCTR = LINK_REG_CFIFOCTR_BCLR_Msk ;
272272 pipe -> remaining = rem - len ;
273273 if ((len < mps ) || (rem == len )) {
274274 pipe -> buf = NULL ;
@@ -287,7 +287,7 @@ static bool pipe_xfer_in(unsigned num)
287287 return true;
288288 }
289289
290- LINK_REG -> D0FIFOSEL = num | USB_FIFOSEL_MBW_16 | (TU_BYTE_ORDER == TU_BIG_ENDIAN ? USB_FIFOSEL_BIGEND : 0 );
290+ LINK_REG -> D0FIFOSEL = num | LINK_REG_FIFOSEL_MBW_16BIT | (TU_BYTE_ORDER == TU_BIG_ENDIAN ? LINK_REG_FIFOSEL_BIGEND : 0 );
291291 const unsigned mps = edpt_max_packet_size (num );
292292 pipe_wait_for_ready (num );
293293 const unsigned len = TU_MIN (rem , mps );
@@ -301,7 +301,7 @@ static bool pipe_xfer_in(unsigned num)
301301 }
302302 }
303303 if (len < mps )
304- LINK_REG -> D0FIFOCTR = USB_FIFOCTR_BVAL ;
304+ LINK_REG -> D0FIFOCTR = LINK_REG_CFIFOCTR_BVAL_Msk ;
305305 LINK_REG -> D0FIFOSEL = 0 ;
306306 while (LINK_REG -> D0FIFOSEL_b .CURPIPE ) continue ; /* if CURPIPE bits changes, check written value */
307307 pipe -> remaining = rem - len ;
@@ -313,7 +313,7 @@ static bool pipe_xfer_out(unsigned num)
313313 pipe_state_t * pipe = & _dcd .pipe [num ];
314314 const unsigned rem = pipe -> remaining ;
315315
316- LINK_REG -> D0FIFOSEL = num | USB_FIFOSEL_MBW_8 ;
316+ LINK_REG -> D0FIFOSEL = num | LINK_REG_FIFOSEL_MBW_8BIT ;
317317 const unsigned mps = edpt_max_packet_size (num );
318318 pipe_wait_for_ready (num );
319319 const unsigned vld = LINK_REG -> D0FIFOCTR_b .DTLN ;
@@ -328,7 +328,7 @@ static bool pipe_xfer_out(unsigned num)
328328 }
329329 }
330330 if (len < mps )
331- LINK_REG -> D0FIFOCTR = USB_FIFOCTR_BCLR ;
331+ LINK_REG -> D0FIFOCTR = LINK_REG_CFIFOCTR_BCLR_Msk ;
332332 LINK_REG -> D0FIFOSEL = 0 ;
333333 while (LINK_REG -> D0FIFOSEL_b .CURPIPE ) ; /* if CURPIPE bits changes, check written value */
334334 pipe -> remaining = rem - len ;
@@ -342,21 +342,21 @@ static bool pipe_xfer_out(unsigned num)
342342static void process_setup_packet (uint8_t rhport )
343343{
344344 uint16_t setup_packet [4 ];
345- if (0 == (LINK_REG -> INTSTS0 & USB_IS0_VALID )) return ;
346- LINK_REG -> CFIFOCTR = USB_FIFOCTR_BCLR ;
345+ if (0 == (LINK_REG -> INTSTS0 & LINK_REG_INTSTS0_VALID_Msk )) return ;
346+ LINK_REG -> CFIFOCTR = LINK_REG_CFIFOCTR_BCLR_Msk ;
347347 setup_packet [0 ] = tu_le16toh (LINK_REG -> USBREQ );
348348 setup_packet [1 ] = LINK_REG -> USBVAL ;
349349 setup_packet [2 ] = LINK_REG -> USBINDX ;
350350 setup_packet [3 ] = LINK_REG -> USBLENG ;
351- LINK_REG -> INTSTS0 = ~USB_IS0_VALID ;
351+ LINK_REG -> INTSTS0 = ~(( uint16_t ) LINK_REG_INTSTS0_VALID_Msk ) ;
352352 dcd_event_setup_received (rhport , (const uint8_t * )& setup_packet [0 ], true);
353353}
354354
355355static void process_status_completion (uint8_t rhport )
356356{
357357 uint8_t ep_addr ;
358358 /* Check the data stage direction */
359- if (LINK_REG -> CFIFOSEL & USB_FIFOSEL_TX ) {
359+ if (LINK_REG -> CFIFOSEL & LINK_REG_CFIFOSEL_ISEL_WRITE ) {
360360 /* IN transfer. */
361361 ep_addr = tu_edpt_addr (0 , TUSB_DIR_IN );
362362 } else {
@@ -370,12 +370,12 @@ static bool process_pipe0_xfer(int buffer_type, uint8_t ep_addr, void* buffer, u
370370{
371371 /* configure fifo direction and access unit settings */
372372 if (ep_addr ) { /* IN, 2 bytes */
373- LINK_REG -> CFIFOSEL =
374- USB_FIFOSEL_TX | USB_FIFOSEL_MBW_16 | (TU_BYTE_ORDER == TU_BIG_ENDIAN ? USB_FIFOSEL_BIGEND : 0 );
375- while (!(LINK_REG -> CFIFOSEL & USB_FIFOSEL_TX )) ;
373+ LINK_REG -> CFIFOSEL = LINK_REG_CFIFOSEL_ISEL_WRITE | LINK_REG_FIFOSEL_MBW_16BIT |
374+ (TU_BYTE_ORDER == TU_BIG_ENDIAN ? LINK_REG_FIFOSEL_BIGEND : 0 );
375+ while (!(LINK_REG -> CFIFOSEL & LINK_REG_CFIFOSEL_ISEL_WRITE )) ;
376376 } else { /* OUT, a byte */
377- LINK_REG -> CFIFOSEL = USB_FIFOSEL_MBW_8 ;
378- while (LINK_REG -> CFIFOSEL & USB_FIFOSEL_TX ) ;
377+ LINK_REG -> CFIFOSEL = LINK_REG_FIFOSEL_MBW_8BIT ;
378+ while (LINK_REG -> CFIFOSEL & LINK_REG_CFIFOSEL_ISEL_WRITE ) ;
379379 }
380380
381381 pipe_state_t * pipe = & _dcd .pipe [0 ];
@@ -388,11 +388,11 @@ static bool process_pipe0_xfer(int buffer_type, uint8_t ep_addr, void* buffer, u
388388 TU_ASSERT (LINK_REG -> DCPCTR_b .BSTS && (LINK_REG -> USBREQ & 0x80 ));
389389 pipe0_xfer_in ();
390390 }
391- LINK_REG -> DCPCTR = USB_PIPECTR_PID_BUF ;
391+ LINK_REG -> DCPCTR = LINK_REG_PIPE_CTR_PID_BUF ;
392392 } else {
393393 /* ZLP */
394394 pipe -> buf = NULL ;
395- LINK_REG -> DCPCTR = USB_PIPECTR_CCPL | USB_PIPECTR_PID_BUF ;
395+ LINK_REG -> DCPCTR = LINK_REG_DCPCTR_CCPL_Msk | LINK_REG_PIPE_CTR_PID_BUF ;
396396 }
397397 return true;
398398}
@@ -416,7 +416,7 @@ static bool process_pipe_xfer(int buffer_type, uint8_t ep_addr, void* buffer, ui
416416 } else { /* ZLP */
417417 LINK_REG -> D0FIFOSEL = num ;
418418 pipe_wait_for_ready (num );
419- LINK_REG -> D0FIFOCTR = USB_FIFOCTR_BVAL ;
419+ LINK_REG -> D0FIFOCTR = LINK_REG_CFIFOCTR_BVAL_Msk ;
420420 LINK_REG -> D0FIFOSEL = 0 ;
421421 while (LINK_REG -> D0FIFOSEL_b .CURPIPE ) ; /* if CURPIPE bits changes, check written value */
422422 }
@@ -429,11 +429,11 @@ static bool process_pipe_xfer(int buffer_type, uint8_t ep_addr, void* buffer, ui
429429 if (pt ) {
430430 const unsigned mps = edpt_max_packet_size (num );
431431 volatile uint16_t * ctr = get_pipectr (num );
432- if (* ctr & 0x3 ) * ctr = USB_PIPECTR_PID_NAK ;
432+ if (* ctr & 0x3 ) * ctr = LINK_REG_PIPE_CTR_PID_NAK ;
433433 pt -> TRE = TU_BIT (8 );
434434 pt -> TRN = (total_bytes + mps - 1 ) / mps ;
435435 pt -> TRENB = 1 ;
436- * ctr = USB_PIPECTR_PID_BUF ;
436+ * ctr = LINK_REG_PIPE_CTR_PID_BUF ;
437437 }
438438 }
439439 // TU_LOG1("X %x %d %d\r\n", ep_addr, total_bytes, buffer_type);
@@ -487,7 +487,7 @@ static void process_bus_reset(uint8_t rhport)
487487{
488488 LINK_REG -> BEMPENB = 1 ;
489489 LINK_REG -> BRDYENB = 1 ;
490- LINK_REG -> CFIFOCTR = USB_FIFOCTR_BCLR ;
490+ LINK_REG -> CFIFOCTR = LINK_REG_CFIFOCTR_BCLR_Msk ;
491491 LINK_REG -> D0FIFOSEL = 0 ;
492492 while (LINK_REG -> D0FIFOSEL_b .CURPIPE ) ; /* if CURPIPE bits changes, check written value */
493493 LINK_REG -> D1FIFOSEL = 0 ;
@@ -497,7 +497,7 @@ static void process_bus_reset(uint8_t rhport)
497497 for (int i = 1 ; i <= 5 ; ++ i ) {
498498 LINK_REG -> PIPESEL = i ;
499499 LINK_REG -> PIPECFG = 0 ;
500- * ctr = USB_PIPECTR_ACLRM ;
500+ * ctr = LINK_REG_PIPE_CTR_ACLRM_Msk ;
501501 * ctr = 0 ;
502502 ++ ctr ;
503503 * tre = TU_BIT (8 );
@@ -506,7 +506,7 @@ static void process_bus_reset(uint8_t rhport)
506506 for (int i = 6 ; i <= 9 ; ++ i ) {
507507 LINK_REG -> PIPESEL = i ;
508508 LINK_REG -> PIPECFG = 0 ;
509- * ctr = USB_PIPECTR_ACLRM ;
509+ * ctr = LINK_REG_PIPE_CTR_ACLRM_Msk ;
510510 * ctr = 0 ;
511511 ++ ctr ;
512512 }
@@ -553,8 +553,9 @@ void dcd_init(uint8_t rhport)
553553
554554 /* Setup default control pipe */
555555 LINK_REG -> DCPMAXP_b .MXPS = 64 ;
556- LINK_REG -> INTENB0 = USB_IS0_VBINT | USB_IS0_BRDY | USB_IS0_BEMP | USB_IS0_DVST | USB_IS0_CTRT |
557- (USE_SOF ? USB_IS0_SOFR : 0 ) | USB_IS0_RESM ;
556+ LINK_REG -> INTENB0 = LINK_REG_INTSTS0_VBINT_Msk | LINK_REG_INTSTS0_BRDY_Msk | LINK_REG_INTSTS0_BEMP_Msk |
557+ LINK_REG_INTSTS0_DVST_Msk | LINK_REG_INTSTS0_CTRT_Msk | (USE_SOF ? LINK_REG_INTSTS0_SOFR_Msk : 0 ) |
558+ LINK_REG_INTSTS0_RESM_Msk ;
558559 LINK_REG -> BEMPENB = 1 ;
559560 LINK_REG -> BRDYENB = 1 ;
560561
@@ -625,21 +626,21 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * ep_desc)
625626 LINK_REG -> PIPESEL = num ;
626627 LINK_REG -> PIPEMAXP = mps ;
627628 volatile uint16_t * ctr = get_pipectr (num );
628- * ctr = USB_PIPECTR_ACLRM | USB_PIPECTR_SQCLR ;
629+ * ctr = LINK_REG_PIPE_CTR_ACLRM_Msk | LINK_REG_PIPE_CTR_SQCLR_Msk ;
629630 * ctr = 0 ;
630631 unsigned cfg = (dir << 4 ) | epn ;
631632 if (xfer == TUSB_XFER_BULK ) {
632- cfg |= (USB_PIPECFG_BULK | USB_PIPECFG_SHTNAK | USB_PIPECFG_DBLB );
633+ cfg |= (LINK_REG_PIPECFG_TYPE_BULK | LINK_REG_PIPECFG_SHTNAK_Msk | LINK_REG_PIPECFG_DBLB_Msk );
633634 } else if (xfer == TUSB_XFER_INTERRUPT ) {
634- cfg |= USB_PIPECFG_INT ;
635+ cfg |= LINK_REG_PIPECFG_TYPE_ISO ;
635636 } else {
636- cfg |= (USB_PIPECFG_ISO | USB_PIPECFG_DBLB );
637+ cfg |= (LINK_REG_PIPECFG_TYPE_INT | LINK_REG_PIPECFG_DBLB_Msk );
637638 }
638639 LINK_REG -> PIPECFG = cfg ;
639640 LINK_REG -> BRDYSTS = 0x1FFu ^ TU_BIT (num );
640641 LINK_REG -> BRDYENB |= TU_BIT (num );
641642 if (dir || (xfer != TUSB_XFER_BULK )) {
642- * ctr = USB_PIPECTR_PID_BUF ;
643+ * ctr = LINK_REG_PIPE_CTR_PID_BUF ;
643644 }
644645 // TU_LOG1("O %d %x %x\r\n", LINK_REG->PIPESEL, LINK_REG->PIPECFG, LINK_REG->PIPEMAXP);
645646 dcd_int_enable (rhport );
@@ -701,8 +702,8 @@ void dcd_edpt_stall(uint8_t rhport, uint8_t ep_addr)
701702 if (!ctr ) return ;
702703 dcd_int_disable (rhport );
703704 const uint32_t pid = * ctr & 0x3 ;
704- * ctr = pid | USB_PIPECTR_PID_STALL ;
705- * ctr = USB_PIPECTR_PID_STALL ;
705+ * ctr = pid | LINK_REG_PIPE_CTR_PID_STALL ;
706+ * ctr = LINK_REG_PIPE_CTR_PID_STALL ;
706707 dcd_int_enable (rhport );
707708}
708709
@@ -711,15 +712,15 @@ void dcd_edpt_clear_stall(uint8_t rhport, uint8_t ep_addr)
711712 volatile uint16_t * ctr = ep_addr_to_pipectr (rhport , ep_addr );
712713 if (!ctr ) return ;
713714 dcd_int_disable (rhport );
714- * ctr = USB_PIPECTR_SQCLR ;
715+ * ctr = LINK_REG_PIPE_CTR_SQCLR_Msk ;
715716
716717 if (tu_edpt_dir (ep_addr )) { /* IN */
717- * ctr = USB_PIPECTR_PID_BUF ;
718+ * ctr = LINK_REG_PIPE_CTR_PID_BUF ;
718719 } else {
719720 const unsigned num = _dcd .ep [0 ][tu_edpt_number (ep_addr )];
720721 LINK_REG -> PIPESEL = num ;
721722 if (LINK_REG -> PIPECFG_b .TYPE != 1 ) {
722- * ctr = USB_PIPECTR_PID_BUF ;
723+ * ctr = LINK_REG_PIPE_CTR_PID_BUF ;
723724 }
724725 }
725726 dcd_int_enable (rhport );
@@ -734,39 +735,40 @@ void dcd_int_handler(uint8_t rhport)
734735
735736 unsigned is0 = LINK_REG -> INTSTS0 ;
736737 /* clear active bits except VALID (don't write 0 to already cleared bits according to the HW manual) */
737- LINK_REG -> INTSTS0 = ~((USB_IS0_CTRT | USB_IS0_DVST | USB_IS0_SOFR | USB_IS0_RESM | USB_IS0_VBINT ) & is0 ) | USB_IS0_VALID ;
738- if (is0 & USB_IS0_VBINT ) {
738+ LINK_REG -> INTSTS0 = ~((LINK_REG_INTSTS0_CTRT_Msk | LINK_REG_INTSTS0_DVST_Msk | LINK_REG_INTSTS0_SOFR_Msk |
739+ LINK_REG_INTSTS0_RESM_Msk | LINK_REG_INTSTS0_VBINT_Msk ) & is0 ) | LINK_REG_INTSTS0_VALID_Msk ;
740+ if (is0 & LINK_REG_INTSTS0_VBINT_Msk ) {
739741 if (LINK_REG -> INTSTS0_b .VBSTS ) {
740742 dcd_connect (rhport );
741743 } else {
742744 dcd_disconnect (rhport );
743745 }
744746 }
745- if (is0 & USB_IS0_RESM ) {
747+ if (is0 & LINK_REG_INTSTS0_RESM_Msk ) {
746748 dcd_event_bus_signal (rhport , DCD_EVENT_RESUME , true);
747749#if (0 == USE_SOF )
748750 LINK_REG -> INTENB0_b .SOFE = 0 ;
749751#endif
750752 }
751- if ((is0 & USB_IS0_SOFR ) && LINK_REG -> INTENB0_b .SOFE ) {
753+ if ((is0 & LINK_REG_INTSTS0_SOFR_Msk ) && LINK_REG -> INTENB0_b .SOFE ) {
752754 // USBD will exit suspended mode when SOF event is received
753755 dcd_event_bus_signal (rhport , DCD_EVENT_SOF , true);
754756#if (0 == USE_SOF )
755757 LINK_REG -> INTENB0_b .SOFE = 0 ;
756758#endif
757759 }
758- if (is0 & USB_IS0_DVST ) {
759- switch (is0 & USB_IS0_DVSQ ) {
760- case USB_IS0_DVSQ_DEF :
760+ if (is0 & LINK_REG_INTSTS0_DVST_Msk ) {
761+ switch (is0 & LINK_REG_INTSTS0_DVSQ_Msk ) {
762+ case LINK_REG_INTSTS0_DVSQ_STATE_DEF :
761763 process_bus_reset (rhport );
762764 break ;
763- case USB_IS0_DVSQ_ADDR :
765+ case LINK_REG_INTSTS0_DVSQ_STATE_ADDR :
764766 process_set_address (rhport );
765767 break ;
766- case USB_IS0_DVSQ_SUSP0 :
767- case USB_IS0_DVSQ_SUSP1 :
768- case USB_IS0_DVSQ_SUSP2 :
769- case USB_IS0_DVSQ_SUSP3 :
768+ case LINK_REG_INTSTS0_DVSQ_STATE_SUSP0 :
769+ case LINK_REG_INTSTS0_DVSQ_STATE_SUSP1 :
770+ case LINK_REG_INTSTS0_DVSQ_STATE_SUSP2 :
771+ case LINK_REG_INTSTS0_DVSQ_STATE_SUSP3 :
770772 dcd_event_bus_signal (rhport , DCD_EVENT_SUSPEND , true);
771773#if (0 == USE_SOF )
772774 LINK_REG -> INTENB0_b .SOFE = 1 ;
@@ -775,23 +777,23 @@ void dcd_int_handler(uint8_t rhport)
775777 break ;
776778 }
777779 }
778- if (is0 & USB_IS0_CTRT ) {
779- if (is0 & USB_IS0_CTSQ_SETUP ) {
780+ if (is0 & LINK_REG_INTSTS0_CTRT_Msk ) {
781+ if (is0 & LINK_REG_INTSTS0_CTSQ_CTRL_RDATA ) {
780782 /* A setup packet has been received. */
781783 process_setup_packet (rhport );
782- } else if (0 == (is0 & USB_IS0_CTSQ_MSK )) {
784+ } else if (0 == (is0 & LINK_REG_INTSTS0_CTSQ_Msk )) {
783785 /* A ZLP has been sent/received. */
784786 process_status_completion (rhport );
785787 }
786788 }
787- if (is0 & USB_IS0_BEMP ) {
789+ if (is0 & LINK_REG_INTSTS0_BEMP_Msk ) {
788790 const unsigned s = LINK_REG -> BEMPSTS ;
789791 LINK_REG -> BEMPSTS = 0 ;
790792 if (s & 1 ) {
791793 process_pipe0_bemp (rhport );
792794 }
793795 }
794- if (is0 & USB_IS0_BRDY ) {
796+ if (is0 & LINK_REG_INTSTS0_BRDY_Msk ) {
795797 const unsigned m = LINK_REG -> BRDYENB ;
796798 unsigned s = LINK_REG -> BRDYSTS & m ;
797799 /* clear active bits (don't write 0 to already cleared bits according to the HW manual) */
0 commit comments