1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/** @file reg_rti.h
* @brief RTI Register Layer Header File
* @date 11-Dec-2018
* @version 04.07.01
*
* This file contains:
* - Definitions
* - Types
* - Interface Prototypes
* .
* which are relevant for the RTI driver.
*/
/*
* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef __REG_RTI_H__
#define __REG_RTI_H__
#include "sys_common.h"
/* USER CODE BEGIN (0) */
/* USER CODE END */
/* Rti Register Frame Definition */
/** @struct rtiBase
* @brief RTI Register Frame Definition
*
* This type is used to access the RTI Registers.
*/
/** @typedef rtiBASE_t
* @brief RTI Register Frame Type Definition
*
* This type is used to access the RTI Registers.
*/
typedef volatile struct rtiBase
{
uint32 GCTRL; /**< 0x0000: Global Control Register */
uint32 TBCTRL; /**< 0x0004: Timebase Control Register */
uint32 CAPCTRL; /**< 0x0008: Capture Control Register */
uint32 COMPCTRL; /**< 0x000C: Compare Control Register */
struct
{
uint32 FRCx; /**< 0x0010,0x0030: Free Running Counter x Register */
uint32 UCx; /**< 0x0014,0x0034: Up Counter x Register */
uint32 CPUCx; /**< 0x0018,0x0038: Compare Up Counter x Register */
uint32 rsvd1; /**< 0x001C,0x003C: Reserved */
uint32 CAFRCx; /**< 0x0020,0x0040: Capture Free Running Counter x Register */
uint32 CAUCx; /**< 0x0024,0x0044: Capture Up Counter x Register */
uint32 rsvd2[2U]; /**< 0x0028,0x0048: Reserved */
} CNT[2U]; /**< Counter x selection:
- 0: Counter 0
- 1: Counter 1 */
struct
{
uint32 COMPx; /**< 0x0050,0x0058,0x0060,0x0068: Compare x Register */
uint32 UDCPx; /**< 0x0054,0x005C,0x0064,0x006C: Update Compare x Register */
} CMP[4U]; /**< Compare x selection:
- 0: Compare 0
- 1: Compare 1
- 2: Compare 2
- 3: Compare 3 */
uint32 TBLCOMP; /**< 0x0070: External Clock Timebase Low Compare Register */
uint32 TBHCOMP; /**< 0x0074: External Clock Timebase High Compare Register */
uint32 rsvd3[2U]; /**< 0x0078: Reserved */
uint32 SETINTENA; /**< 0x0080: Set/Status Interrupt Register */
uint32 CLEARINTENA; /**< 0x0084: Clear/Status Interrupt Register */
uint32 INTFLAG; /**< 0x0088: Interrupt Flag Register */
uint32 rsvd4; /**< 0x008C: Reserved */
uint32 DWDCTRL; /**< 0x0090: Digital Watchdog Control Register */
uint32 DWDPRLD; /**< 0x0094: Digital Watchdog Preload Register */
uint32 WDSTATUS; /**< 0x0098: Watchdog Status Register */
uint32 WDKEY; /**< 0x009C: Watchdog Key Register */
uint32 DWDCNTR; /**< 0x00A0: Digital Watchdog Down Counter */
uint32 WWDRXNCTRL; /**< 0x00A4: Digital Windowed Watchdog Reaction Control */
uint32 WWDSIZECTRL; /**< 0x00A8: Digital Windowed Watchdog Window Size Control */
uint32 INTCLRENABLE; /**< 0x00AC: RTI Compare Interrupt Clear Enable Register */
uint32 COMP0CLR; /**< 0x00B0: RTI Compare 0 Clear Register */
uint32 COMP1CLR; /**< 0x00B4: RTI Compare 1 Clear Register */
uint32 COMP2CLR; /**< 0x00B8: RTI Compare 2 Clear Register */
uint32 COMP3CLR; /**< 0x00BC: RTI Compare 3 Clear Register */
} rtiBASE_t;
/** @def rtiREG1
* @brief RTI1 Register Frame Pointer
*
* This pointer is used by the RTI driver to access the RTI1 registers.
*/
#define rtiREG1 ((rtiBASE_t *)0xFFFFFC00U)
/* USER CODE BEGIN (1) */
/* USER CODE END */
#endif
|