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
|
/** @file reg_eqep.h
* @brief EQEP Register Layer Header File
* @date 11-Dec-2018
* @version 04.07.01
*
* This file contains:
* - Definitions
* - Types
* - Interface Prototypes
* .
* which are relevant for the EQEP 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_EQEP_H__
#define __REG_EQEP_H__
#include "sys_common.h"
/* USER CODE BEGIN (0) */
/* USER CODE END */
/* Eqep Register Frame Definition */
/** @struct eqepBASE
* @brief EQEP Register Frame Definition
*
* This type is used to access the EQEP Registers.
*/
/** @typedef eqepBASE_t
* @brief EQEP Register Frame Type Definition
*
* This type is used to access the EQEP Registers.
*/
#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1))
typedef volatile struct eqepBASE
{
uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/
uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/
uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/
uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/
uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/
uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/
uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/
uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/
uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/
uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/
uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/
uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/
uint16 QEPCTL; /*< 0x002A eQEP Control*/
uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/
uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/
uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/
uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/
uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/
uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/
uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/
uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/
uint16 QCPRD; /*< 0x003C eQEP Capture Period*/
uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/
uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/
uint16 rsvd_1; /*< 0x0042 Reserved*/
} eqepBASE_t;
#else
typedef volatile struct eqepBASE
{
uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/
uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/
uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/
uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/
uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/
uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/
uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/
uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/
uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/
uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/
uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/
uint16 QEPCTL; /*< 0x002A eQEP Control*/
uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/
uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/
uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/
uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/
uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/
uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/
uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/
uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/
uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/
uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/
uint16 QCPRD; /*< 0x003C eQEP Capture Period*/
uint16 rsvd_1; /*< 0x0042 Reserved*/
uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/
} eqepBASE_t;
#endif
/** @def eqepREG1
* @brief eQEP1 Register Frame Pointer
*
* This pointer is used by the eQEP driver to access the eQEP1 registers.
*/
#define eqepREG1 ((eqepBASE_t *)0xFCF79900U)
/** @def eqepREG2
* @brief eQEP2 Register Frame Pointer
*
* This pointer is used by the eQEP driver to access the eQEP2 registers.
*/
#define eqepREG2 ((eqepBASE_t *)0xFCF79A00U)
/* USER CODE BEGIN (1) */
/* USER CODE END */
#endif
|