1 /** @file reg_lin.h 2 * @brief LIN Register Layer Header File 3 * @date 29.May.2013 4 * @version 03.05.02 5 * 6 * This file contains: 7 * - Definitions 8 * - Types 9 * - Interface Prototypes 10 * . 11 * which are relevant for the LIN driver. 12 */ 13 14 /* (c) Texas Instruments 2009-2013, All rights reserved. */ 15 16 #ifndef __REG_LIN_H__ 17 #define __REG_LIN_H__ 18 19 #include "sys_common.h" 20 #include "gio.h" 21 22 23 24 /* USER CODE BEGIN (0) */ 25 /* USER CODE END */ 26 27 /* Lin Register Frame Definition */ 28 /** @struct linBase 29 * @brief LIN Base Register Definition 30 * 31 * This structure is used to access the LIN module registers. 32 */ 33 /** @typedef linBASE_t 34 * @brief LIN Register Frame Type Definition 35 * 36 * This type is used to access the LIN Registers. 37 */ 38 39 typedef volatile struct linBase 40 { 41 uint32 GCR0; /**< 0x0000: Global control register 0 */ 42 uint32 GCR1; /**< 0x0004: Global control register 1 */ 43 uint32 GCR2; /**< 0x0008: Global control register 2 */ 44 uint32 SETINT; /**< 0x000C: Set interrupt enable register */ 45 uint32 CLRINT; /**< 0x0010: Clear interrupt enable register */ 46 uint32 SETINTLVL; /**< 0x0014: Set interrupt level register */ 47 uint32 CLRINTLVL; /**< 0x0018: Set interrupt level register */ 48 uint32 FLR; /**< 0x001C: interrupt flag register */ 49 uint32 INTVECT0; /**< 0x0020: interrupt vector Offset 0 */ 50 uint32 INTVECT1; /**< 0x0024: interrupt vector Offset 1 */ 51 uint32 FORMAT; /**< 0x0028: Format Control Register */ 52 uint32 BRSR; /**< 0x002C: Baud rate selection register */ 53 uint32 ED; /**< 0x0030: Emulation register */ 54 uint32 RD; /**< 0x0034: Receive data register */ 55 uint32 TD; /**< 0x0038: Transmit data register */ 56 uint32 FUN; /**< 0x003C: Pin function register */ 57 uint32 DIR; /**< 0x0040: Pin direction register */ 58 uint32 DIN; /**< 0x0044: Pin data in register */ 59 uint32 DOUT; /**< 0x0048: Pin data out register */ 60 uint32 SET; /**< 0x004C: Pin data set register */ 61 uint32 CLR; /**< 0x0050: Pin data clr register */ 62 uint32 ODR; /**< 0x0054: Pin open drain output enable register */ 63 uint32 PD; /**< 0x0058: Pin pullup/pulldown disable register */ 64 uint32 PSL; /**< 0x005C: Pin pullup/pulldown selection register */ 65 uint32 COMP; /**< 0x0060: Compare register */ 66 uint8 RDx[8U]; /**< 0x0064-0x0068: RX buffer register */ 67 uint32 MASK; /**< 0x006C: Mask register */ 68 uint32 ID; /**< 0x0070: Identification Register */ 69 uint8 TDx[8U]; /**< 0x0074-0x0078: TX buffer register */ 70 uint32 MBRSR; /**< 0x007C: Maximum baud rate selection register */ 71 uint32 SL; /**< 0x0080: Pin slew rate register */ 72 uint32 rsvd1[3U]; /**< 0x0084: Reserved */ 73 uint32 IODFTCTRL; /**< 0x0090: IODFT loopback register */ 74 } linBASE_t; 75 76 77 /** @def linREG 78 * @brief LIN Register Frame Pointer 79 * 80 * This pointer is used by the LIN driver to access the lin module registers. 81 */ 82 #define linREG ((linBASE_t *)0xFFF7E400U) 83 84 85 /** @def linPORT 86 * @brief LIN GIO Port Register Pointer 87 * 88 * Pointer used by the GIO driver to access I/O PORT of LIN 89 * (use the GIO drivers to access the port pins). 90 */ 91 #define linPORT ((gioPORT_t *)0xFFF7E440U) 92 93 /* USER CODE BEGIN (1) */ 94 /* USER CODE END */ 95 96 97 #endif 98