1    /*
     2     * Copyright (c) 2016, Texas Instruments Incorporated
     3     * All rights reserved.
     4     *
     5     * Redistribution and use in source and binary forms, with or without
     6     * modification, are permitted provided that the following conditions
     7     * are met:
     8     *
     9     * *  Redistributions of source code must retain the above copyright
    10     *    notice, this list of conditions and the following disclaimer.
    11     *
    12     * *  Redistributions in binary form must reproduce the above copyright
    13     *    notice, this list of conditions and the following disclaimer in the
    14     *    documentation and/or other materials provided with the distribution.
    15     *
    16     * *  Neither the name of Texas Instruments Incorporated nor the names of
    17     *    its contributors may be used to endorse or promote products derived
    18     *    from this software without specific prior written permission.
    19     *
    20     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    22     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    23     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    27     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    28     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    29     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    30     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31     */
    32    
    33    import ti.catalog.msp430.peripherals.clock.UCS as UCS;
    34    
    35    /*!
    36     *  ======== GPIO for MSP430F543xA ========
    37     *  MSP430 General Purpose Input Output Ports
    38     */
    39    metaonly module GPIO_MSP430F543xA inherits IGPIO {
    40        /*!
    41         *  ======== create ========
    42         *  Create an instance of this peripheral. Use a customized
    43         *  init function so that we can get access to the UCS
    44         *  instances.
    45         */
    46        create(UCS.Instance clock);
    47    
    48    instance:
    49        /*! @_nodoc */
    50        config UCS.Instance clock;
    51    
    52       /*! Define an array to describe all device pins. The 1st dimension
    53        *  denotes the port, the second the pin on that port. On an
    54        *  MSP430F543x(A) device, there are 8 + 2 = 10 pins total.
    55        */
    56    
    57        /* TODO: This here should really be a module-wide feature, rather than an instance feature,
    58         * however due to limitations in XDCtools 3.21.0.0 the data is located here */
    59        config DevicePin_t devicePins[12][8];
    60    
    61        /*! Implementation of Device Pin Functional Configuration */
    62        override config DevicePinFunctionSetting_t devicePinSetting[12][8];
    63    
    64        /*! Determine if each Register needs to be forced set or not */
    65        readonly config ForceSetDefaultRegister_t forceSetDefaultRegister[] =
    66        [
    67            { register : "P1OUT" , regForceSet : true  },
    68            { register : "P1SEL" , regForceSet : false },
    69            { register : "P1DIR" , regForceSet : true  },
    70            { register : "P1REN" , regForceSet : false },
    71            { register : "P1IES" , regForceSet : true },
    72            { register : "P1IFG" , regForceSet : true },
    73            { register : "P1IE"  , regForceSet : false },
    74            { register : "P2OUT" , regForceSet : true  },
    75            { register : "P2SEL" , regForceSet : false },
    76            { register : "P2DIR" , regForceSet : true  },
    77            { register : "P2REN" , regForceSet : false },
    78            { register : "P2IES" , regForceSet : true },
    79            { register : "P2IFG" , regForceSet : true },
    80            { register : "P2IE"  , regForceSet : false },
    81            { register : "P3OUT" , regForceSet : true  },
    82            { register : "P3SEL" , regForceSet : false },
    83            { register : "P3DIR" , regForceSet : true  },
    84            { register : "P3REN" , regForceSet : false },
    85            { register : "P4OUT" , regForceSet : true  },
    86            { register : "P4SEL" , regForceSet : false },
    87            { register : "P4DIR" , regForceSet : true  },
    88            { register : "P4REN" , regForceSet : false },
    89            { register : "P5OUT" , regForceSet : true  },
    90            { register : "P5SEL" , regForceSet : false },
    91            { register : "P5DIR" , regForceSet : true  },
    92            { register : "P5REN" , regForceSet : false },
    93            { register : "P6OUT" , regForceSet : true  },
    94            { register : "P6SEL" , regForceSet : false },
    95            { register : "P6DIR" , regForceSet : true  },
    96            { register : "P6REN" , regForceSet : false },
    97            { register : "P7OUT" , regForceSet : true  },
    98            { register : "P7SEL" , regForceSet : false },
    99            { register : "P7DIR" , regForceSet : true  },
   100            { register : "P7REN" , regForceSet : false },
   101            { register : "P8OUT" , regForceSet : true  },
   102            { register : "P8SEL" , regForceSet : false },
   103            { register : "P8DIR" , regForceSet : true  },
   104            { register : "P8REN" , regForceSet : false },
   105            { register : "P9OUT" , regForceSet : true  },
   106            { register : "P9SEL" , regForceSet : false },
   107            { register : "P9DIR" , regForceSet : true  },
   108            { register : "P9REN" , regForceSet : false },
   109            { register : "P10OUT" , regForceSet : true  },
   110            { register : "P10SEL" , regForceSet : false },
   111            { register : "P10DIR" , regForceSet : true  },
   112            { register : "P10REN" , regForceSet : false },
   113            { register : "P11OUT" , regForceSet : true  },
   114            { register : "P11SEL" , regForceSet : false },
   115            { register : "P11DIR" , regForceSet : true  },
   116            { register : "P11REN" , regForceSet : false },
   117            { register : "PJOUT" , regForceSet : true  },
   118            { register : "PJSEL" , regForceSet : false },
   119            { register : "PJDIR" , regForceSet : true  },
   120            { register : "PJREN" , regForceSet : false }
   121        ];
   122    
   123        /*
   124         *  GPIO Digital I/O Registers
   125         *
   126         *  One GIPO instance defines the configuration of an entire,
   127         *  8-bit wide digital I/O port.
   128         */
   129    
   130        /*! Port 1 Output Register */
   131        config GpioBits8PxOut_t P1OUT = {
   132            Bit0        : BIT0_OFF,
   133            Bit1        : BIT1_OFF,
   134            Bit2        : BIT2_OFF,
   135            Bit3        : BIT3_OFF,
   136            Bit4        : BIT4_OFF,
   137            Bit5        : BIT5_OFF,
   138            Bit6        : BIT6_OFF,
   139            Bit7        : BIT7_OFF
   140        };
   141    
   142        /*! Port 1 Port Select Register */
   143        config GpioBits8PxSel_t P1SEL = {
   144            Bit0        : BIT0_OFF,
   145            Bit1        : BIT1_OFF,
   146            Bit2        : BIT2_OFF,
   147            Bit3        : BIT3_OFF,
   148            Bit4        : BIT4_OFF,
   149            Bit5        : BIT5_OFF,
   150            Bit6        : BIT6_OFF,
   151            Bit7        : BIT7_OFF
   152        };
   153    
   154        /*! Port 1 Direction Register */
   155        config GpioBits8PxDir_t P1DIR = {
   156            Bit0        : BIT0_OFF,
   157            Bit1        : BIT1_OFF,
   158            Bit2        : BIT2_OFF,
   159            Bit3        : BIT3_OFF,
   160            Bit4        : BIT4_OFF,
   161            Bit5        : BIT5_OFF,
   162            Bit6        : BIT6_OFF,
   163            Bit7        : BIT7_OFF
   164        };
   165    
   166        /*! Port 1 Resistor Enable Register */
   167        config GpioBits8PxRen_t P1REN = {
   168            Bit0        : BIT0_OFF,
   169            Bit1        : BIT1_OFF,
   170            Bit2        : BIT2_OFF,
   171            Bit3        : BIT3_OFF,
   172            Bit4        : BIT4_OFF,
   173            Bit5        : BIT5_OFF,
   174            Bit6        : BIT6_OFF,
   175            Bit7        : BIT7_OFF
   176        };
   177    
   178        /*! Port 2 Output Register */
   179        config GpioBits8PxOut_t P2OUT = {
   180            Bit0        : BIT0_OFF,
   181            Bit1        : BIT1_OFF,
   182            Bit2        : BIT2_OFF,
   183            Bit3        : BIT3_OFF,
   184            Bit4        : BIT4_OFF,
   185            Bit5        : BIT5_OFF,
   186            Bit6        : BIT6_OFF,
   187            Bit7        : BIT7_OFF
   188        };
   189    
   190        /*! Port 2 Port Select Register */
   191        config GpioBits8PxSel_t P2SEL = {
   192            Bit0        : BIT0_OFF,
   193            Bit1        : BIT1_OFF,
   194            Bit2        : BIT2_OFF,
   195            Bit3        : BIT3_OFF,
   196            Bit4        : BIT4_OFF,
   197            Bit5        : BIT5_OFF,
   198            Bit6        : BIT6_OFF,
   199            Bit7        : BIT7_OFF
   200        };
   201    
   202        /*! Port 2 Direction Register */
   203        config GpioBits8PxDir_t P2DIR = {
   204            Bit0        : BIT0_OFF,
   205            Bit1        : BIT1_OFF,
   206            Bit2        : BIT2_OFF,
   207            Bit3        : BIT3_OFF,
   208            Bit4        : BIT4_OFF,
   209            Bit5        : BIT5_OFF,
   210            Bit6        : BIT6_OFF,
   211            Bit7        : BIT7_OFF
   212        };
   213    
   214        /*! Port 2 Resistor Enable Register */
   215        config GpioBits8PxRen_t P2REN = {
   216            Bit0        : BIT0_OFF,
   217            Bit1        : BIT1_OFF,
   218            Bit2        : BIT2_OFF,
   219            Bit3        : BIT3_OFF,
   220            Bit4        : BIT4_OFF,
   221            Bit5        : BIT5_OFF,
   222            Bit6        : BIT6_OFF,
   223            Bit7        : BIT7_OFF
   224        };
   225    
   226        /*! Port 3 Output Register */
   227        config GpioBits8PxOut_t P3OUT = {
   228            Bit0        : BIT0_OFF,
   229            Bit1        : BIT1_OFF,
   230            Bit2        : BIT2_OFF,
   231            Bit3        : BIT3_OFF,
   232            Bit4        : BIT4_OFF,
   233            Bit5        : BIT5_OFF,
   234            Bit6        : BIT6_OFF,
   235            Bit7        : BIT7_OFF
   236        };
   237    
   238        /*! Port 3 Port Select Register */
   239        config GpioBits8PxSel_t P3SEL = {
   240            Bit0        : BIT0_OFF,
   241            Bit1        : BIT1_OFF,
   242            Bit2        : BIT2_OFF,
   243            Bit3        : BIT3_OFF,
   244            Bit4        : BIT4_OFF,
   245            Bit5        : BIT5_OFF,
   246            Bit6        : BIT6_OFF,
   247            Bit7        : BIT7_OFF
   248        };
   249    
   250        /*! Port 3 Direction Register */
   251        config GpioBits8PxDir_t P3DIR = {
   252            Bit0        : BIT0_OFF,
   253            Bit1        : BIT1_OFF,
   254            Bit2        : BIT2_OFF,
   255            Bit3        : BIT3_OFF,
   256            Bit4        : BIT4_OFF,
   257            Bit5        : BIT5_OFF,
   258            Bit6        : BIT6_OFF,
   259            Bit7        : BIT7_OFF
   260        };
   261    
   262        /*! Port 3 Resistor Enable Register */
   263        config GpioBits8PxRen_t P3REN = {
   264            Bit0        : BIT0_OFF,
   265            Bit1        : BIT1_OFF,
   266            Bit2        : BIT2_OFF,
   267            Bit3        : BIT3_OFF,
   268            Bit4        : BIT4_OFF,
   269            Bit5        : BIT5_OFF,
   270            Bit6        : BIT6_OFF,
   271            Bit7        : BIT7_OFF
   272        };
   273    
   274        /*! Port 4 Output Register */
   275        config GpioBits8PxOut_t P4OUT = {
   276            Bit0        : BIT0_OFF,
   277            Bit1        : BIT1_OFF,
   278            Bit2        : BIT2_OFF,
   279            Bit3        : BIT3_OFF,
   280            Bit4        : BIT4_OFF,
   281            Bit5        : BIT5_OFF,
   282            Bit6        : BIT6_OFF,
   283            Bit7        : BIT7_OFF
   284        };
   285    
   286        /*! Port 4 Port Select Register */
   287        config GpioBits8PxSel_t P4SEL = {
   288            Bit0        : BIT0_OFF,
   289            Bit1        : BIT1_OFF,
   290            Bit2        : BIT2_OFF,
   291            Bit3        : BIT3_OFF,
   292            Bit4        : BIT4_OFF,
   293            Bit5        : BIT5_OFF,
   294            Bit6        : BIT6_OFF,
   295            Bit7        : BIT7_OFF
   296        };
   297    
   298        /*! Port 4 Direction Register */
   299        config GpioBits8PxDir_t P4DIR = {
   300            Bit0        : BIT0_OFF,
   301            Bit1        : BIT1_OFF,
   302            Bit2        : BIT2_OFF,
   303            Bit3        : BIT3_OFF,
   304            Bit4        : BIT4_OFF,
   305            Bit5        : BIT5_OFF,
   306            Bit6        : BIT6_OFF,
   307            Bit7        : BIT7_OFF
   308        };
   309    
   310        /*! Port 4 Resistor Enable Register */
   311        config GpioBits8PxRen_t P4REN = {
   312            Bit0        : BIT0_OFF,
   313            Bit1        : BIT1_OFF,
   314            Bit2        : BIT2_OFF,
   315            Bit3        : BIT3_OFF,
   316            Bit4        : BIT4_OFF,
   317            Bit5        : BIT5_OFF,
   318            Bit6        : BIT6_OFF,
   319            Bit7        : BIT7_OFF
   320        };
   321    
   322            /*! Port 5 Output Register */
   323        config GpioBits8PxOut_t P5OUT = {
   324            Bit0        : BIT0_OFF,
   325            Bit1        : BIT1_OFF,
   326            Bit2        : BIT2_OFF,
   327            Bit3        : BIT3_OFF,
   328            Bit4        : BIT4_OFF,
   329            Bit5        : BIT5_OFF,
   330            Bit6        : BIT6_OFF,
   331            Bit7        : BIT7_OFF
   332        };
   333    
   334        /*! Port 5 Port Select Register */
   335        config GpioBits8PxSel_t P5SEL = {
   336            Bit0        : BIT0_OFF,
   337            Bit1        : BIT1_OFF,
   338            Bit2        : BIT2_OFF,
   339            Bit3        : BIT3_OFF,
   340            Bit4        : BIT4_OFF,
   341            Bit5        : BIT5_OFF,
   342            Bit6        : BIT6_OFF,
   343            Bit7        : BIT7_OFF
   344        };
   345    
   346        /*! Port 5 Direction Register */
   347        config GpioBits8PxDir_t P5DIR = {
   348            Bit0        : BIT0_OFF,
   349            Bit1        : BIT1_OFF,
   350            Bit2        : BIT2_OFF,
   351            Bit3        : BIT3_OFF,
   352            Bit4        : BIT4_OFF,
   353            Bit5        : BIT5_OFF,
   354            Bit6        : BIT6_OFF,
   355            Bit7        : BIT7_OFF
   356        };
   357    
   358        /*! Port 5 Resistor Enable Register */
   359        config GpioBits8PxRen_t P5REN = {
   360            Bit0        : BIT0_OFF,
   361            Bit1        : BIT1_OFF,
   362            Bit2        : BIT2_OFF,
   363            Bit3        : BIT3_OFF,
   364            Bit4        : BIT4_OFF,
   365            Bit5        : BIT5_OFF,
   366            Bit6        : BIT6_OFF,
   367            Bit7        : BIT7_OFF
   368        };
   369    
   370        /*! Port 6 Output Register */
   371        config GpioBits8PxOut_t P6OUT = {
   372            Bit0        : BIT0_OFF,
   373            Bit1        : BIT1_OFF,
   374            Bit2        : BIT2_OFF,
   375            Bit3        : BIT3_OFF,
   376            Bit4        : BIT4_OFF,
   377            Bit5        : BIT5_OFF,
   378            Bit6        : BIT6_OFF,
   379            Bit7        : BIT7_OFF
   380        };
   381    
   382        /*! Port 6 Port Select Register */
   383        config GpioBits8PxSel_t P6SEL = {
   384            Bit0        : BIT0_OFF,
   385            Bit1        : BIT1_OFF,
   386            Bit2        : BIT2_OFF,
   387            Bit3        : BIT3_OFF,
   388            Bit4        : BIT4_OFF,
   389            Bit5        : BIT5_OFF,
   390            Bit6        : BIT6_OFF,
   391            Bit7        : BIT7_OFF
   392        };
   393    
   394        /*! Port 6 Direction Register */
   395        config GpioBits8PxDir_t P6DIR = {
   396            Bit0        : BIT0_OFF,
   397            Bit1        : BIT1_OFF,
   398            Bit2        : BIT2_OFF,
   399            Bit3        : BIT3_OFF,
   400            Bit4        : BIT4_OFF,
   401            Bit5        : BIT5_OFF,
   402            Bit6        : BIT6_OFF,
   403            Bit7        : BIT7_OFF
   404        };
   405    
   406        /*! Port 6 Resistor Enable Register */
   407        config GpioBits8PxRen_t P6REN = {
   408            Bit0        : BIT0_OFF,
   409            Bit1        : BIT1_OFF,
   410            Bit2        : BIT2_OFF,
   411            Bit3        : BIT3_OFF,
   412            Bit4        : BIT4_OFF,
   413            Bit5        : BIT5_OFF,
   414            Bit6        : BIT6_OFF,
   415            Bit7        : BIT7_OFF
   416        };
   417    
   418        /*! Port 7 Output Register */
   419        config GpioBits8PxOut_t P7OUT = {
   420            Bit0        : BIT0_OFF,
   421            Bit1        : BIT1_OFF,
   422            Bit2        : BIT2_OFF,
   423            Bit3        : BIT3_OFF,
   424            Bit4        : BIT4_OFF,
   425            Bit5        : BIT5_OFF,
   426            Bit6        : BIT6_OFF,
   427            Bit7        : BIT7_OFF
   428        };
   429    
   430        /*! Port 7 Port Select Register */
   431        config GpioBits8PxSel_t P7SEL = {
   432            Bit0        : BIT0_OFF,
   433            Bit1        : BIT1_OFF,
   434            Bit2        : BIT2_OFF,
   435            Bit3        : BIT3_OFF,
   436            Bit4        : BIT4_OFF,
   437            Bit5        : BIT5_OFF,
   438            Bit6        : BIT6_OFF,
   439            Bit7        : BIT7_OFF
   440        };
   441    
   442        /*! Port 7 Direction Register */
   443        config GpioBits8PxDir_t P7DIR = {
   444            Bit0        : BIT0_OFF,
   445            Bit1        : BIT1_OFF,
   446            Bit2        : BIT2_OFF,
   447            Bit3        : BIT3_OFF,
   448            Bit4        : BIT4_OFF,
   449            Bit5        : BIT5_OFF,
   450            Bit6        : BIT6_OFF,
   451            Bit7        : BIT7_OFF
   452        };
   453    
   454        /*! Port 7 Resistor Enable Register */
   455        config GpioBits8PxRen_t P7REN = {
   456            Bit0        : BIT0_OFF,
   457            Bit1        : BIT1_OFF,
   458            Bit2        : BIT2_OFF,
   459            Bit3        : BIT3_OFF,
   460            Bit4        : BIT4_OFF,
   461            Bit5        : BIT5_OFF,
   462            Bit6        : BIT6_OFF,
   463            Bit7        : BIT7_OFF
   464        };
   465    
   466        /*! Port 8 Output Register */
   467        config GpioBits8PxOut_t P8OUT = {
   468            Bit0        : BIT0_OFF,
   469            Bit1        : BIT1_OFF,
   470            Bit2        : BIT2_OFF,
   471            Bit3        : BIT3_OFF,
   472            Bit4        : BIT4_OFF,
   473            Bit5        : BIT5_OFF,
   474            Bit6        : BIT6_OFF,
   475            Bit7        : BIT7_OFF
   476        };
   477    
   478        /*! Port 8 Port Select Register */
   479        config GpioBits8PxSel_t P8SEL = {
   480            Bit0        : BIT0_OFF,
   481            Bit1        : BIT1_OFF,
   482            Bit2        : BIT2_OFF,
   483            Bit3        : BIT3_OFF,
   484            Bit4        : BIT4_OFF,
   485            Bit5        : BIT5_OFF,
   486            Bit6        : BIT6_OFF,
   487            Bit7        : BIT7_OFF
   488        };
   489    
   490        /*! Port 8 Direction Register */
   491        config GpioBits8PxDir_t P8DIR = {
   492            Bit0        : BIT0_OFF,
   493            Bit1        : BIT1_OFF,
   494            Bit2        : BIT2_OFF,
   495            Bit3        : BIT3_OFF,
   496            Bit4        : BIT4_OFF,
   497            Bit5        : BIT5_OFF,
   498            Bit6        : BIT6_OFF,
   499            Bit7        : BIT7_OFF
   500        };
   501    
   502        /*! Port 8 Resistor Enable Register */
   503        config GpioBits8PxRen_t P8REN = {
   504            Bit0        : BIT0_OFF,
   505            Bit1        : BIT1_OFF,
   506            Bit2        : BIT2_OFF,
   507            Bit3        : BIT3_OFF,
   508            Bit4        : BIT4_OFF,
   509            Bit5        : BIT5_OFF,
   510            Bit6        : BIT6_OFF,
   511            Bit7        : BIT7_OFF
   512        };
   513    
   514        /*! Port 9 Output Register */
   515        config GpioBits8PxOut_t P9OUT = {
   516            Bit0        : BIT0_OFF,
   517            Bit1        : BIT1_OFF,
   518            Bit2        : BIT2_OFF,
   519            Bit3        : BIT3_OFF,
   520            Bit4        : BIT4_OFF,
   521            Bit5        : BIT5_OFF,
   522            Bit6        : BIT6_OFF,
   523            Bit7        : BIT7_OFF
   524        };
   525    
   526        /*! Port 9 Port Select Register */
   527        config GpioBits8PxSel_t P9SEL = {
   528            Bit0        : BIT0_OFF,
   529            Bit1        : BIT1_OFF,
   530            Bit2        : BIT2_OFF,
   531            Bit3        : BIT3_OFF,
   532            Bit4        : BIT4_OFF,
   533            Bit5        : BIT5_OFF,
   534            Bit6        : BIT6_OFF,
   535            Bit7        : BIT7_OFF
   536        };
   537    
   538        /*! Port 9 Direction Register */
   539        config GpioBits8PxDir_t P9DIR = {
   540            Bit0        : BIT0_OFF,
   541            Bit1        : BIT1_OFF,
   542            Bit2        : BIT2_OFF,
   543            Bit3        : BIT3_OFF,
   544            Bit4        : BIT4_OFF,
   545            Bit5        : BIT5_OFF,
   546            Bit6        : BIT6_OFF,
   547            Bit7        : BIT7_OFF
   548        };
   549    
   550        /*! Port 9 Resistor Enable Register */
   551        config GpioBits8PxRen_t P9REN = {
   552            Bit0        : BIT0_OFF,
   553            Bit1        : BIT1_OFF,
   554            Bit2        : BIT2_OFF,
   555            Bit3        : BIT3_OFF,
   556            Bit4        : BIT4_OFF,
   557            Bit5        : BIT5_OFF,
   558            Bit6        : BIT6_OFF,
   559            Bit7        : BIT7_OFF
   560        };
   561    
   562        /*! Port 10 Output Register */
   563        config GpioBits8PxOut_t P10OUT = {
   564            Bit0        : BIT0_OFF,
   565            Bit1        : BIT1_OFF,
   566            Bit2        : BIT2_OFF,
   567            Bit3        : BIT3_OFF,
   568            Bit4        : BIT4_OFF,
   569            Bit5        : BIT5_OFF,
   570            Bit6        : BIT6_OFF,
   571            Bit7        : BIT7_OFF
   572        };
   573    
   574        /*! Port 10 Port Select Register */
   575        config GpioBits8PxSel_t P10SEL = {
   576            Bit0        : BIT0_OFF,
   577            Bit1        : BIT1_OFF,
   578            Bit2        : BIT2_OFF,
   579            Bit3        : BIT3_OFF,
   580            Bit4        : BIT4_OFF,
   581            Bit5        : BIT5_OFF,
   582            Bit6        : BIT6_OFF,
   583            Bit7        : BIT7_OFF
   584        };
   585    
   586        /*! Port 10 Direction Register */
   587        config GpioBits8PxDir_t P10DIR = {
   588            Bit0        : BIT0_OFF,
   589            Bit1        : BIT1_OFF,
   590            Bit2        : BIT2_OFF,
   591            Bit3        : BIT3_OFF,
   592            Bit4        : BIT4_OFF,
   593            Bit5        : BIT5_OFF,
   594            Bit6        : BIT6_OFF,
   595            Bit7        : BIT7_OFF
   596        };
   597    
   598        /*! Port 10 Resistor Enable Register */
   599        config GpioBits8PxRen_t P10REN = {
   600            Bit0        : BIT0_OFF,
   601            Bit1        : BIT1_OFF,
   602            Bit2        : BIT2_OFF,
   603            Bit3        : BIT3_OFF,
   604            Bit4        : BIT4_OFF,
   605            Bit5        : BIT5_OFF,
   606            Bit6        : BIT6_OFF,
   607            Bit7        : BIT7_OFF
   608        };
   609    
   610        /*! Port 11 Output Register */
   611        config GpioBits8PxOut_t P11OUT = {
   612            Bit0        : BIT0_OFF,
   613            Bit1        : BIT1_OFF,
   614            Bit2        : BIT2_OFF,
   615            Bit3        : BIT3_OFF,
   616            Bit4        : BIT4_OFF,
   617            Bit5        : BIT5_OFF,
   618            Bit6        : BIT6_OFF,
   619            Bit7        : BIT7_OFF
   620        };
   621    
   622        /*! Port 11 Port Select Register */
   623        config GpioBits8PxSel_t P11SEL = {
   624            Bit0        : BIT0_OFF,
   625            Bit1        : BIT1_OFF,
   626            Bit2        : BIT2_OFF,
   627            Bit3        : BIT3_OFF,
   628            Bit4        : BIT4_OFF,
   629            Bit5        : BIT5_OFF,
   630            Bit6        : BIT6_OFF,
   631            Bit7        : BIT7_OFF
   632        };
   633    
   634        /*! Port 11 Direction Register */
   635        config GpioBits8PxDir_t P11DIR = {
   636            Bit0        : BIT0_OFF,
   637            Bit1        : BIT1_OFF,
   638            Bit2        : BIT2_OFF,
   639            Bit3        : BIT3_OFF,
   640            Bit4        : BIT4_OFF,
   641            Bit5        : BIT5_OFF,
   642            Bit6        : BIT6_OFF,
   643            Bit7        : BIT7_OFF
   644        };
   645    
   646        /*! Port 11 Resistor Enable Register */
   647        config GpioBits8PxRen_t P11REN = {
   648            Bit0        : BIT0_OFF,
   649            Bit1        : BIT1_OFF,
   650            Bit2        : BIT2_OFF,
   651            Bit3        : BIT3_OFF,
   652            Bit4        : BIT4_OFF,
   653            Bit5        : BIT5_OFF,
   654            Bit6        : BIT6_OFF,
   655            Bit7        : BIT7_OFF
   656        };
   657    }