summaryrefslogtreecommitdiff
path: root/include/arch/rm46l8lp/halcogen/reg_ecap.h
blob: 9bfb07b159c62b127648df9b1c2367ed003d3762 (plain)
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/** @file reg_ecap.h
*   @brief ECAP Register Layer Header File
*   @date 11-Dec-2018
*   @version 04.07.01
*   
*   This file contains:
*   - Definitions
*   - Types
*   - Interface Prototypes
*   .
*   which are relevant for the ECAP 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_ECAP_H__
#define __REG_ECAP_H__

#include "sys_common.h"



/* USER CODE BEGIN (0) */
/* USER CODE END */

/* Ecap Register Frame Definition */
/** @struct ecapBASE
*   @brief ECAP Register Frame Definition
*
*   This type is used to access the ECAP Registers.
*/
/** @typedef ecapBASE_t
*   @brief ECAP Register Frame Type Definition
*
*   This type is used to access the ECAP Registers.
*/
#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) 

typedef volatile struct ecapBASE
 {
   uint32 TSCTR;     /**<  0x0000 Time stamp counter Register*/
   uint32 CTRPHS;    /**<  0x0004 Counter phase Register*/ 
   uint32 CAP1;      /**<  0x0008 Capture 1 Register*/
   uint32 CAP2;      /**<  0x000C Capture 2 Register*/
   uint32 CAP3;      /**<  0x0010 Capture 3 Register*/
   uint32 CAP4;      /**<  0x0014 Capture 4 Register*/
   uint16 rsvd1[8U]; /**<  0x0018 Reserved*/
   uint16 ECCTL1;    /**<  0x0028 Capture Control Reg 1 Register*/
   uint16 ECCTL2;    /**<  0x002A Capture Control Reg 2 Register*/
   uint16 ECEINT;    /**<  0x002C Interrupt enable Register*/
   uint16 ECFLG;     /**<  0x002E Interrupt flags Register*/ 
   uint16 ECCLR;     /**<  0x0030 Interrupt clear Register*/
   uint16 ECFRC;     /**<  0x0032 Interrupt force Register*/
   uint16 rsvd2[6U]; /**<  0x0034 Reserved*/

}ecapBASE_t;

#else

typedef volatile struct ecapBASE
 {
   uint32 TSCTR;     /**<  0x0000 Time stamp counter Register*/
   uint32 CTRPHS;    /**<  0x0004 Counter phase Register*/ 
   uint32 CAP1;      /**<  0x0008 Capture 1 Register*/
   uint32 CAP2;      /**<  0x000C Capture 2 Register*/
   uint32 CAP3;      /**<  0x0010 Capture 3 Register*/
   uint32 CAP4;      /**<  0x0014 Capture 4 Register*/
   uint16 rsvd1[8U]; /**<  0x0018 Reserved*/
   uint16 ECCTL2;    /**<  0x002A Capture Control Reg 2 Register*/
   uint16 ECCTL1;    /**<  0x0028 Capture Control Reg 1 Register*/
   uint16 ECFLG;     /**<  0x002E Interrupt flags Register*/ 
   uint16 ECEINT;    /**<  0x002C Interrupt enable Register*/
   uint16 ECFRC;     /**<  0x0032 Interrupt force Register*/
   uint16 ECCLR;     /**<  0x0030 Interrupt clear Register*/
   uint16 rsvd2[6U]; /**<  0x0034 Reserved*/

}ecapBASE_t;

#endif
/** @def ecapREG1
*   @brief ECAP1 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP1 registers.
*/
#define ecapREG1 ((ecapBASE_t *)0xFCF79300U)

/** @def ecapREG2
*   @brief ECAP2 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP2 registers.
*/
#define ecapREG2 ((ecapBASE_t *)0xFCF79400U)

/** @def ecapREG3
*   @brief ECAP3 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP3 registers.
*/
#define ecapREG3 ((ecapBASE_t *)0xFCF79500U)

/** @def ecapREG4
*   @brief ECAP4 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP4 registers.
*/
#define ecapREG4 ((ecapBASE_t *)0xFCF79600U)

/** @def ecapREG5
*   @brief ECAP5 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP5 registers.
*/
#define ecapREG5 ((ecapBASE_t *)0xFCF79700U)

/** @def ecapREG6
*   @brief ECAP6 Register Frame Pointer
*
*   This pointer is used by the ECAP driver to access the ECAP6 registers.
*/
#define ecapREG6 ((ecapBASE_t *)0xFCF79800U)

/* USER CODE BEGIN (1) */
/* USER CODE END */


#endif