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[32]; /* 0x0 - 0x7C: Filter configure register */
14  __R uint8_t RESERVED0[896]; /* 0x80 - 0x3FF: Reserved */
15  __RW uint32_t DMACFG[8]; /* 0x400 - 0x41C: DMA request configure register */
16  __R uint8_t RESERVED1[224]; /* 0x420 - 0x4FF: Reserved */
17  __RW uint32_t GCR; /* 0x500: */
18  __R uint8_t RESERVED2[60]; /* 0x504 - 0x53F: Reserved */
19  __RW uint32_t ADC_MATRIX_SEL0; /* 0x540: adc matrix select register0 */
20  __R uint8_t RESERVED3[60]; /* 0x544 - 0x57F: Reserved */
21  __RW uint32_t DAC_MATRIX_SEL0; /* 0x580: dac matrix select register0 */
22  __RW uint32_t DAC_MATRIX_SEL1; /* 0x584: dac matrix select register1 */
23  __RW uint32_t DAC_MATRIX_SEL2; /* 0x588: dac matrix select register2 */
24  __R uint8_t RESERVED4[52]; /* 0x58C - 0x5BF: Reserved */
25  __RW uint32_t POS_MATRIX_SEL0; /* 0x5C0: position matrix select register0 */
26  __R uint8_t RESERVED5[60]; /* 0x5C4 - 0x5FF: Reserved */
27  __R uint32_t TRGM_IN[5]; /* 0x600 - 0x610: trigmux input read register0 */
28  __R uint8_t RESERVED6[108]; /* 0x614 - 0x67F: Reserved */
29  __R uint32_t TRGM_OUT[5]; /* 0x680 - 0x690: trigmux output read register0 */
30  __R uint8_t RESERVED7[364]; /* 0x694 - 0x7FF: Reserved */
31  __RW uint32_t PWM_DELAY_CFG; /* 0x800: pwm delay chain config register */
32  __RW uint32_t PWM_CALIB_CFG; /* 0x804: pwm delay chain calibration control register */
33  __R uint8_t RESERVED8[2040]; /* 0x808 - 0xFFF: Reserved */
34  __RW uint32_t TRGOCFG[159]; /* 0x1000 - 0x1278: Trigger manager output configure register */
35 } TRGM_Type;
36 
37 
38 /* Bitfield definition for register array: FILTCFG */
39 /*
40  * OUTINV (RW)
41  *
42  * 1- Filter will invert the output
43  * 0- Filter will not invert the output
44  */
45 #define TRGM_FILTCFG_OUTINV_MASK (0x10000UL)
46 #define TRGM_FILTCFG_OUTINV_SHIFT (16U)
47 #define TRGM_FILTCFG_OUTINV_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_OUTINV_SHIFT) & TRGM_FILTCFG_OUTINV_MASK)
48 #define TRGM_FILTCFG_OUTINV_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_OUTINV_MASK) >> TRGM_FILTCFG_OUTINV_SHIFT)
49 
50 /*
51  * MODE (RW)
52  *
53  * This bitfields defines the filter mode
54  * 000-bypass;
55  * 100-rapid change mode;
56  * 101-delay filter mode;
57  * 110-stalbe low mode;
58  * 111-stable high mode
59  */
60 #define TRGM_FILTCFG_MODE_MASK (0xE000U)
61 #define TRGM_FILTCFG_MODE_SHIFT (13U)
62 #define TRGM_FILTCFG_MODE_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_MODE_SHIFT) & TRGM_FILTCFG_MODE_MASK)
63 #define TRGM_FILTCFG_MODE_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_MODE_MASK) >> TRGM_FILTCFG_MODE_SHIFT)
64 
65 /*
66  * SYNCEN (RW)
67  *
68  * set to enable sychronization input signal with TRGM clock
69  */
70 #define TRGM_FILTCFG_SYNCEN_MASK (0x1000U)
71 #define TRGM_FILTCFG_SYNCEN_SHIFT (12U)
72 #define TRGM_FILTCFG_SYNCEN_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_SYNCEN_SHIFT) & TRGM_FILTCFG_SYNCEN_MASK)
73 #define TRGM_FILTCFG_SYNCEN_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_SYNCEN_MASK) >> TRGM_FILTCFG_SYNCEN_SHIFT)
74 
75 /*
76  * FILTLEN_SHIFT (RW)
77  *
78  */
79 #define TRGM_FILTCFG_FILTLEN_SHIFT_MASK (0xE00U)
80 #define TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT (9U)
81 #define TRGM_FILTCFG_FILTLEN_SHIFT_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT) & TRGM_FILTCFG_FILTLEN_SHIFT_MASK)
82 #define TRGM_FILTCFG_FILTLEN_SHIFT_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_FILTLEN_SHIFT_MASK) >> TRGM_FILTCFG_FILTLEN_SHIFT_SHIFT)
83 
84 /*
85  * FILTLEN_BASE (RW)
86  *
87  * This bitfields defines the filter counter length.
88  */
89 #define TRGM_FILTCFG_FILTLEN_BASE_MASK (0x1FFU)
90 #define TRGM_FILTCFG_FILTLEN_BASE_SHIFT (0U)
91 #define TRGM_FILTCFG_FILTLEN_BASE_SET(x) (((uint32_t)(x) << TRGM_FILTCFG_FILTLEN_BASE_SHIFT) & TRGM_FILTCFG_FILTLEN_BASE_MASK)
92 #define TRGM_FILTCFG_FILTLEN_BASE_GET(x) (((uint32_t)(x) & TRGM_FILTCFG_FILTLEN_BASE_MASK) >> TRGM_FILTCFG_FILTLEN_BASE_SHIFT)
93 
94 /* Bitfield definition for register array: DMACFG */
95 /*
96  * DMAMUX_EN (RW)
97  *
98  */
99 #define TRGM_DMACFG_DMAMUX_EN_MASK (0x80000000UL)
100 #define TRGM_DMACFG_DMAMUX_EN_SHIFT (31U)
101 #define TRGM_DMACFG_DMAMUX_EN_SET(x) (((uint32_t)(x) << TRGM_DMACFG_DMAMUX_EN_SHIFT) & TRGM_DMACFG_DMAMUX_EN_MASK)
102 #define TRGM_DMACFG_DMAMUX_EN_GET(x) (((uint32_t)(x) & TRGM_DMACFG_DMAMUX_EN_MASK) >> TRGM_DMACFG_DMAMUX_EN_SHIFT)
103 
104 /*
105  * DMASRCSEL (RW)
106  *
107  */
108 #define TRGM_DMACFG_DMASRCSEL_MASK (0x3FU)
109 #define TRGM_DMACFG_DMASRCSEL_SHIFT (0U)
110 #define TRGM_DMACFG_DMASRCSEL_SET(x) (((uint32_t)(x) << TRGM_DMACFG_DMASRCSEL_SHIFT) & TRGM_DMACFG_DMASRCSEL_MASK)
111 #define TRGM_DMACFG_DMASRCSEL_GET(x) (((uint32_t)(x) & TRGM_DMACFG_DMASRCSEL_MASK) >> TRGM_DMACFG_DMASRCSEL_SHIFT)
112 
113 /* Bitfield definition for register: GCR */
114 /*
115  * TRGOPEN (RW)
116  *
117  */
118 #define TRGM_GCR_TRGOPEN_MASK (0xFFFFFFFFUL)
119 #define TRGM_GCR_TRGOPEN_SHIFT (0U)
120 #define TRGM_GCR_TRGOPEN_SET(x) (((uint32_t)(x) << TRGM_GCR_TRGOPEN_SHIFT) & TRGM_GCR_TRGOPEN_MASK)
121 #define TRGM_GCR_TRGOPEN_GET(x) (((uint32_t)(x) & TRGM_GCR_TRGOPEN_MASK) >> TRGM_GCR_TRGOPEN_SHIFT)
122 
123 /* Bitfield definition for register: ADC_MATRIX_SEL0 */
124 /*
125  * QEI1_ADC1_SEL (RW)
126  *
127  */
128 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_MASK (0xFF000000UL)
129 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_SHIFT (24U)
130 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_MASK)
131 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_MASK) >> TRGM_ADC_MATRIX_SEL0_QEI1_ADC1_SEL_SHIFT)
132 
133 /*
134  * QEI1_ADC0_SEL (RW)
135  *
136  */
137 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_MASK (0xFF0000UL)
138 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_SHIFT (16U)
139 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_MASK)
140 #define TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_MASK) >> TRGM_ADC_MATRIX_SEL0_QEI1_ADC0_SEL_SHIFT)
141 
142 /*
143  * QEI0_ADC1_SEL (RW)
144  *
145  */
146 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_MASK (0xFF00U)
147 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_SHIFT (8U)
148 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_MASK)
149 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_MASK) >> TRGM_ADC_MATRIX_SEL0_QEI0_ADC1_SEL_SHIFT)
150 
151 /*
152  * QEI0_ADC0_SEL (RW)
153  *
154  */
155 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_MASK (0xFFU)
156 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_SHIFT (0U)
157 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_SET(x) (((uint32_t)(x) << TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_SHIFT) & TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_MASK)
158 #define TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_GET(x) (((uint32_t)(x) & TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_MASK) >> TRGM_ADC_MATRIX_SEL0_QEI0_ADC0_SEL_SHIFT)
159 
160 /* Bitfield definition for register: DAC_MATRIX_SEL0 */
161 /*
162  * PWM0_DAC1_SEL (RW)
163  *
164  */
165 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_MASK (0xFF000000UL)
166 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_SHIFT (24U)
167 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_MASK)
168 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_MASK) >> TRGM_DAC_MATRIX_SEL0_PWM0_DAC1_SEL_SHIFT)
169 
170 /*
171  * PWM0_DAC0_SEL (RW)
172  *
173  */
174 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_MASK (0xFF0000UL)
175 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_SHIFT (16U)
176 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_MASK)
177 #define TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_MASK) >> TRGM_DAC_MATRIX_SEL0_PWM0_DAC0_SEL_SHIFT)
178 
179 /*
180  * ACMP0_CH1_DAC_SEL (RW)
181  *
182  */
183 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_MASK (0xFF00U)
184 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_SHIFT (8U)
185 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_MASK)
186 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL0_ACMP0_CH1_DAC_SEL_SHIFT)
187 
188 /*
189  * ACMP0_CH0_DAC_SEL (RW)
190  *
191  */
192 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_MASK (0xFFU)
193 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_SHIFT (0U)
194 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_MASK)
195 #define TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_MASK) >> TRGM_DAC_MATRIX_SEL0_ACMP0_CH0_DAC_SEL_SHIFT)
196 
197 /* Bitfield definition for register: DAC_MATRIX_SEL1 */
198 /*
199  * PWM1_DAC1_SEL (RW)
200  *
201  */
202 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_MASK (0xFF000000UL)
203 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_SHIFT (24U)
204 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_MASK)
205 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_MASK) >> TRGM_DAC_MATRIX_SEL1_PWM1_DAC1_SEL_SHIFT)
206 
207 /*
208  * PWM1_DAC0_SEL (RW)
209  *
210  */
211 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_MASK (0xFF0000UL)
212 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_SHIFT (16U)
213 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_MASK)
214 #define TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_MASK) >> TRGM_DAC_MATRIX_SEL1_PWM1_DAC0_SEL_SHIFT)
215 
216 /*
217  * PWM0_DAC3_SEL (RW)
218  *
219  */
220 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_MASK (0xFF00U)
221 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_SHIFT (8U)
222 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_MASK)
223 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_MASK) >> TRGM_DAC_MATRIX_SEL1_PWM0_DAC3_SEL_SHIFT)
224 
225 /*
226  * PWM0_DAC2_SEL (RW)
227  *
228  */
229 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_MASK (0xFFU)
230 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_SHIFT (0U)
231 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_MASK)
232 #define TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_MASK) >> TRGM_DAC_MATRIX_SEL1_PWM0_DAC2_SEL_SHIFT)
233 
234 /* Bitfield definition for register: DAC_MATRIX_SEL2 */
235 /*
236  * PWM1_DAC3_SEL (RW)
237  *
238  */
239 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_MASK (0xFF00U)
240 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_SHIFT (8U)
241 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_MASK)
242 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_MASK) >> TRGM_DAC_MATRIX_SEL2_PWM1_DAC3_SEL_SHIFT)
243 
244 /*
245  * PWM1_DAC2_SEL (RW)
246  *
247  */
248 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_MASK (0xFFU)
249 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_SHIFT (0U)
250 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_SET(x) (((uint32_t)(x) << TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_SHIFT) & TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_MASK)
251 #define TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_GET(x) (((uint32_t)(x) & TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_MASK) >> TRGM_DAC_MATRIX_SEL2_PWM1_DAC2_SEL_SHIFT)
252 
253 /* Bitfield definition for register: POS_MATRIX_SEL0 */
254 /*
255  * QEO1_POSIN_SEL (RW)
256  *
257  */
258 #define TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_MASK (0xFF00U)
259 #define TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_SHIFT (8U)
260 #define TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_MASK)
261 #define TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_QEO1_POSIN_SEL_SHIFT)
262 
263 /*
264  * QEO0_POSIN_SEL (RW)
265  *
266  */
267 #define TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_MASK (0xFFU)
268 #define TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_SHIFT (0U)
269 #define TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_SET(x) (((uint32_t)(x) << TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_SHIFT) & TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_MASK)
270 #define TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_GET(x) (((uint32_t)(x) & TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_MASK) >> TRGM_POS_MATRIX_SEL0_QEO0_POSIN_SEL_SHIFT)
271 
272 /* Bitfield definition for register array: TRGM_IN */
273 /*
274  * TRGM_IN (RO)
275  *
276  */
277 #define TRGM_TRGM_IN_TRGM_IN_MASK (0xFFFFFFFFUL)
278 #define TRGM_TRGM_IN_TRGM_IN_SHIFT (0U)
279 #define TRGM_TRGM_IN_TRGM_IN_GET(x) (((uint32_t)(x) & TRGM_TRGM_IN_TRGM_IN_MASK) >> TRGM_TRGM_IN_TRGM_IN_SHIFT)
280 
281 /* Bitfield definition for register array: TRGM_OUT */
282 /*
283  * TRGM_OUT (RO)
284  *
285  */
286 #define TRGM_TRGM_OUT_TRGM_OUT_MASK (0xFFFFFFFFUL)
287 #define TRGM_TRGM_OUT_TRGM_OUT_SHIFT (0U)
288 #define TRGM_TRGM_OUT_TRGM_OUT_GET(x) (((uint32_t)(x) & TRGM_TRGM_OUT_TRGM_OUT_MASK) >> TRGM_TRGM_OUT_TRGM_OUT_SHIFT)
289 
290 /* Bitfield definition for register: PWM_DELAY_CFG */
291 /*
292  * DELAY_CHAN_CALIB_SW (RW)
293  *
294  */
295 #define TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_MASK (0x3FU)
296 #define TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_SHIFT (0U)
297 #define TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_SET(x) (((uint32_t)(x) << TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_SHIFT) & TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_MASK)
298 #define TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_GET(x) (((uint32_t)(x) & TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_MASK) >> TRGM_PWM_DELAY_CFG_DELAY_CHAN_CALIB_SW_SHIFT)
299 
300 /* Bitfield definition for register: PWM_CALIB_CFG */
301 /*
302  * CALIB_SW_START (RW)
303  *
304  */
305 #define TRGM_PWM_CALIB_CFG_CALIB_SW_START_MASK (0x8000U)
306 #define TRGM_PWM_CALIB_CFG_CALIB_SW_START_SHIFT (15U)
307 #define TRGM_PWM_CALIB_CFG_CALIB_SW_START_SET(x) (((uint32_t)(x) << TRGM_PWM_CALIB_CFG_CALIB_SW_START_SHIFT) & TRGM_PWM_CALIB_CFG_CALIB_SW_START_MASK)
308 #define TRGM_PWM_CALIB_CFG_CALIB_SW_START_GET(x) (((uint32_t)(x) & TRGM_PWM_CALIB_CFG_CALIB_SW_START_MASK) >> TRGM_PWM_CALIB_CFG_CALIB_SW_START_SHIFT)
309 
310 /*
311  * CALIB_PERIOD (RW)
312  *
313  */
314 #define TRGM_PWM_CALIB_CFG_CALIB_PERIOD_MASK (0x1FU)
315 #define TRGM_PWM_CALIB_CFG_CALIB_PERIOD_SHIFT (0U)
316 #define TRGM_PWM_CALIB_CFG_CALIB_PERIOD_SET(x) (((uint32_t)(x) << TRGM_PWM_CALIB_CFG_CALIB_PERIOD_SHIFT) & TRGM_PWM_CALIB_CFG_CALIB_PERIOD_MASK)
317 #define TRGM_PWM_CALIB_CFG_CALIB_PERIOD_GET(x) (((uint32_t)(x) & TRGM_PWM_CALIB_CFG_CALIB_PERIOD_MASK) >> TRGM_PWM_CALIB_CFG_CALIB_PERIOD_SHIFT)
318 
319 /* Bitfield definition for register array: TRGOCFG */
320 /*
321  * OUTINV (RW)
322  *
323  * 1- Invert the output
324  */
325 #define TRGM_TRGOCFG_OUTINV_MASK (0x40000UL)
326 #define TRGM_TRGOCFG_OUTINV_SHIFT (18U)
327 #define TRGM_TRGOCFG_OUTINV_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_OUTINV_SHIFT) & TRGM_TRGOCFG_OUTINV_MASK)
328 #define TRGM_TRGOCFG_OUTINV_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_OUTINV_MASK) >> TRGM_TRGOCFG_OUTINV_SHIFT)
329 
330 /*
331  * FEDG2PEN (RW)
332  *
333  * 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.
334  */
335 #define TRGM_TRGOCFG_FEDG2PEN_MASK (0x20000UL)
336 #define TRGM_TRGOCFG_FEDG2PEN_SHIFT (17U)
337 #define TRGM_TRGOCFG_FEDG2PEN_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_FEDG2PEN_SHIFT) & TRGM_TRGOCFG_FEDG2PEN_MASK)
338 #define TRGM_TRGOCFG_FEDG2PEN_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_FEDG2PEN_MASK) >> TRGM_TRGOCFG_FEDG2PEN_SHIFT)
339 
340 /*
341  * REDG2PEN (RW)
342  *
343  * 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.
344  */
345 #define TRGM_TRGOCFG_REDG2PEN_MASK (0x10000UL)
346 #define TRGM_TRGOCFG_REDG2PEN_SHIFT (16U)
347 #define TRGM_TRGOCFG_REDG2PEN_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_REDG2PEN_SHIFT) & TRGM_TRGOCFG_REDG2PEN_MASK)
348 #define TRGM_TRGOCFG_REDG2PEN_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_REDG2PEN_MASK) >> TRGM_TRGOCFG_REDG2PEN_SHIFT)
349 
350 /*
351  * TRIGOSEL (RW)
352  *
353  * This bitfield selects one of the TRGM inputs as output.
354  */
355 #define TRGM_TRGOCFG_TRIGOSEL_MASK (0xFFU)
356 #define TRGM_TRGOCFG_TRIGOSEL_SHIFT (0U)
357 #define TRGM_TRGOCFG_TRIGOSEL_SET(x) (((uint32_t)(x) << TRGM_TRGOCFG_TRIGOSEL_SHIFT) & TRGM_TRGOCFG_TRIGOSEL_MASK)
358 #define TRGM_TRGOCFG_TRIGOSEL_GET(x) (((uint32_t)(x) & TRGM_TRGOCFG_TRIGOSEL_MASK) >> TRGM_TRGOCFG_TRIGOSEL_SHIFT)
359 
360 
361 
362 /* FILTCFG register group index macro definition */
363 #define TRGM_FILTCFG_PWM0_IN0 (0UL)
364 #define TRGM_FILTCFG_PWM0_IN1 (1UL)
365 #define TRGM_FILTCFG_PWM0_IN2 (2UL)
366 #define TRGM_FILTCFG_PWM0_IN3 (3UL)
367 #define TRGM_FILTCFG_PWM0_IN4 (4UL)
368 #define TRGM_FILTCFG_PWM0_IN5 (5UL)
369 #define TRGM_FILTCFG_PWM0_IN6 (6UL)
370 #define TRGM_FILTCFG_PWM0_IN7 (7UL)
371 #define TRGM_FILTCFG_PWM1_IN0 (8UL)
372 #define TRGM_FILTCFG_PWM1_IN1 (9UL)
373 #define TRGM_FILTCFG_PWM1_IN2 (10UL)
374 #define TRGM_FILTCFG_PWM1_IN3 (11UL)
375 #define TRGM_FILTCFG_PWM1_IN4 (12UL)
376 #define TRGM_FILTCFG_PWM1_IN5 (13UL)
377 #define TRGM_FILTCFG_PWM1_IN6 (14UL)
378 #define TRGM_FILTCFG_PWM1_IN7 (15UL)
379 #define TRGM_FILTCFG_TRGM_P_00 (16UL)
380 #define TRGM_FILTCFG_TRGM_P_01 (17UL)
381 #define TRGM_FILTCFG_TRGM_P_02 (18UL)
382 #define TRGM_FILTCFG_TRGM_P_03 (19UL)
383 #define TRGM_FILTCFG_TRGM_P_04 (20UL)
384 #define TRGM_FILTCFG_TRGM_P_05 (21UL)
385 #define TRGM_FILTCFG_TRGM_P_06 (22UL)
386 #define TRGM_FILTCFG_TRGM_P_07 (23UL)
387 #define TRGM_FILTCFG_TRGM_P_08 (24UL)
388 #define TRGM_FILTCFG_TRGM_P_09 (25UL)
389 #define TRGM_FILTCFG_TRGM_P_10 (26UL)
390 #define TRGM_FILTCFG_TRGM_P_11 (27UL)
391 #define TRGM_FILTCFG_TRGM_P_12 (28UL)
392 #define TRGM_FILTCFG_TRGM_P_13 (29UL)
393 #define TRGM_FILTCFG_TRGM_P_14 (30UL)
394 #define TRGM_FILTCFG_TRGM_P_15 (31UL)
395 
396 /* DMACFG register group index macro definition */
397 #define TRGM_DMACFG_0 (0UL)
398 #define TRGM_DMACFG_1 (1UL)
399 #define TRGM_DMACFG_2 (2UL)
400 #define TRGM_DMACFG_3 (3UL)
401 #define TRGM_DMACFG_4 (4UL)
402 #define TRGM_DMACFG_5 (5UL)
403 #define TRGM_DMACFG_6 (6UL)
404 #define TRGM_DMACFG_7 (7UL)
405 
406 /* TRGM_IN register group index macro definition */
407 #define TRGM_TRGM_IN_0 (0UL)
408 #define TRGM_TRGM_IN_1 (1UL)
409 #define TRGM_TRGM_IN_2 (2UL)
410 #define TRGM_TRGM_IN_3 (3UL)
411 #define TRGM_TRGM_IN_4 (4UL)
412 
413 /* TRGM_OUT register group index macro definition */
414 #define TRGM_TRGM_OUT_0 (0UL)
415 #define TRGM_TRGM_OUT_1 (1UL)
416 #define TRGM_TRGM_OUT_2 (2UL)
417 #define TRGM_TRGM_OUT_3 (3UL)
418 #define TRGM_TRGM_OUT_4 (4UL)
419 
420 /* TRGOCFG register group index macro definition */
421 #define TRGM_TRGOCFG_TRGM_P_00 (0UL)
422 #define TRGM_TRGOCFG_TRGM_P_01 (1UL)
423 #define TRGM_TRGOCFG_TRGM_P_02 (2UL)
424 #define TRGM_TRGOCFG_TRGM_P_03 (3UL)
425 #define TRGM_TRGOCFG_TRGM_P_04 (4UL)
426 #define TRGM_TRGOCFG_TRGM_P_05 (5UL)
427 #define TRGM_TRGOCFG_TRGM_P_06 (6UL)
428 #define TRGM_TRGOCFG_TRGM_P_07 (7UL)
429 #define TRGM_TRGOCFG_TRGM_P_08 (8UL)
430 #define TRGM_TRGOCFG_TRGM_P_09 (9UL)
431 #define TRGM_TRGOCFG_TRGM_P_10 (10UL)
432 #define TRGM_TRGOCFG_TRGM_P_11 (11UL)
433 #define TRGM_TRGOCFG_TRGM_P_12 (12UL)
434 #define TRGM_TRGOCFG_TRGM_P_13 (13UL)
435 #define TRGM_TRGOCFG_TRGM_P_14 (14UL)
436 #define TRGM_TRGOCFG_TRGM_P_15 (15UL)
437 #define TRGM_TRGOCFG_PWM0_TRIG_IN0 (16UL)
438 #define TRGM_TRGOCFG_PWM0_TRIG_IN1 (17UL)
439 #define TRGM_TRGOCFG_PWM0_TRIG_IN2 (18UL)
440 #define TRGM_TRGOCFG_PWM0_TRIG_IN3 (19UL)
441 #define TRGM_TRGOCFG_PWM0_TRIG_IN4 (20UL)
442 #define TRGM_TRGOCFG_PWM0_TRIG_IN5 (21UL)
443 #define TRGM_TRGOCFG_PWM0_TRIG_IN6 (22UL)
444 #define TRGM_TRGOCFG_PWM0_TRIG_IN7 (23UL)
445 #define TRGM_TRGOCFG_PWM1_TRIG_IN0 (24UL)
446 #define TRGM_TRGOCFG_PWM1_TRIG_IN1 (25UL)
447 #define TRGM_TRGOCFG_PWM1_TRIG_IN2 (26UL)
448 #define TRGM_TRGOCFG_PWM1_TRIG_IN3 (27UL)
449 #define TRGM_TRGOCFG_PWM1_TRIG_IN4 (28UL)
450 #define TRGM_TRGOCFG_PWM1_TRIG_IN5 (29UL)
451 #define TRGM_TRGOCFG_PWM1_TRIG_IN6 (30UL)
452 #define TRGM_TRGOCFG_PWM1_TRIG_IN7 (31UL)
453 #define TRGM_TRGOCFG_ADC0_STRGI (32UL)
454 #define TRGM_TRGOCFG_ADC1_STRGI (33UL)
455 #define TRGM_TRGOCFG_ADCX_PTRGI0A (34UL)
456 #define TRGM_TRGOCFG_ADCX_PTRGI0B (35UL)
457 #define TRGM_TRGOCFG_ADCX_PTRGI0C (36UL)
458 #define TRGM_TRGOCFG_ADCX_PTRGI1A (37UL)
459 #define TRGM_TRGOCFG_ADCX_PTRGI1B (38UL)
460 #define TRGM_TRGOCFG_ADCX_PTRGI1C (39UL)
461 #define TRGM_TRGOCFG_ADCX_PTRGI2A (40UL)
462 #define TRGM_TRGOCFG_ADCX_PTRGI2B (41UL)
463 #define TRGM_TRGOCFG_ADCX_PTRGI2C (42UL)
464 #define TRGM_TRGOCFG_ADCX_PTRGI3A (43UL)
465 #define TRGM_TRGOCFG_ADCX_PTRGI3B (44UL)
466 #define TRGM_TRGOCFG_ADCX_PTRGI3C (45UL)
467 #define TRGM_TRGOCFG_QEI0_TRIG_IN (46UL)
468 #define TRGM_TRGOCFG_QEI1_TRIG_IN (47UL)
469 #define TRGM_TRGOCFG_QEI0_PAUSE (48UL)
470 #define TRGM_TRGOCFG_QEI1_PAUSE (49UL)
471 #define TRGM_TRGOCFG_QEO0_TRIG_IN0 (50UL)
472 #define TRGM_TRGOCFG_QEO0_TRIG_IN1 (51UL)
473 #define TRGM_TRGOCFG_QEO1_TRIG_IN0 (52UL)
474 #define TRGM_TRGOCFG_QEO1_TRIG_IN1 (53UL)
475 #define TRGM_TRGOCFG_ACMP0_CH0_WIN (54UL)
476 #define TRGM_TRGOCFG_ACMP0_CH1_WIN (55UL)
477 #define TRGM_TRGOCFG_GPTMR0_IN2 (56UL)
478 #define TRGM_TRGOCFG_GPTMR0_IN3 (57UL)
479 #define TRGM_TRGOCFG_GPTMR1_IN2 (58UL)
480 #define TRGM_TRGOCFG_GPTMR1_IN3 (59UL)
481 #define TRGM_TRGOCFG_GPTMR2_IN2 (60UL)
482 #define TRGM_TRGOCFG_GPTMR2_IN3 (61UL)
483 #define TRGM_TRGOCFG_GPTMR3_IN2 (62UL)
484 #define TRGM_TRGOCFG_GPTMR3_IN3 (63UL)
485 #define TRGM_TRGOCFG_GPTMR0_SYNCI (64UL)
486 #define TRGM_TRGOCFG_GPTMR1_SYNCI (65UL)
487 #define TRGM_TRGOCFG_GPTMR2_SYNCI (66UL)
488 #define TRGM_TRGOCFG_GPTMR3_SYNCI (67UL)
489 #define TRGM_TRGOCFG_CAN_PTPC0_CAP (68UL)
490 #define TRGM_TRGOCFG_CAN_PTPC1_CAP (69UL)
491 #define TRGM_TRGOCFG_UART_TRIG0 (70UL)
492 #define TRGM_TRGOCFG_UART_TRIG1 (71UL)
493 #define TRGM_TRGOCFG_SDM_PWM_SOC0 (72UL)
494 #define TRGM_TRGOCFG_SDM_PWM_SOC1 (73UL)
495 #define TRGM_TRGOCFG_SDM_PWM_SOC2 (74UL)
496 #define TRGM_TRGOCFG_SDM_PWM_SOC3 (75UL)
497 #define TRGM_TRGOCFG_SDM_PWM_SOC4 (76UL)
498 #define TRGM_TRGOCFG_SDM_PWM_SOC5 (77UL)
499 #define TRGM_TRGOCFG_SDM_PWM_SOC6 (78UL)
500 #define TRGM_TRGOCFG_SDM_PWM_SOC7 (79UL)
501 #define TRGM_TRGOCFG_SDM_PWM_SOC8 (80UL)
502 #define TRGM_TRGOCFG_SDM_PWM_SOC9 (81UL)
503 #define TRGM_TRGOCFG_SDM_PWM_SOC10 (82UL)
504 #define TRGM_TRGOCFG_SDM_PWM_SOC11 (83UL)
505 #define TRGM_TRGOCFG_SDM_PWM_SOC12 (84UL)
506 #define TRGM_TRGOCFG_SDM_PWM_SOC13 (85UL)
507 #define TRGM_TRGOCFG_SDM_PWM_SOC14 (86UL)
508 #define TRGM_TRGOCFG_SDM_PWM_SOC15 (87UL)
509 #define TRGM_TRGOCFG_PLB_IN_00 (88UL)
510 #define TRGM_TRGOCFG_PLB_IN_01 (89UL)
511 #define TRGM_TRGOCFG_PLB_IN_02 (90UL)
512 #define TRGM_TRGOCFG_PLB_IN_03 (91UL)
513 #define TRGM_TRGOCFG_PLB_IN_04 (92UL)
514 #define TRGM_TRGOCFG_PLB_IN_05 (93UL)
515 #define TRGM_TRGOCFG_PLB_IN_06 (94UL)
516 #define TRGM_TRGOCFG_PLB_IN_07 (95UL)
517 #define TRGM_TRGOCFG_PLB_IN_08 (96UL)
518 #define TRGM_TRGOCFG_PLB_IN_09 (97UL)
519 #define TRGM_TRGOCFG_PLB_IN_10 (98UL)
520 #define TRGM_TRGOCFG_PLB_IN_11 (99UL)
521 #define TRGM_TRGOCFG_PLB_IN_12 (100UL)
522 #define TRGM_TRGOCFG_PLB_IN_13 (101UL)
523 #define TRGM_TRGOCFG_PLB_IN_14 (102UL)
524 #define TRGM_TRGOCFG_PLB_IN_15 (103UL)
525 #define TRGM_TRGOCFG_PLB_IN_16 (104UL)
526 #define TRGM_TRGOCFG_PLB_IN_17 (105UL)
527 #define TRGM_TRGOCFG_PLB_IN_18 (106UL)
528 #define TRGM_TRGOCFG_PLB_IN_19 (107UL)
529 #define TRGM_TRGOCFG_PLB_IN_20 (108UL)
530 #define TRGM_TRGOCFG_PLB_IN_21 (109UL)
531 #define TRGM_TRGOCFG_PLB_IN_22 (110UL)
532 #define TRGM_TRGOCFG_PLB_IN_23 (111UL)
533 #define TRGM_TRGOCFG_PLB_IN_24 (112UL)
534 #define TRGM_TRGOCFG_PLB_IN_25 (113UL)
535 #define TRGM_TRGOCFG_PLB_IN_26 (114UL)
536 #define TRGM_TRGOCFG_PLB_IN_27 (115UL)
537 #define TRGM_TRGOCFG_PLB_IN_28 (116UL)
538 #define TRGM_TRGOCFG_PLB_IN_29 (117UL)
539 #define TRGM_TRGOCFG_PLB_IN_30 (118UL)
540 #define TRGM_TRGOCFG_PLB_IN_31 (119UL)
541 #define TRGM_TRGOCFG_PLB_IN_32 (120UL)
542 #define TRGM_TRGOCFG_PLB_IN_33 (121UL)
543 #define TRGM_TRGOCFG_PLB_IN_34 (122UL)
544 #define TRGM_TRGOCFG_PLB_IN_35 (123UL)
545 #define TRGM_TRGOCFG_PLB_IN_36 (124UL)
546 #define TRGM_TRGOCFG_PLB_IN_37 (125UL)
547 #define TRGM_TRGOCFG_PLB_IN_38 (126UL)
548 #define TRGM_TRGOCFG_PLB_IN_39 (127UL)
549 #define TRGM_TRGOCFG_PLB_IN_40 (128UL)
550 #define TRGM_TRGOCFG_PLB_IN_41 (129UL)
551 #define TRGM_TRGOCFG_PLB_IN_42 (130UL)
552 #define TRGM_TRGOCFG_PLB_IN_43 (131UL)
553 #define TRGM_TRGOCFG_PLB_IN_44 (132UL)
554 #define TRGM_TRGOCFG_PLB_IN_45 (133UL)
555 #define TRGM_TRGOCFG_PLB_IN_46 (134UL)
556 #define TRGM_TRGOCFG_PLB_IN_47 (135UL)
557 #define TRGM_TRGOCFG_PLB_IN_48 (136UL)
558 #define TRGM_TRGOCFG_PLB_IN_49 (137UL)
559 #define TRGM_TRGOCFG_PLB_IN_50 (138UL)
560 #define TRGM_TRGOCFG_PLB_IN_51 (139UL)
561 #define TRGM_TRGOCFG_PLB_IN_52 (140UL)
562 #define TRGM_TRGOCFG_PLB_IN_53 (141UL)
563 #define TRGM_TRGOCFG_PLB_IN_54 (142UL)
564 #define TRGM_TRGOCFG_PLB_IN_55 (143UL)
565 #define TRGM_TRGOCFG_PLB_IN_56 (144UL)
566 #define TRGM_TRGOCFG_PLB_IN_57 (145UL)
567 #define TRGM_TRGOCFG_PLB_IN_58 (146UL)
568 #define TRGM_TRGOCFG_PLB_IN_59 (147UL)
569 #define TRGM_TRGOCFG_PLB_IN_60 (148UL)
570 #define TRGM_TRGOCFG_PLB_IN_61 (149UL)
571 #define TRGM_TRGOCFG_PLB_IN_62 (150UL)
572 #define TRGM_TRGOCFG_PLB_IN_63 (151UL)
573 #define TRGM_TRGOCFG_SYNCTIMER_TRIG (152UL)
574 #define TRGM_TRGOCFG_DCCS_TRIG (153UL)
575 #define TRGM_TRGOCFG_TRGM_IRQ0 (154UL)
576 #define TRGM_TRGOCFG_TRGM_IRQ1 (155UL)
577 #define TRGM_TRGOCFG_TRGM_DMA0 (156UL)
578 #define TRGM_TRGOCFG_TRGM_DMA1 (157UL)
579 #define TRGM_TRGOCFG_ESC_TRIG_IN (158UL)
580 
581 
582 #endif /* HPM_TRGM_H */
Definition: hpm_trgm_regs.h:12