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

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE:   DSP281x_Gpio.h
  4. //
  5. // TITLE:  DSP281x General Purpose I/O 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. //      |             |      | Corrected union definitions that had BIT instead
  13. //      |             |      | of bit
  14. //###########################################################################
  15. #ifndef DSP281x_GPIO_H
  16. #define DSP281x_GPIO_H
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. //----------------------------------------------------
  21. // General purpose I/O (GPIO) Register Bit Definitions                                               
  22. //----------------------------------------------------
  23. // GPIO A mux control register bit definitions */                                    
  24. // 
  25. //
  26. struct GPAMUX_BITS  {        // bits   description
  27.    Uint16 PWM1_GPIOA0:1;     // 0  
  28.    Uint16 PWM2_GPIOA1:1;     // 1 
  29.    Uint16 PWM3_GPIOA2:1;     // 2  
  30.    Uint16 PWM4_GPIOA3:1;     // 3  
  31.    Uint16 PWM5_GPIOA4:1;     // 4  
  32.    Uint16 PWM6_GPIOA5:1;     // 5
  33.    Uint16 T1PWM_GPIOA6:1;    // 6  
  34.    Uint16 T2PWM_GPIOA7:1;    // 7        
  35.    Uint16 CAP1Q1_GPIOA8:1;   // 8 
  36.    Uint16 CAP2Q2_GPIOA9:1;   // 9 
  37.    Uint16 CAP3QI1_GPIOA10:1; // 10
  38.    Uint16 TDIRA_GPIOA11:1;   // 11
  39.    Uint16 TCLKINA_GPIOA12:1; // 12
  40.    Uint16 C1TRIP_GPIOA13:1;  // 13  
  41.    Uint16 C2TRIP_GPIOA14:1;  // 14  
  42.    Uint16 C3TRIP_GPIOA15:1;  // 15   
  43.          
  44. };
  45. union GPAMUX_REG {
  46.    Uint16             all;
  47.    struct GPAMUX_BITS bit;
  48. };
  49. //---------------------------------------------------------------------------------------
  50. // GPIO A Direction control register bit definitions                                    
  51. // 
  52. //
  53. struct GPADIR_BITS  {      // bits   description
  54.    Uint16 GPIOA0:1;          // 0  
  55.    Uint16 GPIOA1:1;          // 1 
  56.    Uint16 GPIOA2:1;          // 2  
  57.    Uint16 GPIOA3:1;          // 3  
  58.    Uint16 GPIOA4:1;          // 4  
  59.    Uint16 GPIOA5:1;          // 5
  60.    Uint16 GPIOA6:1;          // 6  
  61.    Uint16 GPIOA7:1;          // 7        
  62.    Uint16 GPIOA8:1;          // 8 
  63.    Uint16 GPIOA9:1;          // 9 
  64.    Uint16 GPIOA10:1;         // 10
  65.    Uint16 GPIOA11:1;         // 11
  66.    Uint16 GPIOA12:1;         // 12
  67.    Uint16 GPIOA13:1;         // 13  
  68.    Uint16 GPIOA14:1;         // 14  
  69.    Uint16 GPIOA15:1;         // 15   
  70.          
  71. };
  72. union GPADIR_REG {
  73.    Uint16             all;
  74.    struct GPADIR_BITS bit;
  75. };
  76. //----------------------------------
  77. // GPA Qualregister bit definitions
  78. // 
  79. //
  80. struct GPAQUAL_BITS {    // bits   description
  81.    Uint16 QUALPRD:8;     // 0:7    Qualification Sampling Period
  82.    Uint16 rsvd1:8;       // 15:8   reserved
  83. }; 
  84. union GPAQUAL_REG {
  85.    Uint16              all;
  86.    struct GPAQUAL_BITS bit;
  87. };          
  88. //---------------------------------------------------------------------------------------
  89. // GPIO A Data register bit definitions                                    
  90. // 
  91. //
  92. struct GPADAT_BITS  {      // bits   description
  93.    Uint16 GPIOA0:1;          // 0  
  94.    Uint16 GPIOA1:1;          // 1 
  95.    Uint16 GPIOA2:1;          // 2  
  96.    Uint16 GPIOA3:1;          // 3  
  97.    Uint16 GPIOA4:1;          // 4  
  98.    Uint16 GPIOA5:1;          // 5
  99.    Uint16 GPIOA6:1;          // 6  
  100.    Uint16 GPIOA7:1;          // 7        
  101.    Uint16 GPIOA8:1;          // 8 
  102.    Uint16 GPIOA9:1;          // 9 
  103.    Uint16 GPIOA10:1;         // 10
  104.    Uint16 GPIOA11:1;         // 11
  105.    Uint16 GPIOA12:1;         // 12
  106.    Uint16 GPIOA13:1;         // 13  
  107.    Uint16 GPIOA14:1;         // 14  
  108.    Uint16 GPIOA15:1;         // 15   
  109.          
  110. };
  111. union GPADAT_REG {
  112.    Uint16             all;
  113.    struct GPADAT_BITS bit;
  114. };
  115. //---------------------------------------------------------------------------------------
  116. // GPIO A Data set bit definitions                                    
  117. // 
  118. //
  119. struct GPASET_BITS  {      // bits   description
  120.    Uint16 GPIOA0:1;          // 0  
  121.    Uint16 GPIOA1:1;          // 1 
  122.    Uint16 GPIOA2:1;          // 2  
  123.    Uint16 GPIOA3:1;          // 3  
  124.    Uint16 GPIOA4:1;          // 4  
  125.    Uint16 GPIOA5:1;          // 5
  126.    Uint16 GPIOA6:1;          // 6  
  127.    Uint16 GPIOA7:1;          // 7        
  128.    Uint16 GPIOA8:1;          // 8 
  129.    Uint16 GPIOA9:1;          // 9 
  130.    Uint16 GPIOA10:1;         // 10
  131.    Uint16 GPIOA11:1;         // 11
  132.    Uint16 GPIOA12:1;         // 12
  133.    Uint16 GPIOA13:1;         // 13  
  134.    Uint16 GPIOA14:1;         // 14  
  135.    Uint16 GPIOA15:1;         // 15   
  136.          
  137. };
  138. union GPASET_REG {
  139.    Uint16             all;
  140.    struct GPASET_BITS bit;
  141. };
  142. //---------------------------------------------------------------------------------------
  143. // GPIO A Data clear register bit definitions                                    
  144. // 
  145. //
  146. struct GPACLEAR_BITS  {    // bits   description
  147.    Uint16 GPIOA0:1;          // 0  
  148.    Uint16 GPIOA1:1;          // 1 
  149.    Uint16 GPIOA2:1;          // 2  
  150.    Uint16 GPIOA3:1;          // 3  
  151.    Uint16 GPIOA4:1;          // 4  
  152.    Uint16 GPIOA5:1;          // 5
  153.    Uint16 GPIOA6:1;          // 6  
  154.    Uint16 GPIOA7:1;          // 7        
  155.    Uint16 GPIOA8:1;          // 8 
  156.    Uint16 GPIOA9:1;          // 9 
  157.    Uint16 GPIOA10:1;         // 10
  158.    Uint16 GPIOA11:1;         // 11
  159.    Uint16 GPIOA12:1;         // 12
  160.    Uint16 GPIOA13:1;         // 13  
  161.    Uint16 GPIOA14:1;         // 14  
  162.    Uint16 GPIOA15:1;         // 15   
  163.          
  164. };
  165. union GPACLEAR_REG {
  166.    Uint16               all;
  167.    struct GPACLEAR_BITS bit;
  168. };
  169. //---------------------------------------------------------------------------------------
  170. // GPIO A Data toggle register bit definitions                                    
  171. // 
  172. //
  173. struct GPATOGGLE_BITS  {   // bits   description
  174.    Uint16 GPIOA0:1;          // 0  
  175.    Uint16 GPIOA1:1;          // 1 
  176.    Uint16 GPIOA2:1;          // 2  
  177.    Uint16 GPIOA3:1;          // 3  
  178.    Uint16 GPIOA4:1;          // 4  
  179.    Uint16 GPIOA5:1;          // 5
  180.    Uint16 GPIOA6:1;          // 6  
  181.    Uint16 GPIOA7:1;          // 7        
  182.    Uint16 GPIOA8:1;          // 8 
  183.    Uint16 GPIOA9:1;          // 9 
  184.    Uint16 GPIOA10:1;         // 10
  185.    Uint16 GPIOA11:1;         // 11
  186.    Uint16 GPIOA12:1;         // 12
  187.    Uint16 GPIOA13:1;         // 13  
  188.    Uint16 GPIOA14:1;         // 14  
  189.    Uint16 GPIOA15:1;         // 15   
  190.          
  191. };
  192. union GPATOGGLE_REG {
  193.    Uint16                all;
  194.    struct GPATOGGLE_BITS bit;
  195. };
  196. //---------------------------------------------------------------------------------
  197. // GPIO B mux control register bit definitions                                    
  198. // 
  199. //
  200. struct GPBMUX_BITS  {      // bits   description
  201.    Uint16 PWM7_GPIOB0:1;     // 0  
  202.    Uint16 PWM8_GPIOB1:1;     // 1 
  203.    Uint16 PWM9_GPIOB2:1;     // 2  
  204.    Uint16 PWM10_GPIOB3:1;    // 3  
  205.    Uint16 PWM11_GPIOB4:1;    // 4  
  206.    Uint16 PWM12_GPIOB5:1;    // 5
  207.    Uint16 T3PWM_GPIOB6:1;    // 6  
  208.    Uint16 T4PWM_GPIOB7:1;    // 7        
  209.    Uint16 CAP4Q1_GPIOB8:1;   // 8 
  210.    Uint16 CAP5Q2_GPIOB9:1;   // 9 
  211.    Uint16 CAP6QI2_GPIOB10:1; // 10
  212.    Uint16 TDIRB_GPIOB11:1;   // 11
  213.    Uint16 TCLKINB_GPIOB12:1; // 12
  214.    Uint16 C4TRIP_GPIOB13:1;  // 13  
  215.    Uint16 C5TRIP_GPIOB14:1;  // 14  
  216.    Uint16 C6TRIP_GPIOB15:1;  // 15   
  217.          
  218. };
  219. union GPBMUX_REG {
  220.    Uint16             all;
  221.    struct GPBMUX_BITS bit;
  222. };
  223. //---------------------------------------------------------------------------------------
  224. // GPIO B Direction control register bit definitions                                    
  225. // 
  226. //
  227. struct GPBDIR_BITS  {        // bits  description
  228.    Uint16 GPIOB0:1;          // 0  
  229.    Uint16 GPIOB1:1;          // 1 
  230.    Uint16 GPIOB2:1;          // 2  
  231.    Uint16 GPIOB3:1;          // 3  
  232.    Uint16 GPIOB4:1;          // 4  
  233.    Uint16 GPIOB5:1;          // 5
  234.    Uint16 GPIOB6:1;          // 6  
  235.    Uint16 GPIOB7:1;          // 7        
  236.    Uint16 GPIOB8:1;          // 8 
  237.    Uint16 GPIOB9:1;          // 9 
  238.    Uint16 GPIOB10:1;         // 10
  239.    Uint16 GPIOB11:1;         // 11
  240.    Uint16 GPIOB12:1;         // 12
  241.    Uint16 GPIOB13:1;         // 13  
  242.    Uint16 GPIOB14:1;         // 14  
  243.    Uint16 GPIOB15:1;         // 15   
  244.          
  245. };
  246. union GPBDIR_REG {
  247.    Uint16             all;
  248.    struct GPBDIR_BITS bit;
  249. };
  250. //-----------------------------------
  251. // GPB Qualregister bit definitions 
  252. // 
  253. //
  254. struct GPBQUAL_BITS {    // bits   description
  255.    Uint16 QUALPRD:8;     // 0:7    Qualification Sampling Period
  256.    Uint16 rsvd1:8;       // 15:8   reserved
  257. };
  258. union GPBQUAL_REG {
  259.    Uint16              all;
  260.    struct GPBQUAL_BITS bit;
  261. };           
  262. //---------------------------------------------------------------------------------------
  263. // GPIO B data register bit definitions                                    
  264. // 
  265. //
  266. struct GPBDAT_BITS  {      // bits  description
  267.    Uint16 GPIOB0:1;          // 0  
  268.    Uint16 GPIOB1:1;          // 1 
  269.    Uint16 GPIOB2:1;          // 2  
  270.    Uint16 GPIOB3:1;          // 3  
  271.    Uint16 GPIOB4:1;          // 4  
  272.    Uint16 GPIOB5:1;          // 5
  273.    Uint16 GPIOB6:1;          // 6  
  274.    Uint16 GPIOB7:1;          // 7        
  275.    Uint16 GPIOB8:1;          // 8 
  276.    Uint16 GPIOB9:1;          // 9 
  277.    Uint16 GPIOB10:1;         // 10
  278.    Uint16 GPIOB11:1;         // 11
  279.    Uint16 GPIOB12:1;         // 12
  280.    Uint16 GPIOB13:1;         // 13  
  281.    Uint16 GPIOB14:1;         // 14  
  282.    Uint16 GPIOB15:1;         // 15   
  283.          
  284. };
  285. union GPBDAT_REG {
  286.    Uint16             all;
  287.    struct GPBDAT_BITS bit;
  288. };
  289. //---------------------------------------------------------------------------------------
  290. // GPIO B data set register bit definitions                                    
  291. // 
  292. //
  293. struct GPBSET_BITS  {        // bits  description
  294.    Uint16 GPIOB0:1;          // 0  
  295.    Uint16 GPIOB1:1;          // 1 
  296.    Uint16 GPIOB2:1;          // 2  
  297.    Uint16 GPIOB3:1;          // 3  
  298.    Uint16 GPIOB4:1;          // 4  
  299.    Uint16 GPIOB5:1;          // 5
  300.    Uint16 GPIOB6:1;          // 6  
  301.    Uint16 GPIOB7:1;          // 7        
  302.    Uint16 GPIOB8:1;          // 8 
  303.    Uint16 GPIOB9:1;          // 9 
  304.    Uint16 GPIOB10:1;         // 10
  305.    Uint16 GPIOB11:1;         // 11
  306.    Uint16 GPIOB12:1;         // 12
  307.    Uint16 GPIOB13:1;         // 13  
  308.    Uint16 GPIOB14:1;         // 14  
  309.    Uint16 GPIOB15:1;         // 15   
  310.          
  311. };
  312. union GPBSET_REG {
  313.    Uint16             all;
  314.    struct GPBSET_BITS bit;
  315. };
  316. //---------------------------------------------------------------------------------------
  317. // GPIO B data clear register bit definitions                                    
  318. // 
  319. //
  320. struct GPBCLEAR_BITS  {      // bits  description
  321.    Uint16 GPIOB0:1;          // 0  
  322.    Uint16 GPIOB1:1;          // 1 
  323.    Uint16 GPIOB2:1;          // 2  
  324.    Uint16 GPIOB3:1;          // 3  
  325.    Uint16 GPIOB4:1;          // 4  
  326.    Uint16 GPIOB5:1;          // 5
  327.    Uint16 GPIOB6:1;          // 6  
  328.    Uint16 GPIOB7:1;          // 7        
  329.    Uint16 GPIOB8:1;          // 8 
  330.    Uint16 GPIOB9:1;          // 9 
  331.    Uint16 GPIOB10:1;         // 10
  332.    Uint16 GPIOB11:1;         // 11
  333.    Uint16 GPIOB12:1;         // 12
  334.    Uint16 GPIOB13:1;         // 13  
  335.    Uint16 GPIOB14:1;         // 14  
  336.    Uint16 GPIOB15:1;         // 15   
  337.          
  338. };
  339. union GPBCLEAR_REG {
  340.    Uint16               all;
  341.    struct GPBCLEAR_BITS bit;
  342. };
  343. //---------------------------------------------------------------------------------------
  344. // GPIO B data toggle register bit definitions                                    
  345. // 
  346. //
  347. struct GPBTOGGLE_BITS  {     // bits  description
  348.    Uint16 GPIOB0:1;          // 0  
  349.    Uint16 GPIOB1:1;          // 1 
  350.    Uint16 GPIOB2:1;          // 2  
  351.    Uint16 GPIOB3:1;          // 3  
  352.    Uint16 GPIOB4:1;          // 4  
  353.    Uint16 GPIOB5:1;          // 5
  354.    Uint16 GPIOB6:1;          // 6  
  355.    Uint16 GPIOB7:1;          // 7        
  356.    Uint16 GPIOB8:1;          // 8 
  357.    Uint16 GPIOB9:1;          // 9 
  358.    Uint16 GPIOB10:1;         // 10
  359.    Uint16 GPIOB11:1;         // 11
  360.    Uint16 GPIOB12:1;         // 12
  361.    Uint16 GPIOB13:1;         // 13  
  362.    Uint16 GPIOB14:1;         // 14  
  363.    Uint16 GPIOB15:1;         // 15   
  364.          
  365. };
  366. union GPBTOGGLE_REG {
  367.    Uint16                all;
  368.    struct GPBTOGGLE_BITS bit;
  369. };
  370. //---------------------------------------------------------------------------------
  371. // GPIO D mux control register bit definitions                                    
  372. // 
  373. //
  374. struct GPDMUX_BITS  {                  // bits  description
  375.    Uint16 T1CTRIP_PDPA_GPIOD0:1;       // 0  
  376.    Uint16 T2CTRIP_SOCA_GPIOD1:1;       // 1   
  377.    Uint16 rsvd1:3;                     // 4:2  
  378.    Uint16 T3CTRIP_PDPB_GPIOD5:1;       // 5  
  379.    Uint16 T4CTRIP_SOCB_GPIOD6:1;       // 6   
  380.    Uint16 rsvd2:9;                     // 15:7  
  381.             
  382. };
  383. union GPDMUX_REG {
  384.    Uint16             all;
  385.    struct GPDMUX_BITS bit;
  386. };
  387. //----------------------------------------------------
  388. // GPIO D Direction control register bit definitions 
  389. //                                     
  390. //
  391. struct GPDDIR_BITS  {      // bits   description
  392.    Uint16 GPIOD0:1;          // 0  
  393.    Uint16 GPIOD1:1;          // 1 
  394.    Uint16 rsvd1:3;           // 4:2  
  395.    Uint16 GPIOD5:1;          // 5
  396.    Uint16 GPIOD6:1;          // 6  
  397.    Uint16 rsvd2:9;           // 15:7
  398. };
  399. union GPDDIR_REG {
  400.    Uint16             all;
  401.    struct GPDDIR_BITS bit;
  402. };
  403. //----------------------------------------------------
  404. // GPIO D data register bit definitions 
  405. //                                     
  406. //
  407. struct GPDDAT_BITS  {      // bits   description
  408.    Uint16 GPIOD0:1;          // 0  
  409.    Uint16 GPIOD1:1;          // 1 
  410.    Uint16 rsvd1:3;           // 4:2  
  411.    Uint16 GPIOD5:1;          // 5
  412.    Uint16 GPIOD6:1;          // 6  
  413.    Uint16 rsvd2:9;           // 15:7
  414. };           
  415. union GPDDAT_REG {
  416.    Uint16             all;
  417.    struct GPDDAT_BITS bit;
  418. };
  419. //----------------------------------------------------
  420. // GPIO D data set register bit definitions 
  421. //                                     
  422. //
  423. struct GPDSET_BITS  {        // bits   description
  424.    Uint16 GPIOD0:1;          // 0  
  425.    Uint16 GPIOD1:1;          // 1 
  426.    Uint16 rsvd1:3;           // 4:2  
  427.    Uint16 GPIOD5:1;          // 5
  428.    Uint16 GPIOD6:1;          // 6  
  429.    Uint16 rsvd2:9;           // 15:7
  430. };
  431. union GPDSET_REG {
  432.    Uint16             all;
  433.    struct GPDSET_BITS bit;
  434. };
  435. //----------------------------------------------------
  436. // GPIO D data clear register bit definitions 
  437. //                                     
  438. //
  439. struct GPDCLEAR_BITS  {      // bits   description
  440.    Uint16 GPIOD0:1;          // 0  
  441.    Uint16 GPIOD1:1;          // 1 
  442.    Uint16 rsvd1:3;           // 4:2  
  443.    Uint16 GPIOD5:1;          // 5
  444.    Uint16 GPIOD6:1;          // 6  
  445.    Uint16 rsvd2:9;           // 15:7
  446. };
  447. union GPDCLEAR_REG {
  448.    Uint16               all;
  449.    struct GPDCLEAR_BITS bit;
  450. };
  451. //----------------------------------------------------
  452. // GPIO D data toggle register bit definitions 
  453. //                                     
  454. //
  455. struct GPDTOGGLE_BITS  {     // bits   description
  456.    Uint16 GPIOD0:1;          // 0  
  457.    Uint16 GPIOD1:1;          // 1 
  458.    Uint16 rsvd1:3;           // 4:2  
  459.    Uint16 GPIOD5:1;          // 5
  460.    Uint16 GPIOD6:1;          // 6  
  461.    Uint16 rsvd2:9;           // 15:7
  462. };
  463. union GPDTOGGLE_REG {
  464.    Uint16                all;
  465.    struct GPDTOGGLE_BITS bit;
  466. };
  467. //----------------------------------
  468. // GPIOD Qualregister bit definitions
  469. // 
  470. //
  471. struct GPDQUAL_BITS {    // bits   description
  472.    Uint16 QUALPRD:8;     // 0:7    Qualification Sampling Period
  473.    Uint16 rsvd1:8;       // 15:8   reserved
  474. };    
  475. union GPDQUAL_REG {
  476.    Uint16              all;
  477.    struct GPDQUAL_BITS bit;
  478. };       
  479. //---------------------------------------------
  480. // GPIO E mux control register bit definitions
  481. //                                     
  482. //
  483. struct GPEMUX_BITS  {                // bits  description
  484.    Uint16 XINT1_XBIO_GPIOE0:1;       // 0  
  485.    Uint16 XINT2_ADCSOC_GPIOE1:1;     // 1  
  486.    Uint16 XNMI_XINT13_GPIOE2:1;      // 2 
  487.    Uint16 rsvd1:12;                  // 15:3  
  488.                
  489. };
  490. union GPEMUX_REG {
  491.    Uint16             all;
  492.    struct GPEMUX_BITS bit;
  493. };
  494. //---------------------------------------------------
  495. // GPIO E Direction control register bit definitions
  496. //                                     
  497. //
  498. struct GPEDIR_BITS  {        // bits   description
  499.    Uint16 GPIOE0:1;          // 0 
  500.    Uint16 GPIOE1:1;          // 1 
  501.    Uint16 GPIOE2:1;          // 2 
  502.    Uint16 rsvd1:12;          // 15:3        
  503. };
  504. union GPEDIR_REG {
  505.    Uint16             all;
  506.    struct GPEDIR_BITS bit;
  507. };
  508. //---------------------------------------------------
  509. // GPIO E data register bit definitions
  510. //                                     
  511. //
  512. struct GPEDAT_BITS  {        // bits   description
  513.    Uint16 GPIOE0:1;          // 0 
  514.    Uint16 GPIOE1:1;          // 1 
  515.    Uint16 GPIOE2:1;          // 2 
  516.    Uint16 rsvd1:12;          // 15:3        
  517. };
  518. union GPEDAT_REG {
  519.    Uint16             all;
  520.    struct GPEDAT_BITS bit;
  521. };
  522. //---------------------------------------------------
  523. // GPIO E data set register bit definitions
  524. //                                     
  525. //
  526. struct GPESET_BITS  {        // bits   description
  527.    Uint16 GPIOE0:1;          // 0 
  528.    Uint16 GPIOE1:1;          // 1 
  529.    Uint16 GPIOE2:1;          // 2 
  530.    Uint16 rsvd1:12;          // 15:3        
  531. };
  532. union GPESET_REG {
  533.    Uint16             all;
  534.    struct GPESET_BITS bit;
  535. };
  536. //---------------------------------------------------
  537. // GPIO E data clear register bit definitions
  538. //                                     
  539. //
  540. struct GPECLEAR_BITS  {      // bits   description
  541.    Uint16 GPIOE0:1;          // 0 
  542.    Uint16 GPIOE1:1;          // 1 
  543.    Uint16 GPIOE2:1;          // 2 
  544.    Uint16 rsvd1:12;          // 15:3        
  545. };
  546. union GPECLEAR_REG {
  547.    Uint16               all;
  548.    struct GPECLEAR_BITS bit;
  549. };
  550. //---------------------------------------------------
  551. // GPIO E data toggle register bit definitions
  552. //                                     
  553. //
  554. struct GPETOGGLE_BITS  {     // bits   description
  555.    Uint16 GPIOE0:1;          // 0 
  556.    Uint16 GPIOE1:1;          // 1 
  557.    Uint16 GPIOE2:1;          // 2 
  558.    Uint16 rsvd1:12;          // 15:3        
  559. };
  560. union GPETOGGLE_REG {
  561.    Uint16                all;
  562.    struct GPETOGGLE_BITS bit;
  563. };
  564. //-----------------------------------
  565. // GPIOE Qualregister bit definitions 
  566. // 
  567. //
  568. struct GPEQUAL_BITS {        // bits   description
  569.    Uint16     QUALPRD:8;     // 0:7    Qualification Sampling Period
  570.    Uint16 rsvd1:8;           // 15:8   reserved
  571. };     
  572. union GPEQUAL_REG {
  573.    Uint16              all;
  574.    struct GPEQUAL_BITS bit;
  575. };      
  576. //----------------------------------------------
  577. //  GPIO F mux control register bit definitions
  578. // 
  579. //
  580. struct GPFMUX_BITS  {      // bits   description
  581.    Uint16 SPISIMOA_GPIOF0:1; // 0 
  582.    Uint16 SPISOMIA_GPIOF1:1; // 1 
  583.    Uint16 SPICLKA_GPIOF2:1;  // 2 
  584.    Uint16 SPISTEA_GPIOF3:1;  // 3 
  585.    Uint16 SCITXDA_GPIOF4:1;  // 4 
  586.    Uint16 SCIRXDA_GPIOF5:1;  // 5 
  587.    Uint16 CANTXA_GPIOF6:1;   // 6 
  588.    Uint16 CANRXA_GPIOF7:1;   // 7 
  589.    Uint16 MCLKXA_GPIOF8:1;   // 8 
  590.    Uint16 MCLKRA_GPIOF9:1;   // 9 
  591.    Uint16 MFSXA_GPIOF10:1;   // 10
  592.    Uint16 MFSRA_GPIOF11:1;   // 11
  593.    Uint16 MDXA_GPIOF12:1;    // 12
  594.    Uint16 MDRA_GPIOF13:1;    // 13
  595.    Uint16 XF_GPIOF14:1;      // 14
  596.    Uint16 spare_GPIOF15:1;   // 15
  597.          
  598. };
  599. /* Allow access to the bit fields or entire register */
  600. union GPFMUX_REG {
  601.    Uint16             all;
  602.    struct GPFMUX_BITS bit;
  603. };
  604. //---------------------------------------------------
  605. // GPIO F Direction control register bit definitions
  606. //                                     
  607. //
  608.                                           
  609. struct GPFDIR_BITS  {      // bits   description
  610.    Uint16 GPIOF0:1;          // 0 
  611.    Uint16 GPIOF1:1;          // 1 
  612.    Uint16 GPIOF2:1;          // 2 
  613.    Uint16 GPIOF3:1;          // 3 
  614.    Uint16 GPIOF4:1;          // 4 
  615.    Uint16 GPIOF5:1;          // 5 
  616.    Uint16 GPIOF6:1;          // 6 
  617.    Uint16 GPIOF7:1;          // 7 
  618.    Uint16 GPIOF8:1;          // 8 
  619.    Uint16 GPIOF9:1;          // 9 
  620.    Uint16 GPIOF10:1;         // 10
  621.    Uint16 GPIOF11:1;         // 11
  622.    Uint16 GPIOF12:1;         // 12
  623.    Uint16 GPIOF13:1;         // 13
  624.    Uint16 GPIOF14:1;         // 14
  625.    Uint16 GPIOF15:1;         // 15
  626. };
  627. union GPFDIR_REG {
  628.    Uint16             all;
  629.    struct GPFDIR_BITS bit;
  630. };
  631. //---------------------------------------------------
  632. // GPIO F data register bit definitions
  633. //                                     
  634. //
  635.                                           
  636. struct GPFDAT_BITS  {      // bits   description
  637.    Uint16 GPIOF0:1;          // 0 
  638.    Uint16 GPIOF1:1;          // 1 
  639.    Uint16 GPIOF2:1;          // 2 
  640.    Uint16 GPIOF3:1;          // 3 
  641.    Uint16 GPIOF4:1;          // 4 
  642.    Uint16 GPIOF5:1;          // 5 
  643.    Uint16 GPIOF6:1;          // 6 
  644.    Uint16 GPIOF7:1;          // 7 
  645.    Uint16 GPIOF8:1;          // 8 
  646.    Uint16 GPIOF9:1;          // 9 
  647.    Uint16 GPIOF10:1;         // 10
  648.    Uint16 GPIOF11:1;         // 11
  649.    Uint16 GPIOF12:1;         // 12
  650.    Uint16 GPIOF13:1;         // 13
  651.    Uint16 GPIOF14:1;         // 14
  652.    Uint16 GPIOF15:1;         // 15
  653. };
  654. union GPFDAT_REG {
  655.    Uint16             all;
  656.    struct GPFDAT_BITS bit;
  657. };
  658. //---------------------------------------------------
  659. // GPIO F data set register bit definitions
  660. //                                     
  661. //
  662.                                           
  663. struct GPFSET_BITS  {      // bits   description
  664.    Uint16 GPIOF0:1;          // 0 
  665.    Uint16 GPIOF1:1;          // 1 
  666.    Uint16 GPIOF2:1;          // 2 
  667.    Uint16 GPIOF3:1;          // 3 
  668.    Uint16 GPIOF4:1;          // 4 
  669.    Uint16 GPIOF5:1;          // 5 
  670.    Uint16 GPIOF6:1;          // 6 
  671.    Uint16 GPIOF7:1;          // 7 
  672.    Uint16 GPIOF8:1;          // 8 
  673.    Uint16 GPIOF9:1;          // 9 
  674.    Uint16 GPIOF10:1;         // 10
  675.    Uint16 GPIOF11:1;         // 11
  676.    Uint16 GPIOF12:1;         // 12
  677.    Uint16 GPIOF13:1;         // 13
  678.    Uint16 GPIOF14:1;         // 14
  679.    Uint16 GPIOF15:1;         // 15
  680. };
  681. union GPFSET_REG {
  682.    Uint16             all;
  683.    struct GPFSET_BITS bit;
  684. };
  685. //---------------------------------------------------
  686. // GPIO F data clear register bit definitions
  687. //                                     
  688. //
  689.                                           
  690. struct GPFCLEAR_BITS  {    // bits   description
  691.    Uint16 GPIOF0:1;          // 0 
  692.    Uint16 GPIOF1:1;          // 1 
  693.    Uint16 GPIOF2:1;          // 2 
  694.    Uint16 GPIOF3:1;          // 3 
  695.    Uint16 GPIOF4:1;          // 4 
  696.    Uint16 GPIOF5:1;          // 5 
  697.    Uint16 GPIOF6:1;          // 6 
  698.    Uint16 GPIOF7:1;          // 7 
  699.    Uint16 GPIOF8:1;          // 8 
  700.    Uint16 GPIOF9:1;          // 9 
  701.    Uint16 GPIOF10:1;         // 10
  702.    Uint16 GPIOF11:1;         // 11
  703.    Uint16 GPIOF12:1;         // 12
  704.    Uint16 GPIOF13:1;         // 13
  705.    Uint16 GPIOF14:1;         // 14
  706.    Uint16 GPIOF15:1;         // 15
  707. };
  708. union GPFCLEAR_REG {
  709.    Uint16               all;
  710.    struct GPFCLEAR_BITS bit;
  711. };
  712. //---------------------------------------------------
  713. // GPIO F data toggle register bit definitions
  714. //                                     
  715. //
  716.                                           
  717. struct GPFTOGGLE_BITS  {   // bits   description
  718.    Uint16 GPIOF0:1;          // 0 
  719.    Uint16 GPIOF1:1;          // 1 
  720.    Uint16 GPIOF2:1;          // 2 
  721.    Uint16 GPIOF3:1;          // 3 
  722.    Uint16 GPIOF4:1;          // 4 
  723.    Uint16 GPIOF5:1;          // 5 
  724.    Uint16 GPIOF6:1;          // 6 
  725.    Uint16 GPIOF7:1;          // 7 
  726.    Uint16 GPIOF8:1;          // 8 
  727.    Uint16 GPIOF9:1;          // 9 
  728.    Uint16 GPIOF10:1;         // 10
  729.    Uint16 GPIOF11:1;         // 11
  730.    Uint16 GPIOF12:1;         // 12
  731.    Uint16 GPIOF13:1;         // 13
  732.    Uint16 GPIOF14:1;         // 14
  733.    Uint16 GPIOF15:1;         // 15
  734. };
  735. union GPFTOGGLE_REG {
  736.    Uint16                all;
  737.    struct GPFTOGGLE_BITS bit;
  738. };
  739. //----------------------------------------------
  740. //  GPIO G mux control register bit definitions
  741. // 
  742. //
  743. struct GPGMUX_BITS  {      // bits   description
  744.    Uint16 rsvd1:4;           // 3:0
  745.    Uint16 SCITXDB_GPIOG4:1;  // 4 
  746.    Uint16 SCIRXDB_GPIOG5:1;  // 5 
  747.    Uint16 rsvd2:10;          // 15:6
  748. };
  749. /* Allow access to the bit fields or entire register */
  750. union GPGMUX_REG {
  751.    Uint16             all;
  752.    struct GPGMUX_BITS bit;
  753. };
  754. //---------------------------------------------------
  755. // GPIO G Direction control register bit definitions
  756. //                                     
  757. //
  758.                                           
  759. struct GPGDIR_BITS  {      // bits   description
  760.    Uint16 rsvd1:4;           // 3:0
  761.    Uint16 GPIOG4:1;          // 4 
  762.    Uint16 GPIOG5:1;          // 5 
  763.    Uint16 rsvd2:10;          // 15:6
  764. };
  765. union GPGDIR_REG {
  766.    Uint16             all;
  767.    struct GPGDIR_BITS bit;
  768. };
  769. //---------------------------------------------------
  770. // GPIO G data register bit definitions
  771. //                                     
  772. //
  773.                                           
  774. struct GPGDAT_BITS  {      // bits   description
  775.    Uint16 rsvd1:4;           // 3:0
  776.    Uint16 GPIOG4:1;          // 4 
  777.    Uint16 GPIOG5:1;          // 5 
  778.    Uint16 rsvd2:10;          // 15:6
  779. };
  780. union GPGDAT_REG {
  781.    Uint16             all;
  782.    struct GPGDAT_BITS bit;
  783. };
  784. //---------------------------------------------------
  785. // GPIO G data set register bit definitions
  786. //                                     
  787. //
  788.                                           
  789. struct GPGSET_BITS  {        // bits   description
  790.    Uint16 rsvd1:4;           // 3:0
  791.    Uint16 GPIOG4:1;          // 4 
  792.    Uint16 GPIOG5:1;          // 5 
  793.    Uint16 rsvd2:10;          // 15:6
  794. };
  795. union GPGSET_REG {
  796.    Uint16             all;
  797.    struct GPGSET_BITS bit;
  798. };
  799. //---------------------------------------------------
  800. // GPIO G data clear register bit definitions
  801. //                                     
  802. //
  803.                                           
  804. struct GPGCLEAR_BITS  {      // bits   description
  805.    Uint16 rsvd1:4;           // 3:0
  806.    Uint16 GPIOG4:1;          // 4 
  807.    Uint16 GPIOG5:1;          // 5 
  808.    Uint16 rsvd2:10;          // 15:6
  809. };
  810. union GPGCLEAR_REG {
  811.    Uint16               all;
  812.    struct GPGCLEAR_BITS bit;
  813. };
  814. //---------------------------------------------------
  815. // GPIO G data toggle register bit definitions
  816. //                                     
  817. //
  818.                                           
  819. struct GPGTOGGLE_BITS  {     // bits   description
  820.    Uint16 rsvd1:4;           // 3:0
  821.    Uint16 GPIOG4:1;          // 4 
  822.    Uint16 GPIOG5:1;          // 5 
  823.    Uint16 rsvd2:10;          // 15:6
  824. };
  825. union GPGTOGGLE_REG {
  826.    Uint16                all;
  827.    struct GPGTOGGLE_BITS bit;
  828. };
  829. struct GPIO_MUX_REGS {
  830.    union  GPAMUX_REG   GPAMUX;
  831.    union  GPADIR_REG   GPADIR;
  832.    union  GPAQUAL_REG  GPAQUAL;
  833.    Uint16              rsvd1;
  834.    union  GPBMUX_REG   GPBMUX;
  835.    union  GPBDIR_REG   GPBDIR;
  836.    union  GPBQUAL_REG  GPBQUAL;   
  837.    Uint16              rsvd2[5];
  838.    union  GPDMUX_REG   GPDMUX;
  839.    union  GPDDIR_REG   GPDDIR;
  840.    union  GPDQUAL_REG  GPDQUAL;   
  841.    Uint16              rsvd3;
  842.    union  GPEMUX_REG   GPEMUX;
  843.    union  GPEDIR_REG   GPEDIR;
  844.    union  GPEQUAL_REG  GPEQUAL;   
  845.    Uint16              rsvd4;
  846.    union  GPFMUX_REG   GPFMUX;
  847.    union  GPFDIR_REG   GPFDIR;
  848.    Uint16              rsvd5[2];
  849.    union  GPGMUX_REG   GPGMUX;
  850.    union  GPGDIR_REG   GPGDIR;
  851.    Uint16              rsvd6[6];
  852. };
  853. struct GPIO_DATA_REGS {
  854.    union  GPADAT_REG    GPADAT;
  855.    union  GPASET_REG    GPASET;
  856.    union  GPACLEAR_REG  GPACLEAR;
  857.    union  GPATOGGLE_REG GPATOGGLE;
  858.    union  GPBDAT_REG    GPBDAT;
  859.    union  GPBSET_REG    GPBSET;
  860.    union  GPBCLEAR_REG  GPBCLEAR;
  861.    union  GPBTOGGLE_REG GPBTOGGLE;
  862.    Uint16               rsvd1[4];
  863.    union  GPDDAT_REG    GPDDAT;
  864.    union  GPDSET_REG    GPDSET;
  865.    union  GPDCLEAR_REG  GPDCLEAR;
  866.    union  GPDTOGGLE_REG GPDTOGGLE;
  867.    union  GPEDAT_REG    GPEDAT;
  868.    union  GPESET_REG    GPESET;
  869.    union  GPECLEAR_REG  GPECLEAR;
  870.    union  GPETOGGLE_REG GPETOGGLE;
  871.    union  GPFDAT_REG    GPFDAT;
  872.    union  GPFSET_REG    GPFSET;
  873.    union  GPFCLEAR_REG  GPFCLEAR;
  874.    union  GPFTOGGLE_REG GPFTOGGLE;
  875.    union  GPGDAT_REG    GPGDAT;
  876.    union  GPGSET_REG    GPGSET;
  877.    union  GPGCLEAR_REG  GPGCLEAR;
  878.    union  GPGTOGGLE_REG GPGTOGGLE;
  879.    Uint16               rsvd2[4];      
  880. };     
  881.  
  882. //---------------------------------------------------------------------------
  883. // GPI/O External References & Function Declarations:
  884. //
  885. extern volatile struct GPIO_MUX_REGS GpioMuxRegs;
  886. extern volatile struct GPIO_DATA_REGS GpioDataRegs;
  887. #ifdef __cplusplus
  888. }
  889. #endif /* extern "C" */
  890. #endif  // end of DSP281x_GPIO_H definition
  891. //===========================================================================
  892. // No more.
  893. //===========================================================================