HPM SDK
HPMicro Software Development Kit
hpm_trgm_regs.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2025 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 
9 #ifndef HPM_TRGM_H
10 #define HPM_TRGM_H
11 
12 typedef struct {
13  __RW uint32_t FILTCFG[28]; /* 0x0 - 0x6C: Filter configure register */
14  __R uint8_t RESERVED0[144]; /* 0x70 - 0xFF: Reserved */
15  __RW uint32_t TRGOCFG[137]; /* 0x100 - 0x320: Trigger manager output configure register */
16  __R uint8_t RESERVED1[220]; /* 0x324 - 0x3FF: Reserved */
17  __RW uint32_t DMACFG[8]; /* 0x400 - 0x41C: DMA request configure register */
18  __R uint8_t RESERVED2[224]; /* 0x420 - 0x4FF: Reserved */
19  __RW uint32_t GCR; /* 0x500: General Control Register */
20  __R uint8_t RESERVED3[12]; /* 0x504 - 0x50F: Reserved */
21  __RW uint32_t ADC_MATRIX_SEL; /* 0x510: adc matrix select register */
22  __RW uint32_t DAC_MATRIX_SEL; /* 0x514: dac matrix select register */
23  __RW uint32_t POS_MATRIX_SEL0; /* 0x518: position matrix select register0 */
24  __RW uint32_t POS_MATRIX_SEL1; /* 0x51C: position matrix select register1 */
25  __R uint8_t RESERVED4[224]; /* 0x520 - 0x5FF: Reserved */
26  __R uint32_t TRGM_IN[4]; /* 0x600 - 0x60C: trigmux input read register0 */
27  __R uint8_t RESERVED5[16]; /* 0x610 - 0x61F: Reserved */
28  __R uint32_t TRGM_OUT[5]; /* 0x620 - 0x630: trigmux output read register0 */
29 } TRGM_Type;
30 
31 
32 /* Bitfield definition for register array: FILTCFG */
33 /*
34  * OUTINV (RW)
35  *
36  * 1- Filter will invert the output
37  * 0- Filter will not invert the output
38  */
39 #define TRGM_FILTCFG_OUTINV_MASK (0x10000UL)
40 #define TRGM_FILTCFG_OUTINV_SHIFT (16U)
41 #define TRGM_FILTCFG_OUTINV_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_OUTINV_SHIFT) & TRGM_FILTCFG_OUTINV_MASK)
42 #define TRGM_FILTCFG_OUTINV_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_OUTINV_MASK) >> TRGM_FILTCFG_OUTINV_SHIFT)
43 
44 /*
45  * MODE (RW)
46  *
47  * This bitfields defines the filter mode
48  * 000-bypass;
49  * 100-rapid change mode;
50  * 101-delay filter mode;
51  * 110-stalbe low mode;
52  * 111-stable high mode
53  */
54 #define TRGM_FILTCFG_MODE_MASK (0xE000U)
55 #define TRGM_FILTCFG_MODE_SHIFT (13U)
56 #define TRGM_FILTCFG_MODE_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_MODE_SHIFT) & TRGM_FILTCFG_MODE_MASK)
57 #define TRGM_FILTCFG_MODE_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_MODE_MASK) >> TRGM_FILTCFG_MODE_SHIFT)
58 
59 /*
60  * SYNCEN (RW)
61  *
62  * set to enable sychronization input signal with TRGM clock
63  */
64 #define TRGM_FILTCFG_SYNCEN_MASK (0x1000U)
65 #define TRGM_FILTCFG_SYNCEN_SHIFT (12U)
66 #define TRGM_FILTCFG_SYNCEN_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_SYNCEN_SHIFT) & TRGM_FILTCFG_SYNCEN_MASK)
67 #define TRGM_FILTCFG_SYNCEN_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_SYNCEN_MASK) >> TRGM_FILTCFG_SYNCEN_SHIFT)
68 
69 /*
70  * FILTLEN_SHIFT (RW)
71  *
72  */
73 #define TRGM_FILTCFG_FILTLEN_SHIFT_MASK (0xE00U)
74 #define TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT (9U)
75 #define TRGM_FILTCFG_FILTLEN_SHIFT_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT) & TRGM_FILTCFG_FILTLEN_SHIFT_MASK)
76 #define TRGM_FILTCFG_FILTLEN_SHIFT_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_FILTLEN_SHIFT_MASK) >> TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT)
77 
78 /*
79  * FILTLEN_BASE (RW)
80  *
81  * This bitfields defines the filter counter length.
82  */
83 #define TRGM_FILTCFG_FILTLEN_BASE_MASK (0x1FFU)
84 #define TRGM_FILTCFG_FILTLEN_BASE_SHIFT (0U)
85 #define TRGM_FILTCFG_FILTLEN_BASE_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_FILTLEN_BASE_SHIFT) & TRGM_FILTCFG_FILTLEN_BASE_MASK)
86 #define TRGM_FILTCFG_FILTLEN_BASE_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_FILTLEN_BASE_MASK) >> TRGM_FILTCFG_FILTLEN_BASE_SHIFT)
87 
88 /* Bitfield definition for register array: TRGOCFG */
89 /*
90  * OUTINV (RW)
91  *
92  * 1- Invert the output
93  */
94 #define TRGM_TRGOCFG_OUTINV_MASK (0x800U)
95 #define TRGM_TRGOCFG_OUTINV_SHIFT (11U)
96 #define TRGM_TRGOCFG_OUTINV_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_OUTINV_SHIFT) & TRGM_TRGOCFG_OUTINV_MASK)
97 #define TRGM_TRGOCFG_OUTINV_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_OUTINV_MASK) >> TRGM_TRGOCFG_OUTINV_SHIFT)
98 
99 /*
100  * FEDG2PEN (RW)
101  *
102  * 1- The selected input signal falling edge will be convert to an pulse on output. The output pulse can be stably used within the motor control system. When connecting the signal outside the motor system, due to the asynchronization of the clock systems, the clock frequency and signal active length need to be considered.
103  */
104 #define TRGM_TRGOCFG_FEDG2PEN_MASK (0x400U)
105 #define TRGM_TRGOCFG_FEDG2PEN_SHIFT (10U)
106 #define TRGM_TRGOCFG_FEDG2PEN_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_FEDG2PEN_SHIFT) & TRGM_TRGOCFG_FEDG2PEN_MASK)
107 #define TRGM_TRGOCFG_FEDG2PEN_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_FEDG2PEN_MASK) >> TRGM_TRGOCFG_FEDG2PEN_SHIFT)
108 
109 /*
110  * REDG2PEN (RW)
111  *
112  * 1- The selected input signal rising edge will be convert to an pulse on output. The output pulse can be stably used within the motor control system. When connecting the signal outside the motor system, due to the asynchronization of the clock systems, the clock frequency and signal active length need to be considered.
113  */
114 #define TRGM_TRGOCFG_REDG2PEN_MASK (0x200U)
115 #define TRGM_TRGOCFG_REDG2PEN_SHIFT (9U)
116 #define TRGM_TRGOCFG_REDG2PEN_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_REDG2PEN_SHIFT) & TRGM_TRGOCFG_REDG2PEN_MASK)
117 #define TRGM_TRGOCFG_REDG2PEN_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_REDG2PEN_MASK) >> TRGM_TRGOCFG_REDG2PEN_SHIFT)
118 
119 /*
120  * TRIGOSEL (RW)
121  *
122  * This bitfield selects one of the TRGM inputs as output.
123  */
124 #define TRGM_TRGOCFG_TRIGOSEL_MASK (0x7FU)
125 #define TRGM_TRGOCFG_TRIGOSEL_SHIFT (0U)
126 #define TRGM_TRGOCFG_TRIGOSEL_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_TRIGOSEL_SHIFT) & TRGM_TRGOCFG_TRIGOSEL_MASK)
127 #define TRGM_TRGOCFG_TRIGOSEL_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_TRIGOSEL_MASK) >> TRGM_TRGOCFG_TRIGOSEL_SHIFT)
128 
129 /* Bitfield definition for register array: DMACFG */
130 /*
131  * DMAMUX_EN (RW)
132  *
133  */
134 #define TRGM_DMACFG_DMAMUX_EN_MASK (0x80000000UL)
135 #define TRGM_DMACFG_DMAMUX_EN_SHIFT (31U)
136 #define TRGM_DMACFG_DMAMUX_EN_SET(x) (((uint32_t)(x) << TRGM_DMACFG_DMAMUX_EN_SHIFT) & TRGM_DMACFG_DMAMUX_EN_MASK)
137 #define TRGM_DMACFG_DMAMUX_EN_GET(x) (((uint32_t)(x) & TRGM_DMACFG_DMAMUX_EN_MASK) >> TRGM_DMACFG_DMAMUX_EN_SHIFT)
138 
139 /*
140  * DMASRCSEL (RW)
141  *
142  * This field selects one of the DMA requests as the DMA request output.
143  */
144 #define TRGM_DMACFG_DMASRCSEL_MASK (0x3FU)
145 #define TRGM_DMACFG_DMASRCSEL_SHIFT (0U)
146 #define TRGM_DMACFG_DMASRCSEL_SET(x) (((uint32_t)(x) << TRGM_DMACFG_DMASRCSEL_SHIFT) & TRGM_DMACFG_DMASRCSEL_MASK)
147 #define TRGM_DMACFG_DMASRCSEL_GET(x) (((uint32_t)(x) & TRGM_DMACFG_DMASRCSEL_MASK) >> TRGM_DMACFG_DMASRCSEL_SHIFT)
148 
149 /* Bitfield definition for register: GCR */
150 /*
151  * TRGOPEN (RW)
152  *
153  * The bitfield enable the TRGM outputs.
154  */
155 #define TRGM_GCR_TRGOPEN_MASK (0xFFU)
156 #define TRGM_GCR_TRGOPEN_SHIFT (0U)
157 #define TRGM_GCR_TRGOPEN_SET(x) (((uint32_t)(x) << TRGM_GCR_TRGOPEN_SHIFT) & TRGM_GCR_TRGOPEN_MASK)
158 #define TRGM_GCR_TRGOPEN_GET(x) (((uint32_t)(x) & TRGM_GCR_TRGOPEN_MASK) >> TRGM_GCR_TRGOPEN_SHIFT)
159 
160 /* Bitfield definition for register: ADC_MATRIX_SEL */
161 /*
162  * QEI1_ADC1_SEL (RW)
163  *
164  * 0-adc0; 1-adc1; 2-rdc_adc0; 3-rdc_adc1;
165  * bit7 is used to invert adc_value;
166  * others reserved
167  */
168 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_MASK (0xFF000000UL)
169 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_SHIFT (24U)
170 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_MASK)
171 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_MASK) >> TRGM_ADC_MATRIX_SEL_QEI1_ADC1_SEL_SHIFT)
172 
173 /*
174  * QEI1_ADC0_SEL (RW)
175  *
176  */
177 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_MASK (0xFF0000UL)
178 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_SHIFT (16U)
179 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_MASK)
180 #define TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_MASK) >> TRGM_ADC_MATRIX_SEL_QEI1_ADC0_SEL_SHIFT)
181 
182 /*
183  * QEI0_ADC1_SEL (RW)
184  *
185  */
186 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_MASK (0xFF00U)
187 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_SHIFT (8U)
188 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_MASK)
189 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_MASK) >> TRGM_ADC_MATRIX_SEL_QEI0_ADC1_SEL_SHIFT)
190 
191 /*
192  * QEI0_ADC0_SEL (RW)
193  *
194  */
195 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_MASK (0xFFU)
196 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_SHIFT (0U)
197 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_MASK)
198 #define TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_MASK) >> TRGM_ADC_MATRIX_SEL_QEI0_ADC0_SEL_SHIFT)
199 
200 /* Bitfield definition for register: DAC_MATRIX_SEL */
201 /*
202  * DAC1_DAC_SEL (RW)
203  *
204  * 0-qeo0_dac0; 1-qeo0_dac1; 2-qeo0_dac2;
205  * 3-qeo1_dac0; 4-qeo1_dac1; 5-qeo1_dac2;
206  * 6-rdc_dac0; 7-rdc_dac1;
207  * bit7 is used to invert dac_value;
208  * others reserved
209  */
210 #define TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_MASK (0xFF000000UL)
211 #define TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_SHIFT (24U)
212 #define TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_MASK)
213 #define TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL_DAC1_DAC_SEL_SHIFT)
214 
215 /*
216  * DAC0_DAC_SEL (RW)
217  *
218  */
219 #define TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_MASK (0xFF0000UL)
220 #define TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_SHIFT (16U)
221 #define TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_MASK)
222 #define TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL_DAC0_DAC_SEL_SHIFT)
223 
224 /*
225  * ACMP1_DAC_SEL (RW)
226  *
227  */
228 #define TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_MASK (0xFF00U)
229 #define TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_SHIFT (8U)
230 #define TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_MASK)
231 #define TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL_ACMP1_DAC_SEL_SHIFT)
232 
233 /*
234  * ACMP0_DAC_SEL (RW)
235  *
236  */
237 #define TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_MASK (0xFFU)
238 #define TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_SHIFT (0U)
239 #define TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_MASK)
240 #define TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL_ACMP0_DAC_SEL_SHIFT)
241 
242 /* Bitfield definition for register: POS_MATRIX_SEL0 */
243 /*
244  * MMC1_POSIN_SEL (RW)
245  *
246  * 0-sei_pos_out0; 1-sei_pos_out1;
247  * 2-qei0_pos; 3-qei1_pos;
248  * 4-mmc0_pos_out0; 5-mmc0_pos_out1;
249  * 6-mmc1_pos_out0; 7-mmc1_pos_out1;
250  * bit7 is used to invert position value;
251  * others reserved
252  */
253 #define TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_MASK (0xFF000000UL)
254 #define TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_SHIFT (24U)
255 #define TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_MASK)
256 #define TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_MMC1_POSIN_SEL_SHIFT)
257 
258 /*
259  * MMC0_POSIN_SEL (RW)
260  *
261  */
262 #define TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_MASK (0xFF0000UL)
263 #define TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_SHIFT (16U)
264 #define TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_MASK)
265 #define TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_MMC0_POSIN_SEL_SHIFT)
266 
267 /*
268  * SEI_POSIN1_SEL (RW)
269  *
270  */
271 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_MASK (0xFF00U)
272 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_SHIFT (8U)
273 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_MASK)
274 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_SEI_POSIN1_SEL_SHIFT)
275 
276 /*
277  * SEI_POSIN0_SEL (RW)
278  *
279  */
280 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_MASK (0xFFU)
281 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_SHIFT (0U)
282 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_MASK)
283 #define TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_SEI_POSIN0_SEL_SHIFT)
284 
285 /* Bitfield definition for register: POS_MATRIX_SEL1 */
286 /*
287  * QEO1_POS_SEL (RW)
288  *
289  */
290 #define TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_MASK (0xFF00U)
291 #define TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_SHIFT (8U)
292 #define TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_SHIFT) & TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_MASK)
293 #define TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_MASK) >> TRGM_POS_MATRIX_SEL1_QEO1_POS_SEL_SHIFT)
294 
295 /*
296  * QEO0_POS_SEL (RW)
297  *
298  */
299 #define TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_MASK (0xFFU)
300 #define TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_SHIFT (0U)
301 #define TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_SHIFT) & TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_MASK)
302 #define TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_MASK) >> TRGM_POS_MATRIX_SEL1_QEO0_POS_SEL_SHIFT)
303 
304 /* Bitfield definition for register array: TRGM_IN */
305 /*
306  * TRGM_IN (RO)
307  *
308  * mmc1_trig_out[1:0], mmc0_trig_out[1:0],sync_pulse[3:0],moto_gpio_in_sync[7:0],//31:16
309  * gtmr3_to_motor_sync[1:0],gtmr2_to_motor_sync[1:0],gtmr1_to_motor_sync[1:0],gtmr0_to_motor_sync[1:0], //15:8
310  * acmp_out_sync[1:0],can2mot_event_sync[1:0],usb0_sof_tog_sync,pwm_debug,1'b1,1'b0 //7:0
311  */
312 #define TRGM_TRGM_IN_TRGM_IN_MASK (0xFFFFFFFFUL)
313 #define TRGM_TRGM_IN_TRGM_IN_SHIFT (0U)
314 #define TRGM_TRGM_IN_TRGM_IN_GET(x) (((uint32_t)(x) & TRGM_TRGM_IN_TRGM_IN_MASK) >> TRGM_TRGM_IN_TRGM_IN_SHIFT)
315 
316 /* Bitfield definition for register array: TRGM_OUT */
317 /*
318  * TRGM_OUT (RO)
319  *
320  * motor_to_opamp0[7:0] = trig_mux_out[7:0];
321  * motor_to_opamp1[7:0] = trig_mux_out[15:8];
322  * motor_to_gtmr0_capt[1:0] = trig_mux_out[17:16];
323  * motor_to_gtmr0_sync = trig_mux_out[18];
324  * motor_to_gtmr1_capt[1:0] = trig_mux_out[20:19];
325  * motor_to_gtmr1_sync = trig_mux_out[21];
326  * motor_to_gtmr2_capt[1:0] = trig_mux_out[23:22];
327  * motor_to_gtmr2_sync = trig_mux_out[24];
328  * motor_to_gtmr3_capt[1:0] = trig_mux_out[26:25];
329  * motor_to_gtmr3_sync = trig_mux_out[27];
330  * acmp_window[1:0] = trig_mux_out[29:28];
331  * dac0_buf_trigger = trig_mux_out[30];
332  * dac1_buf_trigger = trig_mux_out[31];
333  * dac0_step_trigger[3:0] = {trig_mux_out[24:22],trig_mux_out[30]};//use same buf_trig, and gtmr2
334  * dac1_step_trigger[3:0] = {trig_mux_out[27:25],trig_mux_out[31]}; //use same buf_trig, and gtmr3
335  */
336 #define TRGM_TRGM_OUT_TRGM_OUT_MASK (0xFFFFFFFFUL)
337 #define TRGM_TRGM_OUT_TRGM_OUT_SHIFT (0U)
338 #define TRGM_TRGM_OUT_TRGM_OUT_GET(x) (((uint32_t)(x) & TRGM_TRGM_OUT_TRGM_OUT_MASK) >> TRGM_TRGM_OUT_TRGM_OUT_SHIFT)
339 
340 
341 
342 /* FILTCFG register group index macro definition */
343 #define TRGM_FILTCFG_PWM0_IN0 (0UL)
344 #define TRGM_FILTCFG_PWM0_IN1 (1UL)
345 #define TRGM_FILTCFG_PWM0_IN2 (2UL)
346 #define TRGM_FILTCFG_PWM0_IN3 (3UL)
347 #define TRGM_FILTCFG_PWM0_IN4 (4UL)
348 #define TRGM_FILTCFG_PWM0_IN5 (5UL)
349 #define TRGM_FILTCFG_PWM0_IN6 (6UL)
350 #define TRGM_FILTCFG_PWM0_IN7 (7UL)
351 #define TRGM_FILTCFG_PWM1_IN0 (8UL)
352 #define TRGM_FILTCFG_PWM1_IN1 (9UL)
353 #define TRGM_FILTCFG_PWM1_IN2 (10UL)
354 #define TRGM_FILTCFG_PWM1_IN3 (11UL)
355 #define TRGM_FILTCFG_PWM1_IN4 (12UL)
356 #define TRGM_FILTCFG_PWM1_IN5 (13UL)
357 #define TRGM_FILTCFG_PWM1_IN6 (14UL)
358 #define TRGM_FILTCFG_PWM1_IN7 (15UL)
359 #define TRGM_FILTCFG_TRGM_P_00 (16UL)
360 #define TRGM_FILTCFG_TRGM_P_01 (17UL)
361 #define TRGM_FILTCFG_TRGM_P_02 (18UL)
362 #define TRGM_FILTCFG_TRGM_P_03 (19UL)
363 #define TRGM_FILTCFG_TRGM_P_04 (20UL)
364 #define TRGM_FILTCFG_TRGM_P_05 (21UL)
365 #define TRGM_FILTCFG_TRGM_P_06 (22UL)
366 #define TRGM_FILTCFG_TRGM_P_07 (23UL)
367 #define TRGM_FILTCFG_PWM0_FAULT0 (24UL)
368 #define TRGM_FILTCFG_PWM0_FAULT1 (25UL)
369 #define TRGM_FILTCFG_PWM1_FAULT0 (26UL)
370 #define TRGM_FILTCFG_PWM1_FAULT1 (27UL)
371 
372 /* TRGOCFG register group index macro definition */
373 #define TRGM_TRGOCFG_MOT2OPAMP0_0 (0UL)
374 #define TRGM_TRGOCFG_MOT2OPAMP0_1 (1UL)
375 #define TRGM_TRGOCFG_MOT2OPAMP0_2 (2UL)
376 #define TRGM_TRGOCFG_MOT2OPAMP0_3 (3UL)
377 #define TRGM_TRGOCFG_MOT2OPAMP0_4 (4UL)
378 #define TRGM_TRGOCFG_MOT2OPAMP0_5 (5UL)
379 #define TRGM_TRGOCFG_MOT2OPAMP0_6 (6UL)
380 #define TRGM_TRGOCFG_MOT2OPAMP0_7 (7UL)
381 #define TRGM_TRGOCFG_MOT2OPAMP1_0 (8UL)
382 #define TRGM_TRGOCFG_MOT2OPAMP1_1 (9UL)
383 #define TRGM_TRGOCFG_MOT2OPAMP1_2 (10UL)
384 #define TRGM_TRGOCFG_MOT2OPAMP1_3 (11UL)
385 #define TRGM_TRGOCFG_MOT2OPAMP1_4 (12UL)
386 #define TRGM_TRGOCFG_MOT2OPAMP1_5 (13UL)
387 #define TRGM_TRGOCFG_MOT2OPAMP1_6 (14UL)
388 #define TRGM_TRGOCFG_MOT2OPAMP1_7 (15UL)
389 #define TRGM_TRGOCFG_GPTMR0_IN2 (16UL)
390 #define TRGM_TRGOCFG_GPTMR0_IN3 (17UL)
391 #define TRGM_TRGOCFG_GPTMR0_SYNCI (18UL)
392 #define TRGM_TRGOCFG_GPTMR1_IN2 (19UL)
393 #define TRGM_TRGOCFG_GPTMR1_IN3 (20UL)
394 #define TRGM_TRGOCFG_GPTMR1_SYNCI (21UL)
395 #define TRGM_TRGOCFG_GPTMR2_IN2 (22UL)
396 #define TRGM_TRGOCFG_GPTMR2_IN3 (23UL)
397 #define TRGM_TRGOCFG_GPTMR2_SYNCI (24UL)
398 #define TRGM_TRGOCFG_GPTMR3_IN2 (25UL)
399 #define TRGM_TRGOCFG_GPTMR3_IN3 (26UL)
400 #define TRGM_TRGOCFG_GPTMR3_SYNCI (27UL)
401 #define TRGM_TRGOCFG_ACMP_CH0_WIN (28UL)
402 #define TRGM_TRGOCFG_ACMP_CH1_WIN (29UL)
403 #define TRGM_TRGOCFG_DAC0_BUFTRG (30UL)
404 #define TRGM_TRGOCFG_DAC1_BUFTRG (31UL)
405 #define TRGM_TRGOCFG_ADC0_STRGI (32UL)
406 #define TRGM_TRGOCFG_ADC1_STRGI (33UL)
407 #define TRGM_TRGOCFG_ADCX_PTRGI0A (34UL)
408 #define TRGM_TRGOCFG_ADCX_PTRGI0B (35UL)
409 #define TRGM_TRGOCFG_ADCX_PTRGI0C (36UL)
410 #define TRGM_TRGOCFG_ADCX_PTRGI1A (37UL)
411 #define TRGM_TRGOCFG_ADCX_PTRGI1B (38UL)
412 #define TRGM_TRGOCFG_ADCX_PTRGI1C (39UL)
413 #define TRGM_TRGOCFG_ADCX_PTRGI2A (40UL)
414 #define TRGM_TRGOCFG_ADCX_PTRGI2B (41UL)
415 #define TRGM_TRGOCFG_ADCX_PTRGI2C (42UL)
416 #define TRGM_TRGOCFG_ADCX_PTRGI3A (43UL)
417 #define TRGM_TRGOCFG_ADCX_PTRGI3B (44UL)
418 #define TRGM_TRGOCFG_ADCX_PTRGI3C (45UL)
419 #define TRGM_TRGOCFG_CAN_PTPC0_CAP (46UL)
420 #define TRGM_TRGOCFG_CAN_PTPC1_CAP (47UL)
421 #define TRGM_TRGOCFG_QEO0_TRIG_IN0 (48UL)
422 #define TRGM_TRGOCFG_QEO0_TRIG_IN1 (49UL)
423 #define TRGM_TRGOCFG_QEO1_TRIG_IN0 (50UL)
424 #define TRGM_TRGOCFG_QEO1_TRIG_IN1 (51UL)
425 #define TRGM_TRGOCFG_SEI_TRIG_IN0 (52UL)
426 #define TRGM_TRGOCFG_SEI_TRIG_IN1 (53UL)
427 #define TRGM_TRGOCFG_SEI_TRIG_IN2 (54UL)
428 #define TRGM_TRGOCFG_SEI_TRIG_IN3 (55UL)
429 #define TRGM_TRGOCFG_SEI_TRIG_IN4 (56UL)
430 #define TRGM_TRGOCFG_SEI_TRIG_IN5 (57UL)
431 #define TRGM_TRGOCFG_SEI_TRIG_IN6 (58UL)
432 #define TRGM_TRGOCFG_SEI_TRIG_IN7 (59UL)
433 #define TRGM_TRGOCFG_MMC0_TRIG_IN0 (60UL)
434 #define TRGM_TRGOCFG_MMC0_TRIG_IN1 (61UL)
435 #define TRGM_TRGOCFG_MMC1_TRIG_IN0 (62UL)
436 #define TRGM_TRGOCFG_MMC1_TRIG_IN1 (63UL)
437 #define TRGM_TRGOCFG_PLB_IN_00 (64UL)
438 #define TRGM_TRGOCFG_PLB_IN_01 (65UL)
439 #define TRGM_TRGOCFG_PLB_IN_02 (66UL)
440 #define TRGM_TRGOCFG_PLB_IN_03 (67UL)
441 #define TRGM_TRGOCFG_PLB_IN_04 (68UL)
442 #define TRGM_TRGOCFG_PLB_IN_05 (69UL)
443 #define TRGM_TRGOCFG_PLB_IN_06 (70UL)
444 #define TRGM_TRGOCFG_PLB_IN_07 (71UL)
445 #define TRGM_TRGOCFG_PLB_IN_08 (72UL)
446 #define TRGM_TRGOCFG_PLB_IN_09 (73UL)
447 #define TRGM_TRGOCFG_PLB_IN_10 (74UL)
448 #define TRGM_TRGOCFG_PLB_IN_11 (75UL)
449 #define TRGM_TRGOCFG_PLB_IN_12 (76UL)
450 #define TRGM_TRGOCFG_PLB_IN_13 (77UL)
451 #define TRGM_TRGOCFG_PLB_IN_14 (78UL)
452 #define TRGM_TRGOCFG_PLB_IN_15 (79UL)
453 #define TRGM_TRGOCFG_PLB_IN_16 (80UL)
454 #define TRGM_TRGOCFG_PLB_IN_17 (81UL)
455 #define TRGM_TRGOCFG_PLB_IN_18 (82UL)
456 #define TRGM_TRGOCFG_PLB_IN_19 (83UL)
457 #define TRGM_TRGOCFG_PLB_IN_20 (84UL)
458 #define TRGM_TRGOCFG_PLB_IN_21 (85UL)
459 #define TRGM_TRGOCFG_PLB_IN_22 (86UL)
460 #define TRGM_TRGOCFG_PLB_IN_23 (87UL)
461 #define TRGM_TRGOCFG_PLB_IN_24 (88UL)
462 #define TRGM_TRGOCFG_PLB_IN_25 (89UL)
463 #define TRGM_TRGOCFG_PLB_IN_26 (90UL)
464 #define TRGM_TRGOCFG_PLB_IN_27 (91UL)
465 #define TRGM_TRGOCFG_PLB_IN_28 (92UL)
466 #define TRGM_TRGOCFG_PLB_IN_29 (93UL)
467 #define TRGM_TRGOCFG_PLB_IN_30 (94UL)
468 #define TRGM_TRGOCFG_PLB_IN_31 (95UL)
469 #define TRGM_TRGOCFG_TRGM_P_00 (96UL)
470 #define TRGM_TRGOCFG_TRGM_P_01 (97UL)
471 #define TRGM_TRGOCFG_TRGM_P_02 (98UL)
472 #define TRGM_TRGOCFG_TRGM_P_03 (99UL)
473 #define TRGM_TRGOCFG_TRGM_P_04 (100UL)
474 #define TRGM_TRGOCFG_TRGM_P_05 (101UL)
475 #define TRGM_TRGOCFG_TRGM_P_06 (102UL)
476 #define TRGM_TRGOCFG_TRGM_P_07 (103UL)
477 #define TRGM_TRGOCFG_PWM_IN8 (104UL)
478 #define TRGM_TRGOCFG_PWM_IN9 (105UL)
479 #define TRGM_TRGOCFG_PWM_IN10 (106UL)
480 #define TRGM_TRGOCFG_PWM_IN11 (107UL)
481 #define TRGM_TRGOCFG_PWM_IN12 (108UL)
482 #define TRGM_TRGOCFG_PWM_IN13 (109UL)
483 #define TRGM_TRGOCFG_PWM_IN14 (110UL)
484 #define TRGM_TRGOCFG_PWM_IN15 (111UL)
485 #define TRGM_TRGOCFG_PWM0_FRCI (112UL)
486 #define TRGM_TRGOCFG_PWM0_FRCSYNCI (113UL)
487 #define TRGM_TRGOCFG_PWM0_SYNCI (114UL)
488 #define TRGM_TRGOCFG_PWM0_SHRLDSYNCI (115UL)
489 #define TRGM_TRGOCFG_PWM0_FAULTI0 (116UL)
490 #define TRGM_TRGOCFG_PWM0_FAULTI1 (117UL)
491 #define TRGM_TRGOCFG_PWM1_FRCI (118UL)
492 #define TRGM_TRGOCFG_PWM1_FRCSYNCI (119UL)
493 #define TRGM_TRGOCFG_PWM1_SYNCI (120UL)
494 #define TRGM_TRGOCFG_PWM1_SHRLDSYNCI (121UL)
495 #define TRGM_TRGOCFG_PWM1_FAULTI0 (122UL)
496 #define TRGM_TRGOCFG_PWM1_FAULTI1 (123UL)
497 #define TRGM_TRGOCFG_RDC_TRIG_IN0 (124UL)
498 #define TRGM_TRGOCFG_RDC_TRIG_IN1 (125UL)
499 #define TRGM_TRGOCFG_SYNCTIMER_TRIG (126UL)
500 #define TRGM_TRGOCFG_QEI0_TRIG_IN (127UL)
501 #define TRGM_TRGOCFG_QEI1_TRIG_IN (128UL)
502 #define TRGM_TRGOCFG_QEI0_PAUSE (129UL)
503 #define TRGM_TRGOCFG_QEI1_PAUSE (130UL)
504 #define TRGM_TRGOCFG_UART_TRIG0 (131UL)
505 #define TRGM_TRGOCFG_UART_TRIG1 (132UL)
506 #define TRGM_TRGOCFG_TRGM_IRQ0 (133UL)
507 #define TRGM_TRGOCFG_TRGM_IRQ1 (134UL)
508 #define TRGM_TRGOCFG_TRGM_DMA0 (135UL)
509 #define TRGM_TRGOCFG_TRGM_DMA1 (136UL)
510 
511 /* DMACFG register group index macro definition */
512 #define TRGM_DMACFG_0 (0UL)
513 #define TRGM_DMACFG_1 (1UL)
514 #define TRGM_DMACFG_2 (2UL)
515 #define TRGM_DMACFG_3 (3UL)
516 #define TRGM_DMACFG_4 (4UL)
517 #define TRGM_DMACFG_5 (5UL)
518 #define TRGM_DMACFG_6 (6UL)
519 #define TRGM_DMACFG_7 (7UL)
520 
521 /* TRGM_IN register group index macro definition */
522 #define TRGM_TRGM_IN_0 (0UL)
523 #define TRGM_TRGM_IN_1 (1UL)
524 #define TRGM_TRGM_IN_2 (2UL)
525 #define TRGM_TRGM_IN_3 (3UL)
526 
527 /* TRGM_OUT register group index macro definition */
528 #define TRGM_TRGM_OUT_0 (0UL)
529 #define TRGM_TRGM_OUT_1 (1UL)
530 #define TRGM_TRGM_OUT_2 (2UL)
531 #define TRGM_TRGM_OUT_3 (3UL)
532 #define TRGM_TRGM_OUT_4 (4UL)
533 
534 
535 #endif /* HPM_TRGM_H */
Definition: hpm_trgm_regs.h:12