HPM SDK
HPMicro Software Development Kit
hpm_opamp_drv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_OPAMP_DRV_H
9 #define HPM_OPAMP_DRV_H
10 
11 #include "hpm_common.h"
12 #include "hpm_opamp_regs.h"
13 #include "hpm_soc_feature.h"
14 
22 #define OPAMP_MODE_FOLLOW_KEY (0x06)
23 #define OPAMP_MODE_INVERT_INDEX0_KEY (0x08)
24 #define OPAMP_MODE_INVERT_INDEX1_KEY (0x18)
25 #define OPAMP_MODE_NON_INVERT_INDEX0_KEY (0x01)
26 #define OPAMP_MODE_NON_INVERT_INDEX1_KEY (0x09)
27 #define OPAMP_MODE_NON_INVERT_INDEX2_KEY (0x11)
28 #define OPAMP_MODE_NON_INVERT_INDEX3_KEY (0x19)
29 #define OPAMP_MODE_NON_INVERT_INDEX4_KEY (0x09)
30 #define OPAMP_MODE_USER_DEFINE_KEY (0x04)
31 
36 typedef enum {
41  inm_pad_floating = 4
43 
48 typedef enum {
49  gain_x_2 = 0,
50  gain_x_4 = 1,
51  gain_x_8 = 2,
52  gain_x_16 = 3,
53  gain_x_32 = 4,
54  gain_x_64 = 5,
55  gain_x_128 = 6,
56 } opamp_gain_t;
57 
62 typedef enum {
72 
77 typedef enum {
85  inp_pad_floating = 7
87 
92 typedef enum {
102 
107 typedef enum {
115  mode_user = 7,
116 } opamp_mode_t;
117 
122 typedef union opamp_cfg_preset0 {
123  struct {
124  uint32_t vip_select: 3;
125  uint32_t vim_select: 3;
126  uint32_t vswitch_select: 3;
127  uint32_t cap_select: 4;
128  uint32_t reserve: 19;
129  };
130  uint32_t val;
132 
137 typedef union opamp_cfg_preset1 {
138  struct {
139  uint32_t res_select: 3;
140  uint32_t function_mode: 5;
141  uint32_t iref_select: 2;
142  uint32_t opaout_select: 2;
143  uint32_t is_vssa_disconnect: 1;
144  uint32_t en_lv: 1;
145  uint32_t hw_trig_en: 1;
146  uint32_t reserve: 17;
147  };
148  uint32_t val;
150 
151 typedef struct opamp_cfg {
160 
161 #ifdef __cplusplus
162 extern "C" {
163 #endif
164 
178 static inline void opamp_enable(OPAMP_Type *opamp)
179 {
180  opamp->CTRL0 |= OPAMP_CTRL0_EN_LV_MASK;
181 }
182 
189 static inline void opamp_preset_opamp_enable(OPAMP_Type *opamp, uint8_t preset_chn)
190 {
191  opamp->CFG[preset_chn].CFG1 |= OPAMP_CFG_CFG1_EN_LV_MASK;
192 }
193 
199 static inline void opamp_disable(OPAMP_Type *opamp)
200 {
201  opamp->CTRL0 &= ~OPAMP_CTRL0_EN_LV_MASK;
202 }
203 
210 static inline void opamp_preset_opamp_disable(OPAMP_Type *opamp, uint8_t preset_chn)
211 {
212  opamp->CFG[preset_chn].CFG1 &= ~OPAMP_CFG_CFG1_EN_LV_MASK;
213 }
214 
221 static inline void opamp_miller_cap_select(OPAMP_Type *opamp, opamp_miller_cap_t select)
222 {
223  opamp->CTRL0 = (opamp->CTRL0 & (~OPAMP_CTRL0_MILLER_SEL_MASK)) | OPAMP_CTRL0_MILLER_SEL_SET(select);
224 }
225 
233 static inline void opamp_preset_miller_cap_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_miller_cap_t select)
234 {
235  opamp->CFG[preset_chn].CFG0 = (opamp->CFG[preset_chn].CFG0 & (~OPAMP_CFG_CFG0_MILLER_SEL_MASK)) | OPAMP_CFG_CFG0_MILLER_SEL_SET(select);
236 }
237 
243 static inline void opamp_phase_margin_cap_enable(OPAMP_Type *opamp)
244 {
246 }
247 
254 static inline void opamp_preset_phase_margin_cap_enable(OPAMP_Type *opamp, uint8_t preset_chn)
255 {
256  opamp->CFG[preset_chn].CFG0 &= ~OPAMP_CFG_CFG0_DISABLE_PM_CAP_MASK;
257 }
258 
264 static inline void opamp_phase_margin_cap_disable(OPAMP_Type *opamp)
265 {
267 }
268 
275 static inline void opamp_preset_phase_margin_cap_disable(OPAMP_Type *opamp, uint8_t preset_chn)
276 {
277  opamp->CFG[preset_chn].CFG0 |= OPAMP_CFG_CFG0_DISABLE_PM_CAP_MASK;
278 }
279 
286 static inline void opamp_inn_pad_select(OPAMP_Type *opamp, opamp_inm_pad_t select)
287 {
288  opamp->CTRL0 = (opamp->CTRL0 & (~OPAMP_CTRL0_VIM_SEL_MASK)) | OPAMP_CTRL0_VIM_SEL_SET(select);
289 }
290 
298 static inline void opamp_preset_inn_pad_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_inm_pad_t select)
299 {
300  opamp->CFG[preset_chn].CFG0 = (opamp->CFG[preset_chn].CFG0 & (~OPAMP_CFG_CFG0_VIM_SEL_MASK)) | OPAMP_CFG_CFG0_VIM_SEL_SET(select);
301 }
302 
310 static inline void opamp_gain_select(OPAMP_Type *opamp, opamp_gain_t select)
311 {
312  opamp->CTRL0 = (opamp->CTRL0 & (~OPAMP_CTRL0_GAIN_SEL_MASK)) | OPAMP_CTRL0_GAIN_SEL_SET(select);
313 }
314 
323 static inline void opamp_preset_gain_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_gain_t select)
324 {
325  opamp->CFG[preset_chn].CFG1 = (opamp->CFG[preset_chn].CFG1 & (~OPAMP_CFG_CFG1_GAIN_SEL_MASK)) | OPAMP_CFG_CFG1_GAIN_SEL_SET(select);
326 }
327 
333 static inline void opamp_disconnect_vssa(OPAMP_Type *opamp)
334 {
336 }
337 
344 static inline void opamp_preset_disconnect_vssa(OPAMP_Type *opamp, uint8_t preset_chn)
345 {
346  opamp->CFG[preset_chn].CFG1 |= OPAMP_CFG_CFG1_VBYPASS_LV_MASK;
347 }
348 
354 static inline void opamp_connect_vssa(OPAMP_Type *opamp)
355 {
356  opamp->CTRL0 &= ~OPAMP_CTRL0_VBYPASS_MASK;
357 }
358 
365 static inline void opamp_preset_connect_vssa(OPAMP_Type *opamp, uint8_t preset_chn)
366 {
367  opamp->CFG[preset_chn].CFG1 &= ~OPAMP_CFG_CFG1_VBYPASS_LV_MASK;
368 }
369 
376 static inline void opamp_inp_pad_select(OPAMP_Type *opamp, opamp_inp_pad_t select)
377 {
378  opamp->CTRL0 = (opamp->CTRL0 & (~OPAMP_CTRL0_VIP_SEL_MASK)) | OPAMP_CTRL0_VIP_SEL_SET(select);
379 }
380 
388 static inline void opamp_preset_inp_pad_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_inp_pad_t select)
389 {
390  opamp->CFG[preset_chn].CFG0 = (opamp->CFG[preset_chn].CFG0 & (~OPAMP_CFG_CFG0_VIP_SEL_MASK)) | OPAMP_CFG_CFG0_VIP_SEL_SET(select);
391 }
392 
393 
400 static inline uint8_t opamp_get_cur_preset(OPAMP_Type *opamp)
401 {
402  return OPAMP_STATUS_CUR_PRESET_GET(opamp->STATUS);
403 }
404 
412 static inline bool opamp_get_is_preset(OPAMP_Type *opamp)
413 {
414  return OPAMP_STATUS_PRESET_ACT_GET(opamp->STATUS);
415 }
416 
423 static inline uint8_t opamp_get_trig_conflict_status(OPAMP_Type *opamp)
424 {
425  return OPAMP_STATUS_TRIG_CONFLICT_GET(opamp->STATUS);
426 }
427 
433 static inline void opamp_clear_conflict_status(OPAMP_Type *opamp)
434 {
436 }
437 
445 {
446  opamp->CTRL1 = (opamp->CTRL1 & (~OPAMP_CTRL1_SW_SEL_MASK)) | OPAMP_CTRL1_SW_SEL_SET(val);
447 }
448 
454 static inline void opamp_enable_sw_preset(OPAMP_Type *opamp)
455 {
457 }
458 
464 static inline void opamp_disable_sw_preset(OPAMP_Type *opamp)
465 {
467 }
468 
469 
477 static inline void opamp_set_preset_x_chn(OPAMP_Type *opamp, uint8_t preset_chn, uint8_t chn)
478 {
479  opamp->CFG[preset_chn].CFG2 = OPAMP_CFG_CFG2_CHANNEL_SET(chn);
480 }
481 
490 hpm_stat_t opamp_set_preset_cfg(OPAMP_Type *opamp, uint8_t preset_chn, opamp_cfg_t *cfg);
491 
498 static inline void opamp_preset_enable_hw_trig(OPAMP_Type *opamp, uint8_t preset_chn)
499 {
500  opamp->CFG[preset_chn].CFG1 |= OPAMP_CFG_CFG1_HW_TRIG_EN_MASK;
501 }
502 
509 static inline void opamp_preset_disable_hw_trig(OPAMP_Type *opamp, uint8_t preset_chn)
510 {
511  opamp->CFG[preset_chn].CFG1 &= ~OPAMP_CFG_CFG1_HW_TRIG_EN_MASK;
512 }
513 
520 static inline void opamp_mode_set(OPAMP_Type *opamp, uint8_t mode)
521 {
522  opamp->CTRL0 = (opamp->CTRL0 & (~OPAMP_CTRL0_MODE_MASK)) | OPAMP_CTRL0_MODE_SET(mode);
523 }
524 
532 static inline void opamp_preset_mode_set(OPAMP_Type *opamp, uint8_t preset_chn, uint8_t mode)
533 {
534  opamp->CFG[preset_chn].CFG1 = (opamp->CFG[preset_chn].CFG1 & (~OPAMP_CFG_CFG1_MODE_MASK)) | OPAMP_CFG_CFG1_MODE_SET(mode);
535 }
536 
542 #ifdef __cplusplus
543 }
544 #endif
545 
546 #endif /* HPM_ACMP_DRV_H */
uint32_t hpm_stat_t
Definition: hpm_common.h:123
static void opamp_preset_phase_margin_cap_enable(OPAMP_Type *opamp, uint8_t preset_chn)
enable phase margin compensation cap preset
Definition: hpm_opamp_drv.h:254
static void opamp_miller_cap_select(OPAMP_Type *opamp, opamp_miller_cap_t select)
opamp miller cap selection
Definition: hpm_opamp_drv.h:221
hpm_stat_t opamp_init(OPAMP_Type *opamp, opamp_cfg_t *cfg)
opamp initialisation functions Use this function to initialise the op-amp to different modes
Definition: hpm_opamp_drv.c:3
static void opamp_preset_mode_set(OPAMP_Type *opamp, uint8_t preset_chn, uint8_t mode)
opamp preset set mode
Definition: hpm_opamp_drv.h:532
static void opamp_phase_margin_cap_disable(OPAMP_Type *opamp)
disable phase margin compensation cap
Definition: hpm_opamp_drv.h:264
static void opamp_phase_margin_cap_enable(OPAMP_Type *opamp)
enable phase margin compensation cap
Definition: hpm_opamp_drv.h:243
static void opamp_disable_sw_preset(OPAMP_Type *opamp)
Disable software preset.
Definition: hpm_opamp_drv.h:464
static void opamp_enable_sw_preset(OPAMP_Type *opamp)
Enable software preset.
Definition: hpm_opamp_drv.h:454
opamp_inm_pad_t
Reverse Input Pin Selection.
Definition: hpm_opamp_drv.h:36
static void opamp_set_sw_preset_val(OPAMP_Type *opamp, opamp_cfg_preset_chn_t val)
Set opamp preset value.
Definition: hpm_opamp_drv.h:444
static void opamp_preset_enable_hw_trig(OPAMP_Type *opamp, uint8_t preset_chn)
opamp enable preset hardware trig
Definition: hpm_opamp_drv.h:498
opamp_gain_t
Gain multiplier selection.
Definition: hpm_opamp_drv.h:48
opamp_inp_pad_t
Positive Input Pin Selection.
Definition: hpm_opamp_drv.h:77
static void opamp_disable(OPAMP_Type *opamp)
disable opamp function
Definition: hpm_opamp_drv.h:199
static void opamp_set_preset_x_chn(OPAMP_Type *opamp, uint8_t preset_chn, uint8_t chn)
Set preset x channel value.
Definition: hpm_opamp_drv.h:477
static void opamp_preset_gain_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_gain_t select)
main string resistor selection preset
Definition: hpm_opamp_drv.h:323
union opamp_cfg_preset0 opamp_ctrl_cfg_preset0_t
opamp configuration preset0
hpm_stat_t opamp_set_preset_cfg(OPAMP_Type *opamp, uint8_t preset_chn, opamp_cfg_t *cfg)
Set preset cfg.
Definition: hpm_opamp_drv.c:110
union opamp_cfg_preset1 opamp_ctrl_cfg_preset1_t
opamp configuration preset1
static void opamp_preset_connect_vssa(OPAMP_Type *opamp, uint8_t preset_chn)
connect the main series resistor and VSSA preset
Definition: hpm_opamp_drv.h:365
static void opamp_enable(OPAMP_Type *opamp)
enable opamp function
Definition: hpm_opamp_drv.h:178
static void opamp_disconnect_vssa(OPAMP_Type *opamp)
disconnect the main series resistor and VSSA
Definition: hpm_opamp_drv.h:333
static void opamp_mode_set(OPAMP_Type *opamp, uint8_t mode)
opamp set mode
Definition: hpm_opamp_drv.h:520
static void opamp_preset_opamp_enable(OPAMP_Type *opamp, uint8_t preset_chn)
preset enable opamp function
Definition: hpm_opamp_drv.h:189
static bool opamp_get_is_preset(OPAMP_Type *opamp)
get the current preset value
Definition: hpm_opamp_drv.h:412
static void opamp_preset_inn_pad_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_inm_pad_t select)
opamp core inm connect pad preset
Definition: hpm_opamp_drv.h:298
static void opamp_preset_inp_pad_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_inp_pad_t select)
opamp inp select preset
Definition: hpm_opamp_drv.h:388
static void opamp_preset_phase_margin_cap_disable(OPAMP_Type *opamp, uint8_t preset_chn)
disable phase margin compensation cap preset
Definition: hpm_opamp_drv.h:275
static uint8_t opamp_get_trig_conflict_status(OPAMP_Type *opamp)
Get the trigger conflict status.
Definition: hpm_opamp_drv.h:423
opamp_cfg_preset_chn_t
opamp preset channel
Definition: hpm_opamp_drv.h:92
static void opamp_connect_vssa(OPAMP_Type *opamp)
connect the main series resistor and VSSA
Definition: hpm_opamp_drv.h:354
static uint8_t opamp_get_cur_preset(OPAMP_Type *opamp)
opamp get current preset
Definition: hpm_opamp_drv.h:400
struct opamp_cfg opamp_cfg_t
static void opamp_preset_miller_cap_select(OPAMP_Type *opamp, uint8_t preset_chn, opamp_miller_cap_t select)
opamp miller cap selection preset
Definition: hpm_opamp_drv.h:233
static void opamp_preset_disconnect_vssa(OPAMP_Type *opamp, uint8_t preset_chn)
disconnect the main series resistor and VSSA preset
Definition: hpm_opamp_drv.h:344
static void opamp_inp_pad_select(OPAMP_Type *opamp, opamp_inp_pad_t select)
opamp inp select
Definition: hpm_opamp_drv.h:376
opamp_miller_cap_t
Miller Capacitor Selection.
Definition: hpm_opamp_drv.h:62
static void opamp_preset_disable_hw_trig(OPAMP_Type *opamp, uint8_t preset_chn)
opamp disable preset hardware trig
Definition: hpm_opamp_drv.h:509
static void opamp_clear_conflict_status(OPAMP_Type *opamp)
Clear the trigger conflict status.
Definition: hpm_opamp_drv.h:433
static void opamp_inn_pad_select(OPAMP_Type *opamp, opamp_inm_pad_t select)
opamp core inm connect pad
Definition: hpm_opamp_drv.h:286
static void opamp_gain_select(OPAMP_Type *opamp, opamp_gain_t select)
main string resistor selection
Definition: hpm_opamp_drv.h:310
opamp_mode_t
operational amplifier
Definition: hpm_opamp_drv.h:107
static void opamp_preset_opamp_disable(OPAMP_Type *opamp, uint8_t preset_chn)
preset disable opamp function
Definition: hpm_opamp_drv.h:210
@ inm_pad_dac
Definition: hpm_opamp_drv.h:40
@ inm_pad_floating
Definition: hpm_opamp_drv.h:41
@ inm_pad_vim1
Definition: hpm_opamp_drv.h:38
@ inm_pad_vim2
Definition: hpm_opamp_drv.h:39
@ inm_pad_vim0
Definition: hpm_opamp_drv.h:37
@ gain_x_4
Definition: hpm_opamp_drv.h:50
@ gain_x_16
Definition: hpm_opamp_drv.h:52
@ gain_x_8
Definition: hpm_opamp_drv.h:51
@ gain_x_2
Definition: hpm_opamp_drv.h:49
@ gain_x_128
Definition: hpm_opamp_drv.h:55
@ gain_x_64
Definition: hpm_opamp_drv.h:54
@ gain_x_32
Definition: hpm_opamp_drv.h:53
@ inp_pad_vip0
Definition: hpm_opamp_drv.h:78
@ inp_pad_dac
Definition: hpm_opamp_drv.h:81
@ inp_pad_vsupply_x_0_75
Definition: hpm_opamp_drv.h:84
@ inp_pad_vsupply_x_0_25
Definition: hpm_opamp_drv.h:82
@ inp_pad_vip2
Definition: hpm_opamp_drv.h:80
@ inp_pad_vsupply_x_0_5
Definition: hpm_opamp_drv.h:83
@ inp_pad_floating
Definition: hpm_opamp_drv.h:85
@ inp_pad_vip1
Definition: hpm_opamp_drv.h:79
@ cfg_preset_7
Definition: hpm_opamp_drv.h:100
@ cfg_preset_3
Definition: hpm_opamp_drv.h:96
@ cfg_preset_6
Definition: hpm_opamp_drv.h:99
@ cfg_preset_1
Definition: hpm_opamp_drv.h:94
@ cfg_preset_2
Definition: hpm_opamp_drv.h:95
@ cfg_preset_4
Definition: hpm_opamp_drv.h:97
@ cfg_preset_5
Definition: hpm_opamp_drv.h:98
@ cfg_preset_0
Definition: hpm_opamp_drv.h:93
@ miller_cap_x_15
Definition: hpm_opamp_drv.h:67
@ miller_cap_x_5
Definition: hpm_opamp_drv.h:69
@ miller_cap_x_6
Definition: hpm_opamp_drv.h:70
@ miller_cap_x_18
Definition: hpm_opamp_drv.h:68
@ miller_cap_x_10
Definition: hpm_opamp_drv.h:65
@ miller_cap_x_7
Definition: hpm_opamp_drv.h:63
@ miller_cap_x_8
Definition: hpm_opamp_drv.h:64
@ miller_cap_x_13
Definition: hpm_opamp_drv.h:66
@ mode_follow
Definition: hpm_opamp_drv.h:108
@ mode_invert_dac_vol
Definition: hpm_opamp_drv.h:111
@ mode_non_invert_extern_vol
Definition: hpm_opamp_drv.h:113
@ mode_invert_intern_vol
Definition: hpm_opamp_drv.h:109
@ mode_user
Definition: hpm_opamp_drv.h:115
@ mode_non_invert_gnd_vol
Definition: hpm_opamp_drv.h:112
@ mode_non_invert_dac_vol
Definition: hpm_opamp_drv.h:114
@ mode_invert_extern_vol
Definition: hpm_opamp_drv.h:110
#define OPAMP_STATUS_PRESET_ACT_GET(x)
Definition: hpm_opamp_regs.h:118
#define OPAMP_CTRL0_MILLER_SEL_SET(x)
Definition: hpm_opamp_regs.h:77
#define OPAMP_CTRL0_DISABLE_PM_CAP_MASK
Definition: hpm_opamp_regs.h:66
#define OPAMP_CTRL0_VIM_SEL_MASK
Definition: hpm_opamp_regs.h:39
#define OPAMP_CFG_CFG1_GAIN_SEL_MASK
Definition: hpm_opamp_regs.h:230
#define OPAMP_STATUS_CUR_PRESET_GET(x)
Definition: hpm_opamp_regs.h:127
#define OPAMP_CFG_CFG0_MILLER_SEL_SET(x)
Definition: hpm_opamp_regs.h:166
#define OPAMP_CFG_CFG2_CHANNEL_SET(x)
Definition: hpm_opamp_regs.h:242
#define OPAMP_CTRL0_MILLER_SEL_MASK
Definition: hpm_opamp_regs.h:75
#define OPAMP_CTRL1_SW_SEL_SET(x)
Definition: hpm_opamp_regs.h:147
#define OPAMP_CTRL1_SW_SEL_MASK
Definition: hpm_opamp_regs.h:145
#define OPAMP_CFG_PRESET5
Definition: hpm_opamp_regs.h:253
#define OPAMP_CFG_PRESET1
Definition: hpm_opamp_regs.h:249
#define OPAMP_CFG_CFG0_VIM_SEL_MASK
Definition: hpm_opamp_regs.h:173
#define OPAMP_CTRL0_VIP_SEL_MASK
Definition: hpm_opamp_regs.h:93
#define OPAMP_CTRL0_GAIN_SEL_MASK
Definition: hpm_opamp_regs.h:57
#define OPAMP_STATUS_TRIG_CONFLICT_GET(x)
Definition: hpm_opamp_regs.h:108
#define OPAMP_CFG_PRESET7
Definition: hpm_opamp_regs.h:255
#define OPAMP_CFG_PRESET4
Definition: hpm_opamp_regs.h:252
#define OPAMP_CFG_CFG1_GAIN_SEL_SET(x)
Definition: hpm_opamp_regs.h:232
#define OPAMP_CTRL0_MODE_SET(x)
Definition: hpm_opamp_regs.h:50
#define OPAMP_CTRL0_GAIN_SEL_SET(x)
Definition: hpm_opamp_regs.h:59
#define OPAMP_CFG_PRESET6
Definition: hpm_opamp_regs.h:254
#define OPAMP_STATUS_TRIG_CONFLICT_MASK
Definition: hpm_opamp_regs.h:105
#define OPAMP_CFG_CFG0_VIP_SEL_MASK
Definition: hpm_opamp_regs.h:182
#define OPAMP_CFG_CFG0_DISABLE_PM_CAP_MASK
Definition: hpm_opamp_regs.h:155
#define OPAMP_CFG_CFG0_VIM_SEL_SET(x)
Definition: hpm_opamp_regs.h:175
#define OPAMP_CFG_PRESET3
Definition: hpm_opamp_regs.h:251
#define OPAMP_CFG_CFG1_VBYPASS_LV_MASK
Definition: hpm_opamp_regs.h:212
#define OPAMP_CTRL0_VIP_SEL_SET(x)
Definition: hpm_opamp_regs.h:95
#define OPAMP_CTRL0_EN_LV_MASK
Definition: hpm_opamp_regs.h:30
#define OPAMP_CFG_CFG1_MODE_SET(x)
Definition: hpm_opamp_regs.h:223
#define OPAMP_CTRL0_VIM_SEL_SET(x)
Definition: hpm_opamp_regs.h:41
#define OPAMP_CFG_CFG1_MODE_MASK
Definition: hpm_opamp_regs.h:221
#define OPAMP_CTRL0_MODE_MASK
Definition: hpm_opamp_regs.h:48
#define OPAMP_CFG_CFG1_EN_LV_MASK
Definition: hpm_opamp_regs.h:203
#define OPAMP_CFG_CFG0_MILLER_SEL_MASK
Definition: hpm_opamp_regs.h:164
#define OPAMP_CFG_PRESET2
Definition: hpm_opamp_regs.h:250
#define OPAMP_CTRL0_VBYPASS_MASK
Definition: hpm_opamp_regs.h:84
#define OPAMP_CTRL1_SW_PRESET_MASK
Definition: hpm_opamp_regs.h:136
#define OPAMP_CFG_PRESET0
Definition: hpm_opamp_regs.h:248
#define OPAMP_CFG_CFG0_VIP_SEL_SET(x)
Definition: hpm_opamp_regs.h:184
#define OPAMP_CFG_CFG1_HW_TRIG_EN_MASK
Definition: hpm_opamp_regs.h:194
Definition: hpm_opamp_regs.h:12
__RW uint32_t STATUS
Definition: hpm_opamp_regs.h:14
__RW uint32_t CFG2
Definition: hpm_opamp_regs.h:20
__RW uint32_t CFG0
Definition: hpm_opamp_regs.h:18
__RW uint32_t CTRL1
Definition: hpm_opamp_regs.h:15
__RW uint32_t CFG1
Definition: hpm_opamp_regs.h:19
struct OPAMP_Type::@311 CFG[10]
__RW uint32_t CTRL0
Definition: hpm_opamp_regs.h:13
Definition: hpm_opamp_drv.h:151
opamp_gain_t gain
Definition: hpm_opamp_drv.h:155
bool enable_extern_filter_cap
Definition: hpm_opamp_drv.h:157
opamp_miller_cap_t miller_cap
Definition: hpm_opamp_drv.h:156
opamp_inm_pad_t negative_input_pin
Definition: hpm_opamp_drv.h:153
opamp_inp_pad_t positive_input_pin
Definition: hpm_opamp_drv.h:154
opamp_mode_t mode
Definition: hpm_opamp_drv.h:152
bool enable_phase_margin_cap
Definition: hpm_opamp_drv.h:158
opamp configuration preset0
Definition: hpm_opamp_drv.h:122
uint32_t reserve
Definition: hpm_opamp_drv.h:128
uint32_t cap_select
Definition: hpm_opamp_drv.h:127
uint32_t val
Definition: hpm_opamp_drv.h:130
uint32_t vswitch_select
Definition: hpm_opamp_drv.h:126
uint32_t vim_select
Definition: hpm_opamp_drv.h:125
uint32_t vip_select
Definition: hpm_opamp_drv.h:124
opamp configuration preset1
Definition: hpm_opamp_drv.h:137
uint32_t res_select
Definition: hpm_opamp_drv.h:139
uint32_t hw_trig_en
Definition: hpm_opamp_drv.h:145
uint32_t opaout_select
Definition: hpm_opamp_drv.h:142
uint32_t en_lv
Definition: hpm_opamp_drv.h:144
uint32_t function_mode
Definition: hpm_opamp_drv.h:140
uint32_t val
Definition: hpm_opamp_drv.h:148
uint32_t reserve
Definition: hpm_opamp_drv.h:146
uint32_t iref_select
Definition: hpm_opamp_drv.h:141
uint32_t is_vssa_disconnect
Definition: hpm_opamp_drv.h:143