• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 
9 #ifndef HPM_QEO_H
10 #define HPM_QEO_H
11 
12 typedef struct {
13     struct {
14         __RW uint32_t MODE;                    /* 0x0: analog waves mode */
15         __RW uint32_t RESOLUTION;              /* 0x4: resolution of wave0/1/2 */
16         __RW uint32_t PHASE_SHIFT[3];          /* 0x8 - 0x10: wave0 phase shifter */
17         __RW uint32_t VD_VQ_INJECT[3];         /* 0x14 - 0x1C: wave0 vd vq inject value */
18         __W  uint32_t VD_VQ_LOAD;              /* 0x20: load wave0/1/2 vd vq value */
19         __RW uint32_t AMPLITUDE[3];            /* 0x24 - 0x2C: wave0 amplitude */
20         __RW uint32_t MID_POINT[3];            /* 0x30 - 0x38: wave0 output middle point offset */
21         struct {
22             __RW uint32_t MIN;                 /* 0x3C: wave0 low area limit value */
23             __RW uint32_t MAX;                 /* 0x40: wave0 high area limit value */
24         } LIMIT[3];
25         __RW uint32_t DEADZONE_SHIFT[3];       /* 0x54 - 0x5C: deadzone_shifter_wave0 */
26     } WAVE;
27     struct {
28         __RW uint32_t MODE;                    /* 0x60: wave_a/b/z output mode */
29         __RW uint32_t RESOLUTION;              /* 0x64: resolution of wave_a/b/z */
30         __RW uint32_t PHASE_SHIFT[3];          /* 0x68 - 0x70: wave_a phase shifter */
31         __RW uint32_t LINE_WIDTH;              /* 0x74: Two-phase orthogonality wave 1/4 period */
32         __RW uint32_t WDOG_WIDTH;              /* 0x78: wdog width of qeo */
33         __W  uint32_t POSTION_SYNC;            /* 0x7C: sync abz owned postion */
34     } ABZ;
35     struct {
36         __RW uint32_t MODE;                    /* 0x80: pwm mode */
37         __RW uint32_t RESOLUTION;              /* 0x84: resolution of pwm */
38         __RW uint32_t PHASE_SHIFT[4];          /* 0x88 - 0x94: pwm_a phase shifter */
39         __RW uint32_t PHASE_TABLE[24];         /* 0x98 - 0xF4: pwm_phase_table 0 */
40     } PWM;
41     __RW uint32_t POSTION_SOFTWARE;            /* 0xF8: softwave inject postion */
42     __RW uint32_t POSTION_SEL;                 /* 0xFC: select softwave inject postion */
43     __R  uint32_t STATUS;                      /* 0x100: qeo status */
44     __R  uint32_t DEBUG0;                      /* 0x104: qeo debug 0 */
45     __R  uint32_t DEBUG1;                      /* 0x108: qeo debug 1 */
46     __R  uint32_t DEBUG2;                      /* 0x10C: qeo debug 2 */
47     __R  uint32_t DEBUG3;                      /* 0x110: qeo debug 3 */
48 } QEO_Type;
49 
50 
51 /* Bitfield definition for register of struct WAVE: MODE */
52 /*
53  * WAVE2_ABOVE_MAX_LIMIT (RW)
54  *
55  * wave2 above max limit mode.
56  * 0: output 0xffff.
57  * 1: output 0x0.
58  * 2: output as level_max_limit2.level0_max_limit
59  */
60 #define QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_MASK (0xC0000000UL)
61 #define QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_SHIFT (30U)
62 #define QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_MASK)
63 #define QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_ABOVE_MAX_LIMIT_SHIFT)
64 
65 /*
66  * WAVE2_HIGH_AREA1_LIMIT (RW)
67  *
68  * wave2 high area1 limit mode.
69  * 0: output 0xffff.
70  * 1: output as level_max_limit2.level0_max_limit
71  */
72 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_MASK (0x20000000UL)
73 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_SHIFT (29U)
74 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_MASK)
75 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_HIGH_AREA1_LIMIT_SHIFT)
76 
77 /*
78  * WAVE2_HIGH_AREA0_LIMIT (RW)
79  *
80  * wave2 high area0 limit mode.
81  * 0: output 0xffff.
82  * 1: output as level_max_limit2.level0_max_limit
83  */
84 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_MASK (0x10000000UL)
85 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_SHIFT (28U)
86 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_MASK)
87 #define QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_HIGH_AREA0_LIMIT_SHIFT)
88 
89 /*
90  * WAVE2_LOW_AREA1_LIMIT (RW)
91  *
92  * wave2 low area1 limit mode.
93  * 0: output 0.
94  * 1: output as level_min_limit2.level1_min_limit
95  */
96 #define QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_MASK (0x8000000UL)
97 #define QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_SHIFT (27U)
98 #define QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_MASK)
99 #define QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_LOW_AREA1_LIMIT_SHIFT)
100 
101 /*
102  * WAVE2_LOW_AREA0_LIMIT (RW)
103  *
104  * wave2 low area0 limit mode.
105  * 0: output 0.
106  * 1: output as level_min_limit2.level1_min_limit
107  */
108 #define QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_MASK (0x4000000UL)
109 #define QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_SHIFT (26U)
110 #define QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_MASK)
111 #define QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_LOW_AREA0_LIMIT_SHIFT)
112 
113 /*
114  * WAVE2_BELOW_MIN_LIMIT (RW)
115  *
116  * wave2 below min limit mode.
117  * 0: output 0.
118  * 1: output 0xffff.
119  * 2: output as level_min_limit2.level1_min_limit
120  */
121 #define QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_MASK (0x3000000UL)
122 #define QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_SHIFT (24U)
123 #define QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_MASK)
124 #define QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE2_BELOW_MIN_LIMIT_SHIFT)
125 
126 /*
127  * WAVE1_ABOVE_MAX_LIMIT (RW)
128  *
129  * wave1 above max limit mode.
130  * 0: output 0xffff.
131  * 1: output 0x0.
132  * 2: output as level_max_limit1.level0_max_limit
133  */
134 #define QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_MASK (0xC00000UL)
135 #define QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_SHIFT (22U)
136 #define QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_MASK)
137 #define QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_ABOVE_MAX_LIMIT_SHIFT)
138 
139 /*
140  * WAVE1_HIGH_AREA1_LIMIT (RW)
141  *
142  * wave1 high area1 limit mode.
143  * 0: output 0xffff.
144  * 1: output as level_max_limit1.level0_max_limit
145  */
146 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_MASK (0x200000UL)
147 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_SHIFT (21U)
148 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_MASK)
149 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_HIGH_AREA1_LIMIT_SHIFT)
150 
151 /*
152  * WAVE1_HIGH_AREA0_LIMIT (RW)
153  *
154  * wave1 high area0 limit mode.
155  * 0: output 0xffff.
156  * 1: output as level_max_limit1.level0_max_limit
157  */
158 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_MASK (0x100000UL)
159 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_SHIFT (20U)
160 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_MASK)
161 #define QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_HIGH_AREA0_LIMIT_SHIFT)
162 
163 /*
164  * WAVE1_LOW_AREA1_LIMIT (RW)
165  *
166  * wave1 low area1 limit mode.
167  * 0: output 0.
168  * 1: output as level_min_limit1.level1_min_limit
169  */
170 #define QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_MASK (0x80000UL)
171 #define QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_SHIFT (19U)
172 #define QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_MASK)
173 #define QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_LOW_AREA1_LIMIT_SHIFT)
174 
175 /*
176  * WAVE1_LOW_AREA0_LIMIT (RW)
177  *
178  * wave1 low area0 limit mode.
179  * 0: output 0.
180  * 1: output as level_min_limit1.level1_min_limit
181  */
182 #define QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_MASK (0x40000UL)
183 #define QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_SHIFT (18U)
184 #define QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_MASK)
185 #define QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_LOW_AREA0_LIMIT_SHIFT)
186 
187 /*
188  * WAVE1_BELOW_MIN_LIMIT (RW)
189  *
190  * wave1 below min limit mode.
191  * 0: output 0.
192  * 1: output 0xffff.
193  * 2: output as level_min_limit1.level1_min_limit
194  */
195 #define QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_MASK (0x30000UL)
196 #define QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_SHIFT (16U)
197 #define QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_MASK)
198 #define QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE1_BELOW_MIN_LIMIT_SHIFT)
199 
200 /*
201  * WAVE0_ABOVE_MAX_LIMIT (RW)
202  *
203  * wave0 above max limit mode.
204  * 0: output 0xffff.
205  * 1: output 0x0.
206  * 2: output as level_max_limit0.level0_max_limit
207  */
208 #define QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_MASK (0xC000U)
209 #define QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_SHIFT (14U)
210 #define QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_MASK)
211 #define QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_ABOVE_MAX_LIMIT_SHIFT)
212 
213 /*
214  * WAVE0_HIGH_AREA1_LIMIT (RW)
215  *
216  * wave0 high area1 limit mode.
217  * 0: output 0xffff.
218  * 1: output as level_max_limit0.level0_max_limit
219  */
220 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_MASK (0x2000U)
221 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_SHIFT (13U)
222 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_MASK)
223 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_HIGH_AREA1_LIMIT_SHIFT)
224 
225 /*
226  * WAVE0_HIGH_AREA0_LIMIT (RW)
227  *
228  * wave0 high area0 limit mode.
229  * 0: output 0xffff.
230  * 1: output as level_max_limit0.level0_max_limit
231  */
232 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_MASK (0x1000U)
233 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_SHIFT (12U)
234 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_MASK)
235 #define QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_HIGH_AREA0_LIMIT_SHIFT)
236 
237 /*
238  * WAVE0_LOW_AREA1_LIMIT (RW)
239  *
240  * wave0 low area1 limit mode.
241  * 0: output 0.
242  * 1: output as level_min_limit0.level1_min_limit
243  */
244 #define QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_MASK (0x800U)
245 #define QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_SHIFT (11U)
246 #define QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_MASK)
247 #define QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_LOW_AREA1_LIMIT_SHIFT)
248 
249 /*
250  * WAVE0_LOW_AREA0_LIMIT (RW)
251  *
252  * wave0 low area0 limit mode.
253  * 0: output 0.
254  * 1: output as level_min_limit0.level1_min_limit
255  */
256 #define QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_MASK (0x400U)
257 #define QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_SHIFT (10U)
258 #define QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_MASK)
259 #define QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_LOW_AREA0_LIMIT_SHIFT)
260 
261 /*
262  * WAVE0_BELOW_MIN_LIMIT (RW)
263  *
264  * wave0 below min limit mode.
265  * 0: output 0.
266  * 1: output 0xffff.
267  * 2: output as level_min_limit0.level1_min_limit
268  */
269 #define QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_MASK (0x300U)
270 #define QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_SHIFT (8U)
271 #define QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_SHIFT) & QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_MASK)
272 #define QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_MASK) >> QEO_WAVE_MODE_WAVE0_BELOW_MIN_LIMIT_SHIFT)
273 
274 /*
275  * SADDLE_TYPE (RW)
276  *
277  * saddle type seclect;
278  * 0:standard saddle.
279  * 1: triple-cos saddle.
280  */
281 #define QEO_WAVE_MODE_SADDLE_TYPE_MASK (0x80U)
282 #define QEO_WAVE_MODE_SADDLE_TYPE_SHIFT (7U)
283 #define QEO_WAVE_MODE_SADDLE_TYPE_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_SADDLE_TYPE_SHIFT) & QEO_WAVE_MODE_SADDLE_TYPE_MASK)
284 #define QEO_WAVE_MODE_SADDLE_TYPE_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_SADDLE_TYPE_MASK) >> QEO_WAVE_MODE_SADDLE_TYPE_SHIFT)
285 
286 /*
287  * EN_WAVE2_VD_VQ_INJECT (RW)
288  *
289  * wave2 VdVq inject enable.
290  * 0: disable VdVq inject.
291  * 1: enable VdVq inject.
292  */
293 #define QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_MASK (0x40U)
294 #define QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_SHIFT (6U)
295 #define QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_SHIFT) & QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_MASK)
296 #define QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_MASK) >> QEO_WAVE_MODE_EN_WAVE2_VD_VQ_INJECT_SHIFT)
297 
298 /*
299  * EN_WAVE1_VD_VQ_INJECT (RW)
300  *
301  * wave1 VdVq inject enable.
302  * 0: disable VdVq inject.
303  * 1: enable VdVq inject.
304  */
305 #define QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_MASK (0x20U)
306 #define QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_SHIFT (5U)
307 #define QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_SHIFT) & QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_MASK)
308 #define QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_MASK) >> QEO_WAVE_MODE_EN_WAVE1_VD_VQ_INJECT_SHIFT)
309 
310 /*
311  * EN_WAVE0_VD_VQ_INJECT (RW)
312  *
313  * wave0 VdVq inject enable.
314  * 0: disable VdVq inject.
315  * 1: enable VdVq inject.
316  */
317 #define QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_MASK (0x10U)
318 #define QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_SHIFT (4U)
319 #define QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_SHIFT) & QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_MASK)
320 #define QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_MASK) >> QEO_WAVE_MODE_EN_WAVE0_VD_VQ_INJECT_SHIFT)
321 
322 /*
323  * WAVES_OUTPUT_TYPE (RW)
324  *
325  * wave0/1/2 output mode.
326  * 0: cosine wave.
327  * 1: saddle wave.
328  * 2. abs cosine wave.
329  * 3. saw wave
330  */
331 #define QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_MASK (0x3U)
332 #define QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_SHIFT (0U)
333 #define QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_SET(x) (((uint32_t)(x) << QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_SHIFT) & QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_MASK)
334 #define QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_GET(x) (((uint32_t)(x) & QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_MASK) >> QEO_WAVE_MODE_WAVES_OUTPUT_TYPE_SHIFT)
335 
336 /* Bitfield definition for register of struct WAVE: RESOLUTION */
337 /*
338  * LINES (RW)
339  *
340  * wave0/1/2 resolution
341  */
342 #define QEO_WAVE_RESOLUTION_LINES_MASK (0xFFFFFFFFUL)
343 #define QEO_WAVE_RESOLUTION_LINES_SHIFT (0U)
344 #define QEO_WAVE_RESOLUTION_LINES_SET(x) (((uint32_t)(x) << QEO_WAVE_RESOLUTION_LINES_SHIFT) & QEO_WAVE_RESOLUTION_LINES_MASK)
345 #define QEO_WAVE_RESOLUTION_LINES_GET(x) (((uint32_t)(x) & QEO_WAVE_RESOLUTION_LINES_MASK) >> QEO_WAVE_RESOLUTION_LINES_SHIFT)
346 
347 /* Bitfield definition for register of struct WAVE: WAVE0 */
348 /*
349  * VAL (RW)
350  *
351  * wave0 phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period
352  */
353 #define QEO_WAVE_PHASE_SHIFT_VAL_MASK (0xFFFFU)
354 #define QEO_WAVE_PHASE_SHIFT_VAL_SHIFT (0U)
355 #define QEO_WAVE_PHASE_SHIFT_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_PHASE_SHIFT_VAL_SHIFT) & QEO_WAVE_PHASE_SHIFT_VAL_MASK)
356 #define QEO_WAVE_PHASE_SHIFT_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_PHASE_SHIFT_VAL_MASK) >> QEO_WAVE_PHASE_SHIFT_VAL_SHIFT)
357 
358 /* Bitfield definition for register of struct WAVE: WAVE0 */
359 /*
360  * VQ_VAL (RW)
361  *
362  * Vq inject value
363  */
364 #define QEO_WAVE_VD_VQ_INJECT_VQ_VAL_MASK (0xFFFF0000UL)
365 #define QEO_WAVE_VD_VQ_INJECT_VQ_VAL_SHIFT (16U)
366 #define QEO_WAVE_VD_VQ_INJECT_VQ_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_VD_VQ_INJECT_VQ_VAL_SHIFT) & QEO_WAVE_VD_VQ_INJECT_VQ_VAL_MASK)
367 #define QEO_WAVE_VD_VQ_INJECT_VQ_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_VD_VQ_INJECT_VQ_VAL_MASK) >> QEO_WAVE_VD_VQ_INJECT_VQ_VAL_SHIFT)
368 
369 /*
370  * VD_VAL (RW)
371  *
372  * Vd inject value
373  */
374 #define QEO_WAVE_VD_VQ_INJECT_VD_VAL_MASK (0xFFFFU)
375 #define QEO_WAVE_VD_VQ_INJECT_VD_VAL_SHIFT (0U)
376 #define QEO_WAVE_VD_VQ_INJECT_VD_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_VD_VQ_INJECT_VD_VAL_SHIFT) & QEO_WAVE_VD_VQ_INJECT_VD_VAL_MASK)
377 #define QEO_WAVE_VD_VQ_INJECT_VD_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_VD_VQ_INJECT_VD_VAL_MASK) >> QEO_WAVE_VD_VQ_INJECT_VD_VAL_SHIFT)
378 
379 /* Bitfield definition for register of struct WAVE: VD_VQ_LOAD */
380 /*
381  * LOAD (WO)
382  *
383  * load wave0/1/2 vd vq value.  always read 0
384  * 0: vd vq keep previous value.
385  * 1: load wave0/1/2 vd vq value at sametime.
386  */
387 #define QEO_WAVE_VD_VQ_LOAD_LOAD_MASK (0x1U)
388 #define QEO_WAVE_VD_VQ_LOAD_LOAD_SHIFT (0U)
389 #define QEO_WAVE_VD_VQ_LOAD_LOAD_SET(x) (((uint32_t)(x) << QEO_WAVE_VD_VQ_LOAD_LOAD_SHIFT) & QEO_WAVE_VD_VQ_LOAD_LOAD_MASK)
390 #define QEO_WAVE_VD_VQ_LOAD_LOAD_GET(x) (((uint32_t)(x) & QEO_WAVE_VD_VQ_LOAD_LOAD_MASK) >> QEO_WAVE_VD_VQ_LOAD_LOAD_SHIFT)
391 
392 /* Bitfield definition for register of struct WAVE: WAVE0 */
393 /*
394  * EN_SCAL (RW)
395  *
396  * enable wave amplitude scaling. 0: disable; 1: enable
397  */
398 #define QEO_WAVE_AMPLITUDE_EN_SCAL_MASK (0x10000UL)
399 #define QEO_WAVE_AMPLITUDE_EN_SCAL_SHIFT (16U)
400 #define QEO_WAVE_AMPLITUDE_EN_SCAL_SET(x) (((uint32_t)(x) << QEO_WAVE_AMPLITUDE_EN_SCAL_SHIFT) & QEO_WAVE_AMPLITUDE_EN_SCAL_MASK)
401 #define QEO_WAVE_AMPLITUDE_EN_SCAL_GET(x) (((uint32_t)(x) & QEO_WAVE_AMPLITUDE_EN_SCAL_MASK) >> QEO_WAVE_AMPLITUDE_EN_SCAL_SHIFT)
402 
403 /*
404  * AMP_VAL (RW)
405  *
406  * amplitude scaling value. bit15-12 are integer part value. bit11-0 are fraction value.
407  */
408 #define QEO_WAVE_AMPLITUDE_AMP_VAL_MASK (0xFFFFU)
409 #define QEO_WAVE_AMPLITUDE_AMP_VAL_SHIFT (0U)
410 #define QEO_WAVE_AMPLITUDE_AMP_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_AMPLITUDE_AMP_VAL_SHIFT) & QEO_WAVE_AMPLITUDE_AMP_VAL_MASK)
411 #define QEO_WAVE_AMPLITUDE_AMP_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_AMPLITUDE_AMP_VAL_MASK) >> QEO_WAVE_AMPLITUDE_AMP_VAL_SHIFT)
412 
413 /* Bitfield definition for register of struct WAVE: WAVE0 */
414 /*
415  * VAL (RW)
416  *
417  * wave0 output middle point, use this value as 32 bit signed value. bit 31 is signed bit. bit30-27 is integer part value. bit26-0 is fraction value.
418  */
419 #define QEO_WAVE_MID_POINT_VAL_MASK (0xFFFFFFFFUL)
420 #define QEO_WAVE_MID_POINT_VAL_SHIFT (0U)
421 #define QEO_WAVE_MID_POINT_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_MID_POINT_VAL_SHIFT) & QEO_WAVE_MID_POINT_VAL_MASK)
422 #define QEO_WAVE_MID_POINT_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_MID_POINT_VAL_MASK) >> QEO_WAVE_MID_POINT_VAL_SHIFT)
423 
424 /* Bitfield definition for register of struct WAVE: MIN */
425 /*
426  * LIMIT1 (RW)
427  *
428  * low area limit level1
429  */
430 #define QEO_WAVE_LIMIT_MIN_LIMIT1_MASK (0xFFFF0000UL)
431 #define QEO_WAVE_LIMIT_MIN_LIMIT1_SHIFT (16U)
432 #define QEO_WAVE_LIMIT_MIN_LIMIT1_SET(x) (((uint32_t)(x) << QEO_WAVE_LIMIT_MIN_LIMIT1_SHIFT) & QEO_WAVE_LIMIT_MIN_LIMIT1_MASK)
433 #define QEO_WAVE_LIMIT_MIN_LIMIT1_GET(x) (((uint32_t)(x) & QEO_WAVE_LIMIT_MIN_LIMIT1_MASK) >> QEO_WAVE_LIMIT_MIN_LIMIT1_SHIFT)
434 
435 /*
436  * LIMIT0 (RW)
437  *
438  * low area limit level0
439  */
440 #define QEO_WAVE_LIMIT_MIN_LIMIT0_MASK (0xFFFFU)
441 #define QEO_WAVE_LIMIT_MIN_LIMIT0_SHIFT (0U)
442 #define QEO_WAVE_LIMIT_MIN_LIMIT0_SET(x) (((uint32_t)(x) << QEO_WAVE_LIMIT_MIN_LIMIT0_SHIFT) & QEO_WAVE_LIMIT_MIN_LIMIT0_MASK)
443 #define QEO_WAVE_LIMIT_MIN_LIMIT0_GET(x) (((uint32_t)(x) & QEO_WAVE_LIMIT_MIN_LIMIT0_MASK) >> QEO_WAVE_LIMIT_MIN_LIMIT0_SHIFT)
444 
445 /* Bitfield definition for register of struct WAVE: MAX */
446 /*
447  * LIMIT1 (RW)
448  *
449  * high area limit level1
450  */
451 #define QEO_WAVE_LIMIT_MAX_LIMIT1_MASK (0xFFFF0000UL)
452 #define QEO_WAVE_LIMIT_MAX_LIMIT1_SHIFT (16U)
453 #define QEO_WAVE_LIMIT_MAX_LIMIT1_SET(x) (((uint32_t)(x) << QEO_WAVE_LIMIT_MAX_LIMIT1_SHIFT) & QEO_WAVE_LIMIT_MAX_LIMIT1_MASK)
454 #define QEO_WAVE_LIMIT_MAX_LIMIT1_GET(x) (((uint32_t)(x) & QEO_WAVE_LIMIT_MAX_LIMIT1_MASK) >> QEO_WAVE_LIMIT_MAX_LIMIT1_SHIFT)
455 
456 /*
457  * LIMIT0 (RW)
458  *
459  * high area limit level0
460  */
461 #define QEO_WAVE_LIMIT_MAX_LIMIT0_MASK (0xFFFFU)
462 #define QEO_WAVE_LIMIT_MAX_LIMIT0_SHIFT (0U)
463 #define QEO_WAVE_LIMIT_MAX_LIMIT0_SET(x) (((uint32_t)(x) << QEO_WAVE_LIMIT_MAX_LIMIT0_SHIFT) & QEO_WAVE_LIMIT_MAX_LIMIT0_MASK)
464 #define QEO_WAVE_LIMIT_MAX_LIMIT0_GET(x) (((uint32_t)(x) & QEO_WAVE_LIMIT_MAX_LIMIT0_MASK) >> QEO_WAVE_LIMIT_MAX_LIMIT0_SHIFT)
465 
466 /* Bitfield definition for register of struct WAVE: WAVE0 */
467 /*
468  * VAL (RW)
469  *
470  * wave0 deadzone shifter value
471  */
472 #define QEO_WAVE_DEADZONE_SHIFT_VAL_MASK (0xFFFFU)
473 #define QEO_WAVE_DEADZONE_SHIFT_VAL_SHIFT (0U)
474 #define QEO_WAVE_DEADZONE_SHIFT_VAL_SET(x) (((uint32_t)(x) << QEO_WAVE_DEADZONE_SHIFT_VAL_SHIFT) & QEO_WAVE_DEADZONE_SHIFT_VAL_MASK)
475 #define QEO_WAVE_DEADZONE_SHIFT_VAL_GET(x) (((uint32_t)(x) & QEO_WAVE_DEADZONE_SHIFT_VAL_MASK) >> QEO_WAVE_DEADZONE_SHIFT_VAL_SHIFT)
476 
477 /* Bitfield definition for register of struct ABZ: MODE */
478 /*
479  * REVERSE_EDGE_TYPE (RW)
480  *
481  * pulse reverse wave,reverse edge point:
482  * 0: between pulse's posedge and negedge, min period dedicated by the num line_width
483  * 1: edge change point flow pulse's negedge.
484  */
485 #define QEO_ABZ_MODE_REVERSE_EDGE_TYPE_MASK (0x10000000UL)
486 #define QEO_ABZ_MODE_REVERSE_EDGE_TYPE_SHIFT (28U)
487 #define QEO_ABZ_MODE_REVERSE_EDGE_TYPE_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_REVERSE_EDGE_TYPE_SHIFT) & QEO_ABZ_MODE_REVERSE_EDGE_TYPE_MASK)
488 #define QEO_ABZ_MODE_REVERSE_EDGE_TYPE_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_REVERSE_EDGE_TYPE_MASK) >> QEO_ABZ_MODE_REVERSE_EDGE_TYPE_SHIFT)
489 
490 /*
491  * EN_WDOG (RW)
492  *
493  * enable abz wdog:
494  * 0: disable abz wdog.
495  * 1: enable abz wdog.
496  */
497 #define QEO_ABZ_MODE_EN_WDOG_MASK (0x1000000UL)
498 #define QEO_ABZ_MODE_EN_WDOG_SHIFT (24U)
499 #define QEO_ABZ_MODE_EN_WDOG_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_EN_WDOG_SHIFT) & QEO_ABZ_MODE_EN_WDOG_MASK)
500 #define QEO_ABZ_MODE_EN_WDOG_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_EN_WDOG_MASK) >> QEO_ABZ_MODE_EN_WDOG_SHIFT)
501 
502 /*
503  * Z_POLARITY (RW)
504  *
505  * wave_z polarity.
506  * 0: normal output.
507  * 1: invert normal output
508  */
509 #define QEO_ABZ_MODE_Z_POLARITY_MASK (0x100000UL)
510 #define QEO_ABZ_MODE_Z_POLARITY_SHIFT (20U)
511 #define QEO_ABZ_MODE_Z_POLARITY_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_Z_POLARITY_SHIFT) & QEO_ABZ_MODE_Z_POLARITY_MASK)
512 #define QEO_ABZ_MODE_Z_POLARITY_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_Z_POLARITY_MASK) >> QEO_ABZ_MODE_Z_POLARITY_SHIFT)
513 
514 /*
515  * B_POLARITY (RW)
516  *
517  * wave_b polarity.
518  * 0: normal output.
519  * 1: invert normal output
520  */
521 #define QEO_ABZ_MODE_B_POLARITY_MASK (0x10000UL)
522 #define QEO_ABZ_MODE_B_POLARITY_SHIFT (16U)
523 #define QEO_ABZ_MODE_B_POLARITY_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_B_POLARITY_SHIFT) & QEO_ABZ_MODE_B_POLARITY_MASK)
524 #define QEO_ABZ_MODE_B_POLARITY_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_B_POLARITY_MASK) >> QEO_ABZ_MODE_B_POLARITY_SHIFT)
525 
526 /*
527  * A_POLARITY (RW)
528  *
529  * wave_a polarity.
530  * 0: normal output.
531  * 1: invert normal output
532  */
533 #define QEO_ABZ_MODE_A_POLARITY_MASK (0x1000U)
534 #define QEO_ABZ_MODE_A_POLARITY_SHIFT (12U)
535 #define QEO_ABZ_MODE_A_POLARITY_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_A_POLARITY_SHIFT) & QEO_ABZ_MODE_A_POLARITY_MASK)
536 #define QEO_ABZ_MODE_A_POLARITY_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_A_POLARITY_MASK) >> QEO_ABZ_MODE_A_POLARITY_SHIFT)
537 
538 /*
539  * Z_TYPE (RW)
540  *
541  * wave_z type:
542  * 0: zero pulse and output high at both wave_a and wave_b are high. mantain about 25% period.
543  * 1: zero pulse output high about 75% period. start from 0 to 75% period.
544  * 2: zero pulse output high about 100% period.
545  * 3: wave_z output as tree-phase wave same as wave_a/wave_b
546  */
547 #define QEO_ABZ_MODE_Z_TYPE_MASK (0x300U)
548 #define QEO_ABZ_MODE_Z_TYPE_SHIFT (8U)
549 #define QEO_ABZ_MODE_Z_TYPE_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_Z_TYPE_SHIFT) & QEO_ABZ_MODE_Z_TYPE_MASK)
550 #define QEO_ABZ_MODE_Z_TYPE_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_Z_TYPE_MASK) >> QEO_ABZ_MODE_Z_TYPE_SHIFT)
551 
552 /*
553  * B_TYPE (RW)
554  *
555  * wave_b type:
556  * 0: Two-phase orthogonality wave_b.
557  * 1: reverse wave of pulse/reverse type.
558  * 2: down wave of up/down type.
559  * 3: Three-phase orthogonality wave_b.
560  */
561 #define QEO_ABZ_MODE_B_TYPE_MASK (0x30U)
562 #define QEO_ABZ_MODE_B_TYPE_SHIFT (4U)
563 #define QEO_ABZ_MODE_B_TYPE_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_B_TYPE_SHIFT) & QEO_ABZ_MODE_B_TYPE_MASK)
564 #define QEO_ABZ_MODE_B_TYPE_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_B_TYPE_MASK) >> QEO_ABZ_MODE_B_TYPE_SHIFT)
565 
566 /*
567  * A_TYPE (RW)
568  *
569  * wave_a type:
570  * 0: Two-phase orthogonality wave_a.
571  * 1: pulse wave of pulse/reverse type.
572  * 2: up wave of up/down type.
573  * 3: Three-phase orthogonality wave_a.
574  */
575 #define QEO_ABZ_MODE_A_TYPE_MASK (0x3U)
576 #define QEO_ABZ_MODE_A_TYPE_SHIFT (0U)
577 #define QEO_ABZ_MODE_A_TYPE_SET(x) (((uint32_t)(x) << QEO_ABZ_MODE_A_TYPE_SHIFT) & QEO_ABZ_MODE_A_TYPE_MASK)
578 #define QEO_ABZ_MODE_A_TYPE_GET(x) (((uint32_t)(x) & QEO_ABZ_MODE_A_TYPE_MASK) >> QEO_ABZ_MODE_A_TYPE_SHIFT)
579 
580 /* Bitfield definition for register of struct ABZ: RESOLUTION */
581 /*
582  * LINES (RW)
583  *
584  * wave_a/b/z resolution
585  */
586 #define QEO_ABZ_RESOLUTION_LINES_MASK (0xFFFFFFFFUL)
587 #define QEO_ABZ_RESOLUTION_LINES_SHIFT (0U)
588 #define QEO_ABZ_RESOLUTION_LINES_SET(x) (((uint32_t)(x) << QEO_ABZ_RESOLUTION_LINES_SHIFT) & QEO_ABZ_RESOLUTION_LINES_MASK)
589 #define QEO_ABZ_RESOLUTION_LINES_GET(x) (((uint32_t)(x) & QEO_ABZ_RESOLUTION_LINES_MASK) >> QEO_ABZ_RESOLUTION_LINES_SHIFT)
590 
591 /* Bitfield definition for register of struct ABZ: A */
592 /*
593  * VAL (RW)
594  *
595  * wave_a phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period.
596  */
597 #define QEO_ABZ_PHASE_SHIFT_VAL_MASK (0xFFFFU)
598 #define QEO_ABZ_PHASE_SHIFT_VAL_SHIFT (0U)
599 #define QEO_ABZ_PHASE_SHIFT_VAL_SET(x) (((uint32_t)(x) << QEO_ABZ_PHASE_SHIFT_VAL_SHIFT) & QEO_ABZ_PHASE_SHIFT_VAL_MASK)
600 #define QEO_ABZ_PHASE_SHIFT_VAL_GET(x) (((uint32_t)(x) & QEO_ABZ_PHASE_SHIFT_VAL_MASK) >> QEO_ABZ_PHASE_SHIFT_VAL_SHIFT)
601 
602 /* Bitfield definition for register of struct ABZ: LINE_WIDTH */
603 /*
604  * LINE (RW)
605  *
606  * the num of system clk by 1/4 period when using as Two-phase orthogonality.
607  */
608 #define QEO_ABZ_LINE_WIDTH_LINE_MASK (0xFFFFFFFFUL)
609 #define QEO_ABZ_LINE_WIDTH_LINE_SHIFT (0U)
610 #define QEO_ABZ_LINE_WIDTH_LINE_SET(x) (((uint32_t)(x) << QEO_ABZ_LINE_WIDTH_LINE_SHIFT) & QEO_ABZ_LINE_WIDTH_LINE_MASK)
611 #define QEO_ABZ_LINE_WIDTH_LINE_GET(x) (((uint32_t)(x) & QEO_ABZ_LINE_WIDTH_LINE_MASK) >> QEO_ABZ_LINE_WIDTH_LINE_SHIFT)
612 
613 /* Bitfield definition for register of struct ABZ: WDOG_WIDTH */
614 /*
615  * WIDTH (RW)
616  *
617  * wave will step 1/4 line to reminder user QEO still in controlled if QEO has no any toggle after the num of wdog_width sys clk.
618  */
619 #define QEO_ABZ_WDOG_WIDTH_WIDTH_MASK (0xFFFFFFFFUL)
620 #define QEO_ABZ_WDOG_WIDTH_WIDTH_SHIFT (0U)
621 #define QEO_ABZ_WDOG_WIDTH_WIDTH_SET(x) (((uint32_t)(x) << QEO_ABZ_WDOG_WIDTH_WIDTH_SHIFT) & QEO_ABZ_WDOG_WIDTH_WIDTH_MASK)
622 #define QEO_ABZ_WDOG_WIDTH_WIDTH_GET(x) (((uint32_t)(x) & QEO_ABZ_WDOG_WIDTH_WIDTH_MASK) >> QEO_ABZ_WDOG_WIDTH_WIDTH_SHIFT)
623 
624 /* Bitfield definition for register of struct ABZ: POSTION_SYNC */
625 /*
626  * POSTION (WO)
627  *
628  * load next valid postion into  abz owned postion.  always read 0
629  * 0: sync abz owned postion with next valid postion.
630  * 1: not sync.
631  */
632 #define QEO_ABZ_POSTION_SYNC_POSTION_MASK (0x1U)
633 #define QEO_ABZ_POSTION_SYNC_POSTION_SHIFT (0U)
634 #define QEO_ABZ_POSTION_SYNC_POSTION_SET(x) (((uint32_t)(x) << QEO_ABZ_POSTION_SYNC_POSTION_SHIFT) & QEO_ABZ_POSTION_SYNC_POSTION_MASK)
635 #define QEO_ABZ_POSTION_SYNC_POSTION_GET(x) (((uint32_t)(x) & QEO_ABZ_POSTION_SYNC_POSTION_MASK) >> QEO_ABZ_POSTION_SYNC_POSTION_SHIFT)
636 
637 /* Bitfield definition for register of struct PWM: MODE */
638 /*
639  * PWM7_SAFETY (RW)
640  *
641  * PWM safety mode phase table
642  */
643 #define QEO_PWM_MODE_PWM7_SAFETY_MASK (0xC0000000UL)
644 #define QEO_PWM_MODE_PWM7_SAFETY_SHIFT (30U)
645 #define QEO_PWM_MODE_PWM7_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM7_SAFETY_SHIFT) & QEO_PWM_MODE_PWM7_SAFETY_MASK)
646 #define QEO_PWM_MODE_PWM7_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM7_SAFETY_MASK) >> QEO_PWM_MODE_PWM7_SAFETY_SHIFT)
647 
648 /*
649  * PWM6_SAFETY (RW)
650  *
651  * PWM safety mode phase table
652  */
653 #define QEO_PWM_MODE_PWM6_SAFETY_MASK (0x30000000UL)
654 #define QEO_PWM_MODE_PWM6_SAFETY_SHIFT (28U)
655 #define QEO_PWM_MODE_PWM6_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM6_SAFETY_SHIFT) & QEO_PWM_MODE_PWM6_SAFETY_MASK)
656 #define QEO_PWM_MODE_PWM6_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM6_SAFETY_MASK) >> QEO_PWM_MODE_PWM6_SAFETY_SHIFT)
657 
658 /*
659  * PWM5_SAFETY (RW)
660  *
661  * PWM safety mode phase table
662  */
663 #define QEO_PWM_MODE_PWM5_SAFETY_MASK (0xC000000UL)
664 #define QEO_PWM_MODE_PWM5_SAFETY_SHIFT (26U)
665 #define QEO_PWM_MODE_PWM5_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM5_SAFETY_SHIFT) & QEO_PWM_MODE_PWM5_SAFETY_MASK)
666 #define QEO_PWM_MODE_PWM5_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM5_SAFETY_MASK) >> QEO_PWM_MODE_PWM5_SAFETY_SHIFT)
667 
668 /*
669  * PWM4_SAFETY (RW)
670  *
671  * PWM safety mode phase table
672  */
673 #define QEO_PWM_MODE_PWM4_SAFETY_MASK (0x3000000UL)
674 #define QEO_PWM_MODE_PWM4_SAFETY_SHIFT (24U)
675 #define QEO_PWM_MODE_PWM4_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM4_SAFETY_SHIFT) & QEO_PWM_MODE_PWM4_SAFETY_MASK)
676 #define QEO_PWM_MODE_PWM4_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM4_SAFETY_MASK) >> QEO_PWM_MODE_PWM4_SAFETY_SHIFT)
677 
678 /*
679  * PWM3_SAFETY (RW)
680  *
681  * PWM safety mode phase table
682  */
683 #define QEO_PWM_MODE_PWM3_SAFETY_MASK (0xC00000UL)
684 #define QEO_PWM_MODE_PWM3_SAFETY_SHIFT (22U)
685 #define QEO_PWM_MODE_PWM3_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM3_SAFETY_SHIFT) & QEO_PWM_MODE_PWM3_SAFETY_MASK)
686 #define QEO_PWM_MODE_PWM3_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM3_SAFETY_MASK) >> QEO_PWM_MODE_PWM3_SAFETY_SHIFT)
687 
688 /*
689  * PWM2_SAFETY (RW)
690  *
691  * PWM safety mode phase table
692  */
693 #define QEO_PWM_MODE_PWM2_SAFETY_MASK (0x300000UL)
694 #define QEO_PWM_MODE_PWM2_SAFETY_SHIFT (20U)
695 #define QEO_PWM_MODE_PWM2_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM2_SAFETY_SHIFT) & QEO_PWM_MODE_PWM2_SAFETY_MASK)
696 #define QEO_PWM_MODE_PWM2_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM2_SAFETY_MASK) >> QEO_PWM_MODE_PWM2_SAFETY_SHIFT)
697 
698 /*
699  * PWM1_SAFETY (RW)
700  *
701  * PWM safety mode phase table
702  */
703 #define QEO_PWM_MODE_PWM1_SAFETY_MASK (0xC0000UL)
704 #define QEO_PWM_MODE_PWM1_SAFETY_SHIFT (18U)
705 #define QEO_PWM_MODE_PWM1_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM1_SAFETY_SHIFT) & QEO_PWM_MODE_PWM1_SAFETY_MASK)
706 #define QEO_PWM_MODE_PWM1_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM1_SAFETY_MASK) >> QEO_PWM_MODE_PWM1_SAFETY_SHIFT)
707 
708 /*
709  * PWM0_SAFETY (RW)
710  *
711  * PWM safety mode phase table
712  */
713 #define QEO_PWM_MODE_PWM0_SAFETY_MASK (0x30000UL)
714 #define QEO_PWM_MODE_PWM0_SAFETY_SHIFT (16U)
715 #define QEO_PWM_MODE_PWM0_SAFETY_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM0_SAFETY_SHIFT) & QEO_PWM_MODE_PWM0_SAFETY_MASK)
716 #define QEO_PWM_MODE_PWM0_SAFETY_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM0_SAFETY_MASK) >> QEO_PWM_MODE_PWM0_SAFETY_SHIFT)
717 
718 /*
719  * PWM_ENTER_SAFETY_MODE (RW)
720  *
721  * PWM  enter safety mode
722  * 0: not enter
723  * 1: enter
724  */
725 #define QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_MASK (0x200U)
726 #define QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_SHIFT (9U)
727 #define QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_SHIFT) & QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_MASK)
728 #define QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_MASK) >> QEO_PWM_MODE_PWM_ENTER_SAFETY_MODE_SHIFT)
729 
730 /*
731  * PWM_SAFETY_BYPASS (RW)
732  *
733  * PWM safety mode bypass
734  * 0: not bypass
735  * 1: bypass
736  */
737 #define QEO_PWM_MODE_PWM_SAFETY_BYPASS_MASK (0x100U)
738 #define QEO_PWM_MODE_PWM_SAFETY_BYPASS_SHIFT (8U)
739 #define QEO_PWM_MODE_PWM_SAFETY_BYPASS_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PWM_SAFETY_BYPASS_SHIFT) & QEO_PWM_MODE_PWM_SAFETY_BYPASS_MASK)
740 #define QEO_PWM_MODE_PWM_SAFETY_BYPASS_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PWM_SAFETY_BYPASS_MASK) >> QEO_PWM_MODE_PWM_SAFETY_BYPASS_SHIFT)
741 
742 /*
743  * REVISE_UP_DN (RW)
744  *
745  * exchange PWM pairs’ output
746  * 0: not exchange.
747  * 1: exchange.
748  */
749 #define QEO_PWM_MODE_REVISE_UP_DN_MASK (0x10U)
750 #define QEO_PWM_MODE_REVISE_UP_DN_SHIFT (4U)
751 #define QEO_PWM_MODE_REVISE_UP_DN_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_REVISE_UP_DN_SHIFT) & QEO_PWM_MODE_REVISE_UP_DN_MASK)
752 #define QEO_PWM_MODE_REVISE_UP_DN_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_REVISE_UP_DN_MASK) >> QEO_PWM_MODE_REVISE_UP_DN_SHIFT)
753 
754 /*
755  * PHASE_NUM (RW)
756  *
757  * pwm force phase number.
758  */
759 #define QEO_PWM_MODE_PHASE_NUM_MASK (0xFU)
760 #define QEO_PWM_MODE_PHASE_NUM_SHIFT (0U)
761 #define QEO_PWM_MODE_PHASE_NUM_SET(x) (((uint32_t)(x) << QEO_PWM_MODE_PHASE_NUM_SHIFT) & QEO_PWM_MODE_PHASE_NUM_MASK)
762 #define QEO_PWM_MODE_PHASE_NUM_GET(x) (((uint32_t)(x) & QEO_PWM_MODE_PHASE_NUM_MASK) >> QEO_PWM_MODE_PHASE_NUM_SHIFT)
763 
764 /* Bitfield definition for register of struct PWM: RESOLUTION */
765 /*
766  * LINES (RW)
767  *
768  * pwm resolution
769  */
770 #define QEO_PWM_RESOLUTION_LINES_MASK (0xFFFFFFFFUL)
771 #define QEO_PWM_RESOLUTION_LINES_SHIFT (0U)
772 #define QEO_PWM_RESOLUTION_LINES_SET(x) (((uint32_t)(x) << QEO_PWM_RESOLUTION_LINES_SHIFT) & QEO_PWM_RESOLUTION_LINES_MASK)
773 #define QEO_PWM_RESOLUTION_LINES_GET(x) (((uint32_t)(x) & QEO_PWM_RESOLUTION_LINES_MASK) >> QEO_PWM_RESOLUTION_LINES_SHIFT)
774 
775 /* Bitfield definition for register of struct PWM: A */
776 /*
777  * VAL (RW)
778  *
779  * pwm_a phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period
780  */
781 #define QEO_PWM_PHASE_SHIFT_VAL_MASK (0xFFFFU)
782 #define QEO_PWM_PHASE_SHIFT_VAL_SHIFT (0U)
783 #define QEO_PWM_PHASE_SHIFT_VAL_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_SHIFT_VAL_SHIFT) & QEO_PWM_PHASE_SHIFT_VAL_MASK)
784 #define QEO_PWM_PHASE_SHIFT_VAL_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_SHIFT_VAL_MASK) >> QEO_PWM_PHASE_SHIFT_VAL_SHIFT)
785 
786 /* Bitfield definition for register of struct PWM: POSEDGE0 */
787 /*
788  * PWM7 (RW)
789  *
790  * pwm phase table value
791  */
792 #define QEO_PWM_PHASE_TABLE_PWM7_MASK (0xC000U)
793 #define QEO_PWM_PHASE_TABLE_PWM7_SHIFT (14U)
794 #define QEO_PWM_PHASE_TABLE_PWM7_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM7_SHIFT) & QEO_PWM_PHASE_TABLE_PWM7_MASK)
795 #define QEO_PWM_PHASE_TABLE_PWM7_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM7_MASK) >> QEO_PWM_PHASE_TABLE_PWM7_SHIFT)
796 
797 /*
798  * PWM6 (RW)
799  *
800  * pwm phase table value
801  */
802 #define QEO_PWM_PHASE_TABLE_PWM6_MASK (0x3000U)
803 #define QEO_PWM_PHASE_TABLE_PWM6_SHIFT (12U)
804 #define QEO_PWM_PHASE_TABLE_PWM6_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM6_SHIFT) & QEO_PWM_PHASE_TABLE_PWM6_MASK)
805 #define QEO_PWM_PHASE_TABLE_PWM6_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM6_MASK) >> QEO_PWM_PHASE_TABLE_PWM6_SHIFT)
806 
807 /*
808  * PWM5 (RW)
809  *
810  * pwm phase table value
811  */
812 #define QEO_PWM_PHASE_TABLE_PWM5_MASK (0xC00U)
813 #define QEO_PWM_PHASE_TABLE_PWM5_SHIFT (10U)
814 #define QEO_PWM_PHASE_TABLE_PWM5_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM5_SHIFT) & QEO_PWM_PHASE_TABLE_PWM5_MASK)
815 #define QEO_PWM_PHASE_TABLE_PWM5_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM5_MASK) >> QEO_PWM_PHASE_TABLE_PWM5_SHIFT)
816 
817 /*
818  * PWM4 (RW)
819  *
820  * pwm phase table value
821  */
822 #define QEO_PWM_PHASE_TABLE_PWM4_MASK (0x300U)
823 #define QEO_PWM_PHASE_TABLE_PWM4_SHIFT (8U)
824 #define QEO_PWM_PHASE_TABLE_PWM4_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM4_SHIFT) & QEO_PWM_PHASE_TABLE_PWM4_MASK)
825 #define QEO_PWM_PHASE_TABLE_PWM4_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM4_MASK) >> QEO_PWM_PHASE_TABLE_PWM4_SHIFT)
826 
827 /*
828  * PWM3 (RW)
829  *
830  * pwm phase table value
831  */
832 #define QEO_PWM_PHASE_TABLE_PWM3_MASK (0xC0U)
833 #define QEO_PWM_PHASE_TABLE_PWM3_SHIFT (6U)
834 #define QEO_PWM_PHASE_TABLE_PWM3_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM3_SHIFT) & QEO_PWM_PHASE_TABLE_PWM3_MASK)
835 #define QEO_PWM_PHASE_TABLE_PWM3_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM3_MASK) >> QEO_PWM_PHASE_TABLE_PWM3_SHIFT)
836 
837 /*
838  * PWM2 (RW)
839  *
840  * pwm phase table value
841  */
842 #define QEO_PWM_PHASE_TABLE_PWM2_MASK (0x30U)
843 #define QEO_PWM_PHASE_TABLE_PWM2_SHIFT (4U)
844 #define QEO_PWM_PHASE_TABLE_PWM2_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM2_SHIFT) & QEO_PWM_PHASE_TABLE_PWM2_MASK)
845 #define QEO_PWM_PHASE_TABLE_PWM2_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM2_MASK) >> QEO_PWM_PHASE_TABLE_PWM2_SHIFT)
846 
847 /*
848  * PWM1 (RW)
849  *
850  * pwm phase table value
851  */
852 #define QEO_PWM_PHASE_TABLE_PWM1_MASK (0xCU)
853 #define QEO_PWM_PHASE_TABLE_PWM1_SHIFT (2U)
854 #define QEO_PWM_PHASE_TABLE_PWM1_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM1_SHIFT) & QEO_PWM_PHASE_TABLE_PWM1_MASK)
855 #define QEO_PWM_PHASE_TABLE_PWM1_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM1_MASK) >> QEO_PWM_PHASE_TABLE_PWM1_SHIFT)
856 
857 /*
858  * PWM0 (RW)
859  *
860  * pwm phase table value
861  */
862 #define QEO_PWM_PHASE_TABLE_PWM0_MASK (0x3U)
863 #define QEO_PWM_PHASE_TABLE_PWM0_SHIFT (0U)
864 #define QEO_PWM_PHASE_TABLE_PWM0_SET(x) (((uint32_t)(x) << QEO_PWM_PHASE_TABLE_PWM0_SHIFT) & QEO_PWM_PHASE_TABLE_PWM0_MASK)
865 #define QEO_PWM_PHASE_TABLE_PWM0_GET(x) (((uint32_t)(x) & QEO_PWM_PHASE_TABLE_PWM0_MASK) >> QEO_PWM_PHASE_TABLE_PWM0_SHIFT)
866 
867 /* Bitfield definition for register: POSTION_SOFTWARE */
868 /*
869  * POSTION_SOFTWAVE (RW)
870  *
871  * softwave inject postion
872  */
873 #define QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_MASK (0xFFFFFFFFUL)
874 #define QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_SHIFT (0U)
875 #define QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_SET(x) (((uint32_t)(x) << QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_SHIFT) & QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_MASK)
876 #define QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_GET(x) (((uint32_t)(x) & QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_MASK) >> QEO_POSTION_SOFTWARE_POSTION_SOFTWAVE_SHIFT)
877 
878 /* Bitfield definition for register: POSTION_SEL */
879 /*
880  * POSTION_SEL (RW)
881  *
882  * enable softwave inject postion.
883  * 0: disable.
884  * 1: enable.
885  */
886 #define QEO_POSTION_SEL_POSTION_SEL_MASK (0x1U)
887 #define QEO_POSTION_SEL_POSTION_SEL_SHIFT (0U)
888 #define QEO_POSTION_SEL_POSTION_SEL_SET(x) (((uint32_t)(x) << QEO_POSTION_SEL_POSTION_SEL_SHIFT) & QEO_POSTION_SEL_POSTION_SEL_MASK)
889 #define QEO_POSTION_SEL_POSTION_SEL_GET(x) (((uint32_t)(x) & QEO_POSTION_SEL_POSTION_SEL_MASK) >> QEO_POSTION_SEL_POSTION_SEL_SHIFT)
890 
891 /* Bitfield definition for register: STATUS */
892 /*
893  * PWM_FOURCE (RO)
894  *
895  * qeo_pwm_force observe
896  */
897 #define QEO_STATUS_PWM_FOURCE_MASK (0xFFFF0000UL)
898 #define QEO_STATUS_PWM_FOURCE_SHIFT (16U)
899 #define QEO_STATUS_PWM_FOURCE_GET(x) (((uint32_t)(x) & QEO_STATUS_PWM_FOURCE_MASK) >> QEO_STATUS_PWM_FOURCE_SHIFT)
900 
901 /*
902  * PWM_SAFETY (RO)
903  *
904  * pwm_fault status
905  */
906 #define QEO_STATUS_PWM_SAFETY_MASK (0x1U)
907 #define QEO_STATUS_PWM_SAFETY_SHIFT (0U)
908 #define QEO_STATUS_PWM_SAFETY_GET(x) (((uint32_t)(x) & QEO_STATUS_PWM_SAFETY_MASK) >> QEO_STATUS_PWM_SAFETY_SHIFT)
909 
910 /* Bitfield definition for register: DEBUG0 */
911 /*
912  * WAVE1 (RO)
913  *
914  * wave1 observe
915  */
916 #define QEO_DEBUG0_WAVE1_MASK (0xFFFF0000UL)
917 #define QEO_DEBUG0_WAVE1_SHIFT (16U)
918 #define QEO_DEBUG0_WAVE1_GET(x) (((uint32_t)(x) & QEO_DEBUG0_WAVE1_MASK) >> QEO_DEBUG0_WAVE1_SHIFT)
919 
920 /*
921  * WAVE0 (RO)
922  *
923  * wave0 observe
924  */
925 #define QEO_DEBUG0_WAVE0_MASK (0xFFFFU)
926 #define QEO_DEBUG0_WAVE0_SHIFT (0U)
927 #define QEO_DEBUG0_WAVE0_GET(x) (((uint32_t)(x) & QEO_DEBUG0_WAVE0_MASK) >> QEO_DEBUG0_WAVE0_SHIFT)
928 
929 /* Bitfield definition for register: DEBUG1 */
930 /*
931  * QEO_FINISH (RO)
932  *
933  * qeo finish observe
934  */
935 #define QEO_DEBUG1_QEO_FINISH_MASK (0x10000000UL)
936 #define QEO_DEBUG1_QEO_FINISH_SHIFT (28U)
937 #define QEO_DEBUG1_QEO_FINISH_GET(x) (((uint32_t)(x) & QEO_DEBUG1_QEO_FINISH_MASK) >> QEO_DEBUG1_QEO_FINISH_SHIFT)
938 
939 /*
940  * WAVE_Z (RO)
941  *
942  * wave_z observe
943  */
944 #define QEO_DEBUG1_WAVE_Z_MASK (0x1000000UL)
945 #define QEO_DEBUG1_WAVE_Z_SHIFT (24U)
946 #define QEO_DEBUG1_WAVE_Z_GET(x) (((uint32_t)(x) & QEO_DEBUG1_WAVE_Z_MASK) >> QEO_DEBUG1_WAVE_Z_SHIFT)
947 
948 /*
949  * WAVE_B (RO)
950  *
951  * wave_b observe
952  */
953 #define QEO_DEBUG1_WAVE_B_MASK (0x100000UL)
954 #define QEO_DEBUG1_WAVE_B_SHIFT (20U)
955 #define QEO_DEBUG1_WAVE_B_GET(x) (((uint32_t)(x) & QEO_DEBUG1_WAVE_B_MASK) >> QEO_DEBUG1_WAVE_B_SHIFT)
956 
957 /*
958  * WAVE_A (RO)
959  *
960  * wave_a observe
961  */
962 #define QEO_DEBUG1_WAVE_A_MASK (0x10000UL)
963 #define QEO_DEBUG1_WAVE_A_SHIFT (16U)
964 #define QEO_DEBUG1_WAVE_A_GET(x) (((uint32_t)(x) & QEO_DEBUG1_WAVE_A_MASK) >> QEO_DEBUG1_WAVE_A_SHIFT)
965 
966 /*
967  * WAVE2 (RO)
968  *
969  * wave2 observe
970  */
971 #define QEO_DEBUG1_WAVE2_MASK (0xFFFFU)
972 #define QEO_DEBUG1_WAVE2_SHIFT (0U)
973 #define QEO_DEBUG1_WAVE2_GET(x) (((uint32_t)(x) & QEO_DEBUG1_WAVE2_MASK) >> QEO_DEBUG1_WAVE2_SHIFT)
974 
975 /* Bitfield definition for register: DEBUG2 */
976 /*
977  * ABZ_OWN_POSTION (RO)
978  *
979  * abz_own_postion observe
980  */
981 #define QEO_DEBUG2_ABZ_OWN_POSTION_MASK (0xFFFFFFFFUL)
982 #define QEO_DEBUG2_ABZ_OWN_POSTION_SHIFT (0U)
983 #define QEO_DEBUG2_ABZ_OWN_POSTION_GET(x) (((uint32_t)(x) & QEO_DEBUG2_ABZ_OWN_POSTION_MASK) >> QEO_DEBUG2_ABZ_OWN_POSTION_SHIFT)
984 
985 /* Bitfield definition for register: DEBUG3 */
986 /*
987  * ABZ_OWN_POSTION (RO)
988  *
989  * abz_own_postion observe
990  */
991 #define QEO_DEBUG3_ABZ_OWN_POSTION_MASK (0xFFFFFFFFUL)
992 #define QEO_DEBUG3_ABZ_OWN_POSTION_SHIFT (0U)
993 #define QEO_DEBUG3_ABZ_OWN_POSTION_GET(x) (((uint32_t)(x) & QEO_DEBUG3_ABZ_OWN_POSTION_MASK) >> QEO_DEBUG3_ABZ_OWN_POSTION_SHIFT)
994 
995 
996 
997 /* PHASE_SHIFT register group index macro definition */
998 #define QEO_WAVE_PHASE_SHIFT_WAVE0 (0UL)
999 #define QEO_WAVE_PHASE_SHIFT_WAVE1 (1UL)
1000 #define QEO_WAVE_PHASE_SHIFT_WAVE2 (2UL)
1001 
1002 /* VD_VQ_INJECT register group index macro definition */
1003 #define QEO_WAVE_VD_VQ_INJECT_WAVE0 (0UL)
1004 #define QEO_WAVE_VD_VQ_INJECT_WAVE1 (1UL)
1005 #define QEO_WAVE_VD_VQ_INJECT_WAVE2 (2UL)
1006 
1007 /* AMPLITUDE register group index macro definition */
1008 #define QEO_WAVE_AMPLITUDE_WAVE0 (0UL)
1009 #define QEO_WAVE_AMPLITUDE_WAVE1 (1UL)
1010 #define QEO_WAVE_AMPLITUDE_WAVE2 (2UL)
1011 
1012 /* MID_POINT register group index macro definition */
1013 #define QEO_WAVE_MID_POINT_WAVE0 (0UL)
1014 #define QEO_WAVE_MID_POINT_WAVE1 (1UL)
1015 #define QEO_WAVE_MID_POINT_WAVE2 (2UL)
1016 
1017 /* LIMIT register group index macro definition */
1018 #define QEO_LIMIT_WAVE0 (0UL)
1019 #define QEO_LIMIT_WAVE1 (1UL)
1020 #define QEO_LIMIT_WAVE2 (2UL)
1021 
1022 /* DEADZONE_SHIFT register group index macro definition */
1023 #define QEO_WAVE_DEADZONE_SHIFT_WAVE0 (0UL)
1024 #define QEO_WAVE_DEADZONE_SHIFT_WAVE1 (1UL)
1025 #define QEO_WAVE_DEADZONE_SHIFT_WAVE2 (2UL)
1026 
1027 /* PHASE_SHIFT register group index macro definition */
1028 #define QEO_ABZ_PHASE_SHIFT_A (0UL)
1029 #define QEO_ABZ_PHASE_SHIFT_B (1UL)
1030 #define QEO_ABZ_PHASE_SHIFT_Z (2UL)
1031 
1032 /* PHASE_SHIFT register group index macro definition */
1033 #define QEO_PWM_PHASE_SHIFT_A (0UL)
1034 #define QEO_PWM_PHASE_SHIFT_B (1UL)
1035 #define QEO_PWM_PHASE_SHIFT_C (2UL)
1036 #define QEO_PWM_PHASE_SHIFT_D (3UL)
1037 
1038 /* PHASE_TABLE register group index macro definition */
1039 #define QEO_PWM_PHASE_TABLE_POSEDGE0 (0UL)
1040 #define QEO_PWM_PHASE_TABLE_POSEDGE1 (1UL)
1041 #define QEO_PWM_PHASE_TABLE_POSEDGE2 (2UL)
1042 #define QEO_PWM_PHASE_TABLE_POSEDGE3 (3UL)
1043 #define QEO_PWM_PHASE_TABLE_POSEDGE4 (4UL)
1044 #define QEO_PWM_PHASE_TABLE_POSEDGE5 (5UL)
1045 #define QEO_PWM_PHASE_TABLE_POSEDGE6 (6UL)
1046 #define QEO_PWM_PHASE_TABLE_POSEDGE7 (7UL)
1047 #define QEO_PWM_PHASE_TABLE_POSEDGE8 (8UL)
1048 #define QEO_PWM_PHASE_TABLE_POSEDGE9 (9UL)
1049 #define QEO_PWM_PHASE_TABLE_POSEDGE10 (10UL)
1050 #define QEO_PWM_PHASE_TABLE_POSEDGE11 (11UL)
1051 #define QEO_PWM_PHASE_TABLE_NEGEDGE0 (12UL)
1052 #define QEO_PWM_PHASE_TABLE_NEGEDGE1 (13UL)
1053 #define QEO_PWM_PHASE_TABLE_NEGEDGE2 (14UL)
1054 #define QEO_PWM_PHASE_TABLE_NEGEDGE3 (15UL)
1055 #define QEO_PWM_PHASE_TABLE_NEGEDGE4 (16UL)
1056 #define QEO_PWM_PHASE_TABLE_NEGEDGE5 (17UL)
1057 #define QEO_PWM_PHASE_TABLE_NEGEDGE6 (18UL)
1058 #define QEO_PWM_PHASE_TABLE_NEGEDGE7 (19UL)
1059 #define QEO_PWM_PHASE_TABLE_NEGEDGE8 (20UL)
1060 #define QEO_PWM_PHASE_TABLE_NEGEDGE9 (21UL)
1061 #define QEO_PWM_PHASE_TABLE_NEGEDGE10 (22UL)
1062 #define QEO_PWM_PHASE_TABLE_NEGEDGE11 (23UL)
1063 
1064 
1065 #endif /* HPM_QEO_H */
1066