reg_lin.h 4.0 KB

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