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 /*! 34 * Universal Serial Communication Interface B1 I2C 2xx 35 */ 36 metaonly interface IUSCI_B1_I2C inherits IUSCI_I2C { 37 38 instance: 39 /*! Control Register 0 */ 40 config UCxCTL0_t UCB1CTL0 = { 41 UCA10 : UCA10_OFF, 42 UCSLA10 : UCSLA10_OFF, 43 UCMM : UCMM_OFF, 44 UCMST : UCMST_OFF, 45 UCMODE : UCMODE_0, 46 UCSYNC : UCSYNC, 47 }; 48 49 /*! Control Register 1 */ 50 config UCxCTL1_t UCB1CTL1 = { 51 UCSSEL : UCSSEL_0, 52 UCTR : UCTR_OFF, 53 UCTXNACK : UCTXNACK_OFF, 54 UCTXSTP : UCTXSTP_OFF, 55 UCTXSTT : UCTXSTT_OFF, 56 UCSWRST : UCSWRST, 57 }; 58 59 /*! Status Register */ 60 config UCxSTAT_t UCB1STAT = { 61 UCSCLLOW : UCSCLLOW, 62 UCGC : UCGC, 63 UCBBUSY : UCBBUSY, 64 UCNACKIFG : UCNACKIFG, 65 UCSTPIFG : UCSTPIFG, 66 UCSTTIFG : UCSTTIFG, 67 UCALIFG : UCALIFG, 68 }; 69 70 /*! I2C Own Address Register */ 71 config UCBxI2COA_t UCB1I2COA = { 72 UCGCEN : UCGCEN_OFF, 73 I2COA : 0, 74 }; 75 76 /*! I2C Slave Address Register */ 77 config Bits8 UCB1I2CSA = 0; 78 79 /*! Receive Buffer Register */ 80 config Bits8 UCB1RXBUF = 0; 81 82 /*! Transmit Buffer Register */ 83 config Bits8 UCB1TXBUF = 0; 84 85 /*! Bit Rate Control Register 0 */ 86 config Bits8 UCB1BR0 = 0; 87 88 /*! Bit Rate Control Register 1 */ 89 config Bits8 UCB1BR1 = 0; 90 }