DSP281x_Mcbsp.h
上传用户:qingfan3
上传日期:2014-10-27
资源大小:31439k
文件大小:35k
源码类别:

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE:   DSP281x_Mcbsp.h
  4. //
  5. // TITLE:  DSP281x Device McBSP Register Definitions.
  6. //
  7. //###########################################################################
  8. //
  9. //  Ver | dd mmm yyyy | Who  | Description of changes
  10. // =====|=============|======|===============================================
  11. //  1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.58 Alpha)
  12. //      |             |      | Changed the name of PCR1 register to PCR
  13. //      |             |      | Fixed name of GSYNC bit (was GYSNC)
  14. //      |             |      | Changed bit 14 of SRGR2 to reserved
  15. //      |             |      | RFULL bit in SPCR1 was mislabled (was REMPTY)
  16. //      |             |      | XCERA register bits changed from XCEAn to XCERAn   
  17. //      |             |      | XCERB register bits changed from XCEBn to XCERBn
  18. //      |             |      | XCERC register bits changed from XCECn to XCERCn
  19. //      |             |      | XCERD register bits changed from XCEDn to XCERDn
  20. //      |             |      | XCERE register bits changed from XCEEn to XCEREn
  21. //      |             |      | XCERF register bits changed from XCEFn to XCERFn
  22. //      |             |      | XCERG register bits changed from XCEGn to XCERGn
  23. //      |             |      | MFFTX register bits change to align with user's guide
  24. //      |             |      | MFFRX register bits change to align with user's guide
  25. //###########################################################################
  26. #ifndef DSP281x_MCBSP_H
  27. #define DSP281x_MCBSP_H
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. //---------------------------------------------------------------------------
  32. // McBSP Individual Register Bit Definitions:
  33. //
  34. // McBSP DRR2 register bit definitions:
  35. struct  DRR2_BITS {       // bit   description
  36.    Uint16     HWLB:8;     // 16:23 High word low byte
  37.    Uint16     HWHB:8;     // 24:31 High word high byte
  38. };                                                                 
  39. union DRR2_REG {
  40.    Uint16            all;
  41.    struct DRR2_BITS  bit;
  42. };
  43. // McBSP DRR1 register bit definitions:
  44. struct  DRR1_BITS {       // bit   description
  45.    Uint16     LWLB:8;     // 16:23 Low word low byte
  46.    Uint16     LWHB:8;     // 24:31 low word high byte
  47. };
  48. union DRR1_REG {
  49.    Uint16            all;
  50.    struct DRR1_BITS  bit;
  51. };
  52. // McBSP DXR2 register bit definitions:
  53. struct  DXR2_BITS {       // bit   description
  54.    Uint16     HWLB:8;     // 16:23 High word low byte
  55.    Uint16     HWHB:8;     // 24:31 High word high byte
  56. };
  57. union DXR2_REG {
  58.    Uint16            all;
  59.    struct DXR2_BITS  bit;
  60. };
  61. // McBSP DXR1 register bit definitions:
  62. struct  DXR1_BITS {       // bit   description
  63.    Uint16     LWLB:8;     // 16:23 Low word low byte
  64.    Uint16     LWHB:8;     // 24:31 low word high byte
  65. };               
  66. union DXR1_REG {
  67.    Uint16              all;
  68.    struct DXR1_BITS  bit;
  69. };
  70. // SPCR2 control register bit definitions:
  71. struct  SPCR2_BITS {       // bit   description
  72.    Uint16     XRST:1;      // 0     transmit reset
  73.    Uint16     XRDY:1;      // 1     transmit ready
  74.    Uint16     XEMPTY:1;    // 2     Transmit empty    
  75.    Uint16     XSYNCERR:1;  // 3     Transmit syn errorINT flag
  76.    Uint16     XINTM:2;     // 5:4   Transmit interrupt types
  77.    Uint16     GRST:1;      // 6     CLKG reset     
  78.    Uint16     FRST:1;      // 7     Frame sync reset
  79.    Uint16     SOFT:1;      // 8     SOFT bit
  80.    Uint16     FREE:1;      // 9     FREE bit
  81.    Uint16     rsvd:6;      // 15:10 reserved
  82. }; 
  83. union SPCR2_REG {
  84.    Uint16               all;
  85.    struct SPCR2_BITS  bit;
  86. };
  87.          
  88. // SPCR1 control register bit definitions:
  89. struct  SPCR1_BITS {       // bit   description
  90.    Uint16     RRST:1;      // 0     Receive reset
  91.    Uint16     RRDY:1;      // 1     Receive  ready
  92.    Uint16     RFULL:1;     // 2     Receive  full    
  93.    Uint16     RSYNCERR:1;  // 7     Receive  syn error
  94.    Uint16     RINTM:2;     // 5:4   Receive  interrupt types
  95.    Uint16     ABIS:1;      // 6     ABIS mode select     
  96.    Uint16     DXENA:1;     // 7     DX hi-z enable     
  97.    Uint16     rsvd:3;      // 10:8  reserved  
  98.    Uint16     CLKSTP:2;    // 12:11 CLKSTOP mode bit
  99.    Uint16     RJUST:2;     // 13:14 Right justified
  100.    Uint16     DLB:1;       // 15    Digital loop back
  101. }; 
  102. union SPCR1_REG {
  103.    Uint16              all;
  104.    struct SPCR1_BITS bit;
  105. };                                                               
  106. // RCR2 control register bit definitions:
  107. struct  RCR2_BITS {         // bit    description
  108.    Uint16     RDATDLY:2;    // 1:0    Receive data delay
  109.    Uint16     RFIG:1;       // 2      Receive  frame sync ignore
  110.    Uint16     RCOMPAND:2;   // 4:3    Receive  Companding Mode selects
  111.    Uint16     RWDLEN2:3;    // 7:5    Receive  word length   
  112.    Uint16     RFRLEN2:7;    // 14:8   Receive  Frame sync
  113.    Uint16     RPHASE:1;     // 15     Receive Phase
  114. }; 
  115. union RCR2_REG {
  116.    Uint16           all;
  117.    struct RCR2_BITS bit;
  118. };
  119.      
  120. // RCR1 control register bit definitions:
  121. struct  RCR1_BITS {         // bit   description
  122.    Uint16     rsvd1:5;      // 4:0   reserved  
  123.    Uint16     RWDLEN1:3;    // 7:5   Receive word length   
  124.    Uint16     RFRLEN1:7;    // 14:8  Receive frame length    
  125.    Uint16     rsvd2:1;      // 15    reserved  
  126. }; 
  127. union RCR1_REG {
  128.    Uint16           all;
  129.    struct RCR1_BITS bit;
  130. };    
  131. // XCR2 control register bit definitions:
  132. struct  XCR2_BITS {         // bit    description
  133.    Uint16     XDATDLY:2;    // 1:0    Transmit data delay
  134.    Uint16     XFIG:1;       // 2      Transmit frame sync ignore
  135.    Uint16     XCOMPAND:2;   // 4:3    Transmit Companding Mode selects
  136.    Uint16     XWDLEN2:3;    // 7:5    Transmit  word length   
  137.    Uint16     XFRLEN2:7;    // 14:8   Transmit  Frame sync
  138.    Uint16     XPHASE:1;     // 15     Transmit Phase
  139. }; 
  140. union XCR2_REG {
  141.    Uint16           all;
  142.    struct XCR2_BITS bit;
  143. };
  144.      
  145. // XCR1 control register bit definitions:
  146. struct  XCR1_BITS {         // bit   description
  147.    Uint16     rsvd1:5;      // 4:0   reserved      
  148.    Uint16     XWDLEN1:3;    // 7:5   Transmit word length    
  149.    Uint16     XFRLEN1:7;    // 14:8  Transmit frame length    
  150.    Uint16     rsvd2:1;      // 15    reserved  
  151. }; 
  152. union XCR1_REG {
  153.    Uint16             all;
  154.    struct XCR1_BITS bit;
  155. };         
  156. // SRGR2 Sample rate generator control register bit definitions:
  157. struct  SRGR2_BITS {        // bit  description
  158.    Uint16     FPER:12;      // 11:0 Frame period
  159.    Uint16     FSGM:1;       // 12   Frame sync generator mode 
  160.    Uint16     CLKSM:1;      // 13   Sample rate generator mode
  161.    Uint16     rsvd:1;       // 14   reserved 
  162.    Uint16     GSYNC:1;      // 15   CLKG sync   
  163. }; 
  164. union  SRGR2_REG {
  165.    Uint16              all;
  166.    struct  SRGR2_BITS  bit;
  167. };
  168. // SRGR1 control register bit definitions:
  169. struct  SRGR1_BITS {        // bit   description
  170.    Uint16     CLKGDV:8;     // 7:0   CLKG divider 
  171.    Uint16     FWID:8;       // 15:8  Frame width
  172. }; 
  173. union  SRGR1_REG {
  174.    Uint16              all;
  175.    struct  SRGR1_BITS  bit;
  176. };
  177. // MCR2 Multichannel control register bit definitions:
  178. struct  MCR2_BITS {         // bit   description
  179.    Uint16     XMCM:2;       // 1:0   Transmit multichannel mode      
  180.    Uint16     XCBLK:3;      // 2:4   Transmit current block    
  181.    Uint16     XPABLK:2;     // 5:6   Transmit partition A Block 
  182.    Uint16     XPBBLK:2;     // 7:8   Transmit partition B Block 
  183.    Uint16     XMCME:1;      // 9     Transmit multi-channel enhance mode 
  184.    Uint16     rsvd:6;       // 15:10 reserved  
  185. }; 
  186. union  MCR2_REG {
  187.    Uint16             all;
  188.    struct  MCR2_BITS  bit;
  189. };
  190.       
  191. // MCR1 Multichannel control register bit definitions:
  192. struct  MCR1_BITS {         // bit   description
  193.    Uint16     RMCM:1;       // 0     Receive multichannel mode  
  194.    Uint16     rsvd:1;       // 1     reserved     
  195.    Uint16     RCBLK:3;      // 4:2   Receive current block    
  196.    Uint16     RPABLK:2;     // 6:5   Receive partition A Block 
  197.    Uint16     RPBBLK:2;     // 7:8   Receive partition B Block 
  198.    Uint16     RMCME:1;      // 9     Receive multi-channel enhance mode 
  199.    Uint16     rsvd1:6;      // 15:10 reserved   
  200. }; 
  201. union  MCR1_REG {
  202.    Uint16             all;
  203.    struct  MCR1_BITS  bit;
  204. };
  205.  
  206. // RCERA control register bit definitions:
  207. struct  RCERA_BITS {         // bit description
  208.    Uint16     RCEA0:1;       // 0   Receive Channel enable bit  
  209.    Uint16     RCEA1:1;       // 1   Receive Channel enable bit  
  210.    Uint16     RCEA2:1;       // 2   Receive Channel enable bit  
  211.    Uint16     RCEA3:1;       // 3   Receive Channel enable bit   
  212.    Uint16     RCEA4:1;       // 4   Receive Channel enable bit  
  213.    Uint16     RCEA5:1;       // 5   Receive Channel enable bit  
  214.    Uint16     RCEA6:1;       // 6   Receive Channel enable bit  
  215.    Uint16     RCEA7:1;       // 7   Receive Channel enable bit 
  216.    Uint16     RCEA8:1;       // 8   Receive Channel enable bit  
  217.    Uint16     RCEA9:1;       // 9   Receive Channel enable bit  
  218.    Uint16     RCEA10:1;      // 10  Receive Channel enable bit  
  219.    Uint16     RCEA11:1;      // 11  Receive Channel enable bit 
  220.    Uint16     RCEA12:1;      // 12  Receive Channel enable bit  
  221.    Uint16     RCEA13:1;      // 13  Receive Channel enable bit  
  222.    Uint16     RCEA14:1;      // 14  Receive Channel enable bit  
  223.    Uint16     RCEA15:1;      // 15  Receive Channel enable bit 
  224. }; 
  225. union RCERA_REG {
  226.    Uint16              all;
  227.    struct  RCERA_BITS  bit;
  228. };  
  229. // RCERB control register bit definitions:
  230. struct  RCERB_BITS {         // bit description
  231.    Uint16     RCEB0:1;       // 0   Receive Channel enable bit  
  232.    Uint16     RCEB1:1;       // 1   Receive Channel enable bit  
  233.    Uint16     RCEB2:1;       // 2   Receive Channel enable bit  
  234.    Uint16     RCEB3:1;       // 3   Receive Channel enable bit   
  235.    Uint16     RCEB4:1;       // 4   Receive Channel enable bit  
  236.    Uint16     RCEB5:1;       // 5   Receive Channel enable bit  
  237.    Uint16     RCEB6:1;       // 6   Receive Channel enable bit  
  238.    Uint16     RCEB7:1;       // 7   Receive Channel enable bit 
  239.    Uint16     RCEB8:1;       // 8   Receive Channel enable bit  
  240.    Uint16     RCEB9:1;       // 9   Receive Channel enable bit  
  241.    Uint16     RCEB10:1;      // 10  Receive Channel enable bit  
  242.    Uint16     RCEB11:1;      // 11  Receive Channel enable bit 
  243.    Uint16     RCEB12:1;      // 12  Receive Channel enable bit  
  244.    Uint16     RCEB13:1;      // 13  Receive Channel enable bit  
  245.    Uint16     RCEB14:1;      // 14  Receive Channel enable bit  
  246.    Uint16     RCEB15:1;      // 15  Receive Channel enable bit   
  247. }; 
  248. union RCERB_REG {
  249.    Uint16              all;
  250.    struct  RCERB_BITS  bit;
  251. };
  252. // XCERA control register bit definitions:
  253. struct  XCERA_BITS {         // bit description
  254.    Uint16     XCERA0:1;       // 0   Receive Channel enable bit  
  255.    Uint16     XCERA1:1;       // 1   Receive Channel enable bit  
  256.    Uint16     XCERA2:1;       // 2   Receive Channel enable bit  
  257.    Uint16     XCERA3:1;       // 3   Receive Channel enable bit   
  258.    Uint16     XCERA4:1;       // 4   Receive Channel enable bit  
  259.    Uint16     XCERA5:1;       // 5   Receive Channel enable bit  
  260.    Uint16     XCERA6:1;       // 6   Receive Channel enable bit  
  261.    Uint16     XCERA7:1;       // 7   Receive Channel enable bit 
  262.    Uint16     XCERA8:1;       // 8   Receive Channel enable bit  
  263.    Uint16     XCERA9:1;       // 9   Receive Channel enable bit  
  264.    Uint16     XCERA10:1;      // 10  Receive Channel enable bit  
  265.    Uint16     XCERA11:1;      // 11  Receive Channel enable bit 
  266.    Uint16     XCERA12:1;      // 12  Receive Channel enable bit  
  267.    Uint16     XCERA13:1;      // 13  Receive Channel enable bit  
  268.    Uint16     XCERA14:1;      // 14  Receive Channel enable bit  
  269.    Uint16     XCERA15:1;      // 15  Receive Channel enable bit 
  270. }; 
  271. union XCERA_REG {
  272.    Uint16              all;
  273.    struct  XCERA_BITS  bit;
  274. };  
  275. // XCERB control register bit definitions:
  276. struct  XCERB_BITS {         // bit description
  277.    Uint16     XCERB0:1;       // 0   Receive Channel enable bit  
  278.    Uint16     XCERB1:1;       // 1   Receive Channel enable bit  
  279.    Uint16     XCERB2:1;       // 2   Receive Channel enable bit  
  280.    Uint16     XCERB3:1;       // 3   Receive Channel enable bit   
  281.    Uint16     XCERB4:1;       // 4   Receive Channel enable bit  
  282.    Uint16     XCERB5:1;       // 5   Receive Channel enable bit  
  283.    Uint16     XCERB6:1;       // 6   Receive Channel enable bit  
  284.    Uint16     XCERB7:1;       // 7   Receive Channel enable bit 
  285.    Uint16     XCERB8:1;       // 8   Receive Channel enable bit  
  286.    Uint16     XCERB9:1;       // 9   Receive Channel enable bit  
  287.    Uint16     XCERB10:1;      // 10  Receive Channel enable bit  
  288.    Uint16     XCERB11:1;      // 11  Receive Channel enable bit 
  289.    Uint16     XCERB12:1;      // 12  Receive Channel enable bit  
  290.    Uint16     XCERB13:1;      // 13  Receive Channel enable bit  
  291.    Uint16     XCERB14:1;      // 14  Receive Channel enable bit  
  292.    Uint16     XCERB15:1;      // 15  Receive Channel enable bit 
  293. }; 
  294. union XCERB_REG {
  295.    Uint16              all;
  296.    struct  XCERB_BITS  bit;
  297. };
  298.   
  299. // PCR control register bit definitions:
  300. struct  PCR_BITS {          // bit description
  301.    Uint16     CLKRP:1;       // 0   Receive Clock polarity
  302.    Uint16     CLKXP:1;       // 1   Transmit clock polarity  
  303.    Uint16     FSRP:1;        // 2   Receive Frame synchronization polarity  
  304.    Uint16     FSXP:1;        // 3   Transmit Frame synchronization polarity   
  305.    Uint16     DR_STAT:1;     // 4   DR pin status - reserved for this McBSP  
  306.    Uint16     DX_STAT:1;     // 5   DX pin status - reserved for this McBSP  
  307.    Uint16     CLKS_STAT:1;   // 6   CLKS pin status - reserved for 28x -McBSP  
  308.    Uint16     SCLKME:1;      // 7   Enhanced sample clock mode selection bit.
  309.    Uint16     CLKRM:1;       // 8   Receiver Clock Mode 
  310.    Uint16     CLKXM:1;       // 9   Transmitter Clock Mode.  
  311.    Uint16     FSRM:1;        // 10  Receive Frame Synchronization Mode  
  312.    Uint16     FSXM:1;        // 11  Transmit Frame Synchronization Mode
  313.    Uint16     RIOEN:1;       // 12  General Purpose I/O Mode - reserved in this 28x-McBSP    
  314.    Uint16     XIOEN:1;       // 13  General Purpose I/O Mode - reserved in this 28x-McBSP
  315.    Uint16     IDEL_EN:1;     // 14  reserved in this 28x-McBSP
  316.    Uint16     rsvd:1  ;      // 15  reserved
  317. }; 
  318. union PCR_REG {
  319.    Uint16            all;
  320.    struct  PCR_BITS  bit;
  321. };
  322.   
  323. // RCERC control register bit definitions:
  324. struct  RCERC_BITS {         // bit description
  325.    Uint16     RCEC0:1;       // 0   Receive Channel enable bit  
  326.    Uint16     RCEC1:1;       // 1   Receive Channel enable bit  
  327.    Uint16     RCEC2:1;       // 2   Receive Channel enable bit  
  328.    Uint16     RCEC3:1;       // 3   Receive Channel enable bit   
  329.    Uint16     RCEC4:1;       // 4   Receive Channel enable bit  
  330.    Uint16     RCEC5:1;       // 5   Receive Channel enable bit  
  331.    Uint16     RCEC6:1;       // 6   Receive Channel enable bit  
  332.    Uint16     RCEC7:1;       // 7   Receive Channel enable bit 
  333.    Uint16     RCEC8:1;       // 8   Receive Channel enable bit  
  334.    Uint16     RCEC9:1;       // 9   Receive Channel enable bit  
  335.    Uint16     RCEC10:1;      // 10  Receive Channel enable bit  
  336.    Uint16     RCEC11:1;      // 11  Receive Channel enable bit 
  337.    Uint16     RCEC12:1;      // 12  Receive Channel enable bit  
  338.    Uint16     RCEC13:1;      // 13  Receive Channel enable bit  
  339.    Uint16     RCEC14:1;      // 14  Receive Channel enable bit  
  340.    Uint16     RCEC15:1;      // 15  Receive Channel enable bit 
  341. }; 
  342. union RCERC_REG {
  343.    Uint16              all;
  344.    struct  RCERC_BITS  bit;
  345. };  
  346. // RCERD control register bit definitions:
  347. struct  RCERD_BITS {         // bit description
  348.    Uint16     RCED0:1;       // 0   Receive Channel enable bit  
  349.    Uint16     RCED1:1;       // 1   Receive Channel enable bit  
  350.    Uint16     RCED2:1;       // 2   Receive Channel enable bit  
  351.    Uint16     RCED3:1;       // 3   Receive Channel enable bit   
  352.    Uint16     RCED4:1;       // 4   Receive Channel enable bit  
  353.    Uint16     RCED5:1;       // 5   Receive Channel enable bit  
  354.    Uint16     RCED6:1;       // 6   Receive Channel enable bit  
  355.    Uint16     RCED7:1;       // 7   Receive Channel enable bit 
  356.    Uint16     RCED8:1;       // 8   Receive Channel enable bit  
  357.    Uint16     RCED9:1;       // 9   Receive Channel enable bit  
  358.    Uint16     RCED10:1;      // 10  Receive Channel enable bit  
  359.    Uint16     RCED11:1;      // 11  Receive Channel enable bit 
  360.    Uint16     RCED12:1;      // 12  Receive Channel enable bit  
  361.    Uint16     RCED13:1;      // 13  Receive Channel enable bit  
  362.    Uint16     RCED14:1;      // 14  Receive Channel enable bit  
  363.    Uint16     RCED15:1;      // 15  Receive Channel enable bit 
  364. }; 
  365. union RCERD_REG {
  366.    Uint16              all;
  367.    struct  RCERD_BITS  bit;
  368. };
  369. // XCERC control register bit definitions:
  370. struct  XCERC_BITS {         // bit description
  371.    Uint16     XCERC0:1;       // 0   Receive Channel enable bit  
  372.    Uint16     XCERC1:1;       // 1   Receive Channel enable bit  
  373.    Uint16     XCERC2:1;       // 2   Receive Channel enable bit  
  374.    Uint16     XCERC3:1;       // 3   Receive Channel enable bit   
  375.    Uint16     XCERC4:1;       // 4   Receive Channel enable bit  
  376.    Uint16     XCERC5:1;       // 5   Receive Channel enable bit  
  377.    Uint16     XCERC6:1;       // 6   Receive Channel enable bit  
  378.    Uint16     XCERC7:1;       // 7   Receive Channel enable bit 
  379.    Uint16     XCERC8:1;       // 8   Receive Channel enable bit  
  380.    Uint16     XCERC9:1;       // 9   Receive Channel enable bit  
  381.    Uint16     XCERC10:1;      // 10  Receive Channel enable bit  
  382.    Uint16     XCERC11:1;      // 11  Receive Channel enable bit 
  383.    Uint16     XCERC12:1;      // 12  Receive Channel enable bit  
  384.    Uint16     XCERC13:1;      // 13  Receive Channel enable bit  
  385.    Uint16     XCERC14:1;      // 14  Receive Channel enable bit  
  386.    Uint16     XCERC15:1;      // 15  Receive Channel enable bit 
  387. }; 
  388. union XCERC_REG {
  389.    Uint16              all;
  390.    struct  XCERC_BITS  bit;
  391. };  
  392. // XCERD control register bit definitions:
  393. struct  XCERD_BITS {         // bit description
  394.    Uint16     XCERD0:1;       // 0   Receive Channel enable bit  
  395.    Uint16     XCERD1:1;       // 1   Receive Channel enable bit  
  396.    Uint16     XCERD2:1;       // 2   Receive Channel enable bit  
  397.    Uint16     XCERD3:1;       // 3   Receive Channel enable bit   
  398.    Uint16     XCERD4:1;       // 4   Receive Channel enable bit  
  399.    Uint16     XCERD5:1;       // 5   Receive Channel enable bit  
  400.    Uint16     XCERD6:1;       // 6   Receive Channel enable bit  
  401.    Uint16     XCERD7:1;       // 7   Receive Channel enable bit 
  402.    Uint16     XCERD8:1;       // 8   Receive Channel enable bit  
  403.    Uint16     XCERD9:1;       // 9   Receive Channel enable bit  
  404.    Uint16     XCERD10:1;      // 10  Receive Channel enable bit  
  405.    Uint16     XCERD11:1;      // 11  Receive Channel enable bit 
  406.    Uint16     XCERD12:1;      // 12  Receive Channel enable bit  
  407.    Uint16     XCERD13:1;      // 13  Receive Channel enable bit  
  408.    Uint16     XCERD14:1;      // 14  Receive Channel enable bit  
  409.    Uint16     XCERD15:1;      // 15  Receive Channel enable bit 
  410. }; 
  411. union XCERD_REG {
  412.    Uint16              all;
  413.    struct  XCERD_BITS  bit;
  414. };
  415.   
  416. // RCERE control register bit definitions:
  417. struct  RCERE_BITS {         // bit description
  418.    Uint16     RCEE0:1;       // 0   Receive Channel enable bit  
  419.    Uint16     RCEE1:1;       // 1   Receive Channel enable bit  
  420.    Uint16     RCEE2:1;       // 2   Receive Channel enable bit  
  421.    Uint16     RCEE3:1;       // 3   Receive Channel enable bit   
  422.    Uint16     RCEE4:1;       // 4   Receive Channel enable bit  
  423.    Uint16     RCEE5:1;       // 5   Receive Channel enable bit  
  424.    Uint16     RCEE6:1;       // 6   Receive Channel enable bit  
  425.    Uint16     RCEE7:1;       // 7   Receive Channel enable bit 
  426.    Uint16     RCEE8:1;       // 8   Receive Channel enable bit  
  427.    Uint16     RCEE9:1;       // 9   Receive Channel enable bit  
  428.    Uint16     RCEE10:1;      // 10  Receive Channel enable bit  
  429.    Uint16     RCEE11:1;      // 11  Receive Channel enable bit 
  430.    Uint16     RCEE12:1;      // 12  Receive Channel enable bit  
  431.    Uint16     RCEE13:1;      // 13  Receive Channel enable bit  
  432.    Uint16     RCEE14:1;      // 14  Receive Channel enable bit  
  433.    Uint16     RCEE15:1;      // 15  Receive Channel enable bit 
  434. }; 
  435. union RCERE_REG {
  436.    Uint16              all;
  437.    struct  RCERE_BITS  bit;
  438. };  
  439. // RCERF control register bit definitions:
  440. struct  RCERF_BITS {         // bit   description
  441.    Uint16     RCEF0:1;       // 0   Receive Channel enable bit  
  442.    Uint16     RCEF1:1;       // 1   Receive Channel enable bit  
  443.    Uint16     RCEF2:1;       // 2   Receive Channel enable bit  
  444.    Uint16     RCEF3:1;       // 3   Receive Channel enable bit   
  445.    Uint16     RCEF4:1;       // 4   Receive Channel enable bit  
  446.    Uint16     RCEF5:1;       // 5   Receive Channel enable bit  
  447.    Uint16     RCEF6:1;       // 6   Receive Channel enable bit  
  448.    Uint16     RCEF7:1;       // 7   Receive Channel enable bit 
  449.    Uint16     RCEF8:1;       // 8   Receive Channel enable bit  
  450.    Uint16     RCEF9:1;       // 9   Receive Channel enable bit  
  451.    Uint16     RCEF10:1;      // 10  Receive Channel enable bit  
  452.    Uint16     RCEF11:1;      // 11  Receive Channel enable bit 
  453.    Uint16     RCEF12:1;      // 12  Receive Channel enable bit  
  454.    Uint16     RCEF13:1;      // 13  Receive Channel enable bit  
  455.    Uint16     RCEF14:1;      // 14  Receive Channel enable bit  
  456.    Uint16     RCEF15:1;      // 15  Receive Channel enable bit 
  457. }; 
  458. union RCERF_REG {
  459.    Uint16              all;
  460.    struct  RCERF_BITS  bit;
  461. };
  462. // XCERE control register bit definitions:
  463. struct  XCERE_BITS {         // bit description
  464.    Uint16     XCERE0:1;       // 0   Receive Channel enable bit  
  465.    Uint16     XCERE1:1;       // 1   Receive Channel enable bit  
  466.    Uint16     XCERE2:1;       // 2   Receive Channel enable bit  
  467.    Uint16     XCERE3:1;       // 3   Receive Channel enable bit   
  468.    Uint16     XCERE4:1;       // 4   Receive Channel enable bit  
  469.    Uint16     XCERE5:1;       // 5   Receive Channel enable bit  
  470.    Uint16     XCERE6:1;       // 6   Receive Channel enable bit  
  471.    Uint16     XCERE7:1;       // 7   Receive Channel enable bit 
  472.    Uint16     XCERE8:1;       // 8   Receive Channel enable bit  
  473.    Uint16     XCERE9:1;       // 9   Receive Channel enable bit  
  474.    Uint16     XCERE10:1;      // 10  Receive Channel enable bit  
  475.    Uint16     XCERE11:1;      // 11  Receive Channel enable bit 
  476.    Uint16     XCERE12:1;      // 12  Receive Channel enable bit  
  477.    Uint16     XCERE13:1;      // 13  Receive Channel enable bit  
  478.    Uint16     XCERE14:1;      // 14  Receive Channel enable bit  
  479.    Uint16     XCERE15:1;      // 15  Receive Channel enable bit 
  480. }; 
  481. union XCERE_REG {
  482.    Uint16              all;
  483.    struct  XCERE_BITS  bit;
  484. };  
  485. // XCERF control register bit definitions:
  486. struct  XCERF_BITS {         // bit description
  487.    Uint16     XCERF0:1;       // 0   Receive Channel enable bit  
  488.    Uint16     XCERF1:1;       // 1   Receive Channel enable bit  
  489.    Uint16     XCERF2:1;       // 2   Receive Channel enable bit  
  490.    Uint16     XCERF3:1;       // 3   Receive Channel enable bit   
  491.    Uint16     XCERF4:1;       // 4   Receive Channel enable bit  
  492.    Uint16     XCERF5:1;       // 5   Receive Channel enable bit  
  493.    Uint16     XCERF6:1;       // 6   Receive Channel enable bit  
  494.    Uint16     XCERF7:1;       // 7   Receive Channel enable bit 
  495.    Uint16     XCERF8:1;       // 8   Receive Channel enable bit  
  496.    Uint16     XCERF9:1;       // 9   Receive Channel enable bit  
  497.    Uint16     XCERF10:1;      // 10  Receive Channel enable bit  
  498.    Uint16     XCERF11:1;      // 11  Receive Channel enable bit 
  499.    Uint16     XCERF12:1;      // 12  Receive Channel enable bit  
  500.    Uint16     XCERF13:1;      // 13  Receive Channel enable bit  
  501.    Uint16     XCERF14:1;      // 14  Receive Channel enable bit  
  502.    Uint16     XCERF15:1;      // 15  Receive Channel enable bit 
  503. }; 
  504. union XCERF_REG {
  505.    Uint16              all;
  506.    struct  XCERF_BITS  bit;
  507. };                   
  508. // RCERG control register bit definitions:
  509. struct  RCERG_BITS {         // bit description
  510.    Uint16     RCEG0:1;       // 0   Receive Channel enable bit  
  511.    Uint16     RCEG1:1;       // 1   Receive Channel enable bit  
  512.    Uint16     RCEG2:1;       // 2   Receive Channel enable bit  
  513.    Uint16     RCEG3:1;       // 3   Receive Channel enable bit   
  514.    Uint16     RCEG4:1;       // 4   Receive Channel enable bit  
  515.    Uint16     RCEG5:1;       // 5   Receive Channel enable bit  
  516.    Uint16     RCEG6:1;       // 6   Receive Channel enable bit  
  517.    Uint16     RCEG7:1;       // 7   Receive Channel enable bit 
  518.    Uint16     RCEG8:1;       // 8   Receive Channel enable bit  
  519.    Uint16     RCEG9:1;       // 9   Receive Channel enable bit  
  520.    Uint16     RCEG10:1;      // 10  Receive Channel enable bit  
  521.    Uint16     RCEG11:1;      // 11  Receive Channel enable bit 
  522.    Uint16     RCEG12:1;      // 12  Receive Channel enable bit  
  523.    Uint16     RCEG13:1;      // 13  Receive Channel enable bit  
  524.    Uint16     RCEG14:1;      // 14  Receive Channel enable bit  
  525.    Uint16     RCEG15:1;      // 15  Receive Channel enable bit 
  526. }; 
  527. union RCERG_REG {
  528.    Uint16              all;
  529.    struct  RCERG_BITS  bit;
  530. };  
  531. // RCERH control register bit definitions:
  532. struct  RCERH_BITS {         // bit description
  533.    Uint16     RCEH0:1;       // 0   Receive Channel enable bit  
  534.    Uint16     RCEH1:1;       // 1   Receive Channel enable bit  
  535.    Uint16     RCEH2:1;       // 2   Receive Channel enable bit  
  536.    Uint16     RCEH3:1;       // 3   Receive Channel enable bit   
  537.    Uint16     RCEH4:1;       // 4   Receive Channel enable bit  
  538.    Uint16     RCEH5:1;       // 5   Receive Channel enable bit  
  539.    Uint16     RCEH6:1;       // 6   Receive Channel enable bit  
  540.    Uint16     RCEH7:1;       // 7   Receive Channel enable bit 
  541.    Uint16     RCEH8:1;       // 8   Receive Channel enable bit  
  542.    Uint16     RCEH9:1;       // 9   Receive Channel enable bit  
  543.    Uint16     RCEH10:1;      // 10  Receive Channel enable bit  
  544.    Uint16     RCEH11:1;      // 11  Receive Channel enable bit 
  545.    Uint16     RCEH12:1;      // 12  Receive Channel enable bit  
  546.    Uint16     RCEH13:1;      // 13  Receive Channel enable bit  
  547.    Uint16     RCEH14:1;      // 14  Receive Channel enable bit  
  548.    Uint16     RCEH15:1;      // 15  Receive Channel enable bit 
  549. }; 
  550. union RCERH_REG {
  551.    Uint16              all;
  552.    struct  RCERH_BITS  bit;
  553. };
  554. // XCERG control register bit definitions:
  555. struct  XCERG_BITS {         // bit description
  556.    Uint16     XCERG0:1;       // 0   Receive Channel enable bit  
  557.    Uint16     XCERG1:1;       // 1   Receive Channel enable bit  
  558.    Uint16     XCERG2:1;       // 2   Receive Channel enable bit  
  559.    Uint16     XCERG3:1;       // 3   Receive Channel enable bit   
  560.    Uint16     XCERG4:1;       // 4   Receive Channel enable bit  
  561.    Uint16     XCERG5:1;       // 5   Receive Channel enable bit  
  562.    Uint16     XCERG6:1;       // 6   Receive Channel enable bit  
  563.    Uint16     XCERG7:1;       // 7   Receive Channel enable bit 
  564.    Uint16     XCERG8:1;       // 8   Receive Channel enable bit  
  565.    Uint16     XCERG9:1;       // 9   Receive Channel enable bit  
  566.    Uint16     XCERG10:1;      // 10  Receive Channel enable bit  
  567.    Uint16     XCERG11:1;      // 11  Receive Channel enable bit 
  568.    Uint16     XCERG12:1;      // 12  Receive Channel enable bit  
  569.    Uint16     XCERG13:1;      // 13  Receive Channel enable bit  
  570.    Uint16     XCERG14:1;      // 14  Receive Channel enable bit  
  571.    Uint16     XCERG15:1;      // 15  Receive Channel enable bit 
  572. }; 
  573. union XCERG_REG {
  574.    Uint16              all;
  575.    struct  XCERG_BITS  bit;
  576. };  
  577. // XCERH control register bit definitions:
  578. struct  XCERH_BITS {         // bit description
  579.    Uint16     XCEH0:1;       // 0   Receive Channel enable bit  
  580.    Uint16     XCEH1:1;       // 1   Receive Channel enable bit  
  581.    Uint16     XCEH2:1;       // 2   Receive Channel enable bit  
  582.    Uint16     XCEH3:1;       // 3   Receive Channel enable bit   
  583.    Uint16     XCEH4:1;       // 4   Receive Channel enable bit  
  584.    Uint16     XCEH5:1;       // 5   Receive Channel enable bit  
  585.    Uint16     XCEH6:1;       // 6   Receive Channel enable bit  
  586.    Uint16     XCEH7:1;       // 7   Receive Channel enable bit 
  587.    Uint16     XCEH8:1;       // 8   Receive Channel enable bit  
  588.    Uint16     XCEH9:1;       // 9   Receive Channel enable bit  
  589.    Uint16     XCEH10:1;      // 10  Receive Channel enable bit  
  590.    Uint16     XCEH11:1;      // 11  Receive Channel enable bit 
  591.    Uint16     XCEH12:1;      // 12  Receive Channel enable bit  
  592.    Uint16     XCEH13:1;      // 13  Receive Channel enable bit  
  593.    Uint16     XCEH14:1;      // 14  Receive Channel enable bit  
  594.    Uint16     XCEH15:1;      // 15  Receive Channel enable bit 
  595. }; 
  596. union XCERH_REG {
  597.    Uint16              all;
  598.    struct  XCERH_BITS  bit;
  599. };
  600. // McBSP FIFO Transmit register bit definitions:
  601. struct  MFFTX_BITS {            // bit   description
  602.    Uint16     TXFFIL:5;         // 4:0   Interrupt level
  603.    Uint16     TXFFIENA:1;       // 5     Interrupt enable
  604.    Uint16     TXFFINT_CLEAR:1;  // 6     Clear INT flag
  605.    Uint16     TXFFINT_FLAG:1;   // 7     INT flag
  606.    Uint16     TXFFST:5;         // 12:8  FIFO status
  607.    Uint16     TXFIFO_RESET:1;   // 13    FIFO reset
  608.    Uint16     MFFENA:1;         // 14    Enhancement enable
  609.    Uint16     rsvd:1;           // 15    reserved
  610. }; 
  611. union MFFTX_REG {
  612.    Uint16            all;
  613.    struct MFFTX_BITS bit;
  614. };
  615. // McBSP FIFO recieve register bit definitions:
  616. struct  MFFRX_BITS {        // bits  description
  617.    Uint16 RXFFIL:5;         // 4:0   Interrupt level
  618.    Uint16 RXFFIENA:1;       // 5     Interrupt enable
  619.    Uint16 RXFFINT_CLEAR:1;  // 6     Clear INT flag
  620.    Uint16 RXFFINT_FLAG:1;   // 7     INT flag
  621.    Uint16 RXFFST:5;         // 12:8  FIFO status
  622.    Uint16 RXFIFO_RESET:1;   // 13    FIFO reset
  623.    Uint16 RXFFOVF_CLEAR:1;  // 14    Clear overflow
  624.    Uint16 RXFFOVF_FLAG:1;   // 15    FIFO overflow
  625. }; 
  626. union MFFRX_REG {
  627.    Uint16            all;
  628.    struct MFFRX_BITS bit;
  629. };
  630. // McBSP FIFO control register bit definitions:
  631. struct  MFFCT_BITS {        // bits  description
  632.     Uint16 FFTXTXDLY:8;     // 7:0   FIFO transmit delay
  633.     Uint16 rsvd:7;          // 15:7  reserved
  634.     Uint16 IACKM:1;         // 15    is IACK mode enable bit
  635. };
  636. union MFFCT_REG {
  637.    Uint16             all;
  638.    struct MFFCT_BITS  bit;
  639. };
  640.    
  641. // McBSP FIFO INTERRUPT control register bit definitions:
  642. struct  MFFINT_BITS {       // bits description
  643.     Uint16     XINT:1;      // 0    XINT  interrupt enable
  644.     Uint16     XEVTA:1;     // 1    XEVTA interrupt enable
  645.     Uint16     RINT:1;      // 2    RINT  interrupt enable
  646.     Uint16     REVTA:1;     // 3    REVTA interrupt enable
  647.     Uint16     rsvd:12;     // 15:4 reserved
  648. };
  649. union MFFINT_REG {
  650.    Uint16              all;
  651.    struct MFFINT_BITS  bit;
  652. };
  653. // McBSP FIFO INTERRUPT status  register bit definitions:
  654. struct  MFFST_BITS {       // bits description
  655.     Uint16     EOBX:1;     // 0    EOBX flag
  656.     Uint16     FSX:1;      // 1    FSX flag
  657.     Uint16     EOBR:1;     // 2    EOBR flag
  658.     Uint16     FSR:1;      // 3    FSR flag
  659.     Uint16     rsvd:12;    // 15:4 reserved
  660. };
  661. union MFFST_REG {
  662.    Uint16            all;
  663.    struct MFFST_BITS bit;
  664. };
  665. //---------------------------------------------------------------------------
  666. // McBSP Register File:
  667. //
  668. struct  MCBSP_REGS {      
  669.    union DRR2_REG    DRR2;   // 0x7800, MCBSP Data receive register bits 31-16 
  670.    union DRR1_REG    DRR1;   // 0x7801, MCBSP Data receive register bits 15-0 
  671.    union DXR2_REG    DXR2;   // 0x7802, MCBSP Data transmit register bits 31-16 
  672.    union DXR1_REG    DXR1;   // 0x7803, MCBSP Data transmit register bits 15-0 
  673.    union SPCR2_REG   SPCR2;  // 0x7804, MCBSP control register bits 31-16 
  674.    union SPCR1_REG   SPCR1;  // 0x7805, MCBSP control register bits 15-0 
  675.    union RCR2_REG    RCR2;   // 0x7806, MCBSP receive control register bits 31-16 
  676.    union RCR1_REG    RCR1;   // 0x7807, MCBSP receive control register bits 15-0 
  677.    union XCR2_REG    XCR2;   // 0x7808, MCBSP transmit control register bits 31-16 
  678.    union XCR1_REG    XCR1;   // 0x7809, MCBSP transmit control register bits 15-0 
  679.    union SRGR2_REG   SRGR2;  // 0x7810, MCBSP sample rate gen register bits 31-16 
  680.    union SRGR1_REG   SRGR1;  // 0x7811, MCBSP sample rate gen register bits 15-0  
  681.    union MCR2_REG    MCR2;   // 0x7812, MCBSP multichannel register bits 31-16 
  682.    union MCR1_REG    MCR1;   // 0x7813, MCBSP multichannel register bits 15-0    
  683.    union RCERA_REG   RCERA;  // 0x7814, MCBSP Receive channel enable partition A 
  684.    union RCERB_REG   RCERB;  // 0x7815, MCBSP Receive channel enable partition B 
  685.    union XCERA_REG   XCERA;  // 0x7816, MCBSP Transmit channel enable partition A 
  686.    union XCERB_REG   XCERB;  // 0x7817, MCBSP Transmit channel enable partition B            
  687.    union PCR_REG     PCR;    // 0x7818, MCBSP Pin control register bits 15-0  
  688.    union RCERC_REG   RCERC;  // 0x7819, MCBSP Receive channel enable partition C 
  689.    union RCERD_REG   RCERD;  // 0x7820, MCBSP Receive channel enable partition D
  690.    union XCERC_REG   XCERC;  // 0x7821, MCBSP Transmit channel enable partition C 
  691.    union XCERD_REG   XCERD;  // 0x7823, MCBSP Transmit channel enable partition D             
  692.    union RCERE_REG   RCERE;  // 0x7824, MCBSP Receive channel enable partition E 
  693.    union RCERF_REG   RCERF;  // 0x7825, MCBSP Receive channel enable partition F
  694.    union XCERE_REG   XCERE;  // 0x7826, MCBSP Transmit channel enable partition E
  695.    union XCERF_REG   XCERF;  // 0x7827, MCBSP Transmit channel enable partition F            
  696.    union RCERG_REG   RCERG;  // 0x7828, MCBSP Receive channel enable partition G
  697.    union RCERH_REG   RCERH;  // 0x7829, MCBSP Receive channel enable partition H
  698.    union XCERG_REG   XCERG;  // 0x7830, MCBSP Transmit channel enable partition G 
  699.    union XCERH_REG   XCERH;  // 0x7831, MCBSP Transmit channel enable partition H             
  700.    Uint16            rsvd1;  // 0x7832, reserved             
  701.    union MFFTX_REG   MFFTX;  // 0x7833, MCBSP Transmit FIFO register bits  
  702.    union MFFRX_REG   MFFRX;  // 0x7834, MCBSP Receive FIFO register bits
  703.    union MFFCT_REG   MFFCT;  // 0x7835, MCBSP FIFO control register bits    
  704.    union MFFINT_REG  MFFINT; // 0x7836, MCBSP Interrupt register bits  
  705.    union MFFST_REG   MFFST;  // 0x7837, MCBSP Status register bits 
  706. };
  707. //---------------------------------------------------------------------------
  708. // McBSP External References & Function Declarations:
  709. //
  710. extern volatile struct MCBSP_REGS McbspaRegs;
  711. #ifdef __cplusplus
  712. }
  713. #endif /* extern "C" */
  714. #endif  // end of DSP281x_MCBSP_H definition
  715. //===========================================================================
  716. // No more.
  717. //===========================================================================