18#define ACMP_CH_POLAR_POS 1U
19#define ACMP_CH_POLAR_NEG 0U
22#define ACMP_SINGLE_CH_SEL(ch, polar, mux) \
23 (((mux & 0x7u) << 6) | ((polar & 0x1u) << 3) | (ch & 0x7u))
25#define ACMP_DIFF_CH_SEL(ch_p, ch_n, mux) \
26 (((mux & 0x7u) << 6) | ((ch_p & 0x7u) << 3) | (ch_n & 0x7u))
SemiDrive Analog Compare (ACMP) driver header file.
struct sdrv_acmp_config sdrv_acmp_config_t
sdrv_acmp_index_t
Definition: sdrv_acmp.h:55
@ ACMP_INDEX_15
Definition: sdrv_acmp.h:71
@ ACMP_INDEX_24
Definition: sdrv_acmp.h:80
@ ACMP_INDEX_31
Definition: sdrv_acmp.h:87
@ ACMP_INDEX_2
Definition: sdrv_acmp.h:58
@ ACMP_INDEX_6
Definition: sdrv_acmp.h:62
@ ACMP_INDEX_27
Definition: sdrv_acmp.h:83
@ ACMP_INDEX_21
Definition: sdrv_acmp.h:77
@ ACMP_INDEX_29
Definition: sdrv_acmp.h:85
@ ACMP_INDEX_22
Definition: sdrv_acmp.h:78
@ ACMP_INDEX_23
Definition: sdrv_acmp.h:79
@ ACMP_INDEX_28
Definition: sdrv_acmp.h:84
@ ACMP_INDEX_5
Definition: sdrv_acmp.h:61
@ ACMP_INDEX_8
Definition: sdrv_acmp.h:64
@ ACMP_INDEX_10
Definition: sdrv_acmp.h:66
@ ACMP_INDEX_30
Definition: sdrv_acmp.h:86
@ ACMP_INDEX_26
Definition: sdrv_acmp.h:82
@ ACMP_INDEX_3
Definition: sdrv_acmp.h:59
@ ACMP_INDEX_11
Definition: sdrv_acmp.h:67
@ ACMP_INDEX_1
Definition: sdrv_acmp.h:57
@ ACMP_INDEX_7
Definition: sdrv_acmp.h:63
@ ACMP_INDEX_16
Definition: sdrv_acmp.h:72
@ ACMP_INDEX_4
Definition: sdrv_acmp.h:60
@ ACMP_INDEX_18
Definition: sdrv_acmp.h:74
@ ACMP_INDEX_0
Definition: sdrv_acmp.h:56
@ ACMP_INDEX_13
Definition: sdrv_acmp.h:69
@ ACMP_INDEX_14
Definition: sdrv_acmp.h:70
@ ACMP_INDEX_20
Definition: sdrv_acmp.h:76
@ ACMP_INDEX_17
Definition: sdrv_acmp.h:73
@ ACMP_INDEX_9
Definition: sdrv_acmp.h:65
@ ACMP_INDEX_19
Definition: sdrv_acmp.h:75
@ ACMP_INDEX_12
Definition: sdrv_acmp.h:68
@ ACMP_INDEX_25
Definition: sdrv_acmp.h:81
status_t sdrv_acmp_power_ctrl(sdrv_acmp_t *dev, bool down)
sdrv acmp power ctrl
status_t sdrv_acmp_enable_low_power(sdrv_acmp_t *dev, bool cmp_en, bool dac_en, uint8_t req_n_dly)
sdrv acmp allows analog competitor and dac enter lowpower mode
struct sdrv_acmp_index_cfg sdrv_acmp_index_cfg_t
sdrv_acmp_sd_sel_t
Definition: sdrv_acmp.h:103
@ ACMP_SEL_DIFF
Definition: sdrv_acmp.h:105
@ ACMP_SEL_SINGLE
Definition: sdrv_acmp.h:104
status_t sdrv_acmp_deinit(sdrv_acmp_t *dev)
sdrv acmp deinit
sdrv_acmp_reg_sel_t
Definition: sdrv_acmp.h:97
@ ACMP_SEL_REFP2
Definition: sdrv_acmp.h:99
@ ACMP_SEL_REFP1
Definition: sdrv_acmp.h:98
struct sdrv_acmp_csel_cfg sdrv_acmp_csel_cfg_t
status_t sdrv_acmp_it_trigger_start(sdrv_acmp_t *dev, uint8_t qstart, uint8_t qend, uint8_t cur_entry_pt, bool trigger_start)
sdrv acmp IT mode trigger start
sdrv_acmp_csel_t
Definition: sdrv_acmp.h:47
@ ACMP_CSEL_1
Definition: sdrv_acmp.h:49
@ ACMP_CSEL_2
Definition: sdrv_acmp.h:50
@ ACMP_CSEL_3
Definition: sdrv_acmp.h:51
@ ACMP_CSEL_0
Definition: sdrv_acmp.h:48
status_t sdrv_acmp_start(sdrv_acmp_t *dev, bool start)
sdrv acmp start
status_t sdrv_acmp_set_callback(sdrv_acmp_t *dev, sdrv_acmp_callback callback)
sdrv acmp set callback
status_t sdrv_acmp_init(sdrv_acmp_t *dev, sdrv_acmp_config_t *acmp_cfg, sdrv_acmp_callback callback)
sdrv acmp init
sdrv_acmp_error
ACMP status error code.
Definition: sdrv_acmp.h:32
@ SDRV_ACMP_STATUS_WRONG_MODE
Definition: sdrv_acmp.h:34
@ SDRV_ACMP_STATUS_INVALID_PARAM
Definition: sdrv_acmp.h:33
sdrv_acmp_mode_t
Definition: sdrv_acmp.h:41
@ ACMP_HT_MODE
Definition: sdrv_acmp.h:42
@ ACMP_IT_MODE
Definition: sdrv_acmp.h:43
struct sdrv_acmp_dev sdrv_acmp_t
status_t sdrv_acmp_it_update_valid_irq(sdrv_acmp_t *dev, uint32_t *state, uint32_t wait_time)
sdrv acmp IT mode update valid irq state
sdrv_acmp_hcfg_t
Definition: sdrv_acmp.h:109
@ ACMP_HCFG_100_mV
Definition: sdrv_acmp.h:112
@ ACMP_HCFG_NO
Definition: sdrv_acmp.h:110
@ ACMP_HCFG_50_mV
Definition: sdrv_acmp.h:111
int(* sdrv_acmp_callback)(struct sdrv_acmp_dev *dev, uint32_t state)
Definition: sdrv_acmp.h:148
sdrv_acmp_pol_adj_t
Definition: sdrv_acmp.h:91
@ ACMP_POL_ADJ_INVERT
Definition: sdrv_acmp.h:93
@ ACMP_POL_ADJ_DIRECTLY
Definition: sdrv_acmp.h:92
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_ACMP
Definition: sdrv_common.h:45
int32_t status_t
Type used for all status and error return values.
Definition: sdrv_common.h:82
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
Definition: sdrv_acmp.h:151
uint8_t csel_num
Definition: sdrv_acmp.h:156
sdrv_acmp_index_cfg_t * index_cfg
Definition: sdrv_acmp.h:157
sdrv_acmp_csel_cfg_t * csel_cfg
Definition: sdrv_acmp.h:155
bool qch_cmp_en
Definition: sdrv_acmp.h:161
uint8_t req_n_dly
Definition: sdrv_acmp.h:159
uint16_t timer_terminal_val
Definition: sdrv_acmp.h:170
sdrv_acmp_mode_t mode
Definition: sdrv_acmp.h:154
uint8_t qend
Definition: sdrv_acmp.h:165
uint8_t qstart
Definition: sdrv_acmp.h:164
uint16_t timer_compare_val
Definition: sdrv_acmp.h:167
paddr_t base
Definition: sdrv_acmp.h:152
bool qch_dac_en
Definition: sdrv_acmp.h:160
uint8_t cur_entry_pt
Definition: sdrv_acmp.h:166
uint8_t index_num
Definition: sdrv_acmp.h:158
int irq
Definition: sdrv_acmp.h:153
Definition: sdrv_acmp.h:116
uint8_t rbw
Definition: sdrv_acmp.h:123
sdrv_acmp_hcfg_t hcfg
Definition: sdrv_acmp.h:134
bool mask_en
Definition: sdrv_acmp.h:127
bool pol_adj
Definition: sdrv_acmp.h:129
sdrv_acmp_reg_sel_t refsel
Definition: sdrv_acmp.h:132
sdrv_acmp_sd_sel_t sdsel
Definition: sdrv_acmp.h:133
uint8_t prop_delay
Definition: sdrv_acmp.h:122
uint8_t amux_setup
Definition: sdrv_acmp.h:119
sdrv_acmp_csel_t csel_idx
Definition: sdrv_acmp.h:117
uint8_t fbw
Definition: sdrv_acmp.h:124
uint8_t dain
Definition: sdrv_acmp.h:135
bool sample_en
Definition: sdrv_acmp.h:125
bool sync_en
Definition: sdrv_acmp.h:130
Definition: sdrv_acmp.h:176
sdrv_acmp_callback callback
Definition: sdrv_acmp.h:179
void * priv
Definition: sdrv_acmp.h:180
paddr_t base
Definition: sdrv_acmp.h:177
int irq
Definition: sdrv_acmp.h:178
Definition: sdrv_acmp.h:139
uint16_t amsel
Definition: sdrv_acmp.h:141
bool ie
Definition: sdrv_acmp.h:143
sdrv_acmp_index_t idx
Definition: sdrv_acmp.h:140
bool uie
Definition: sdrv_acmp.h:144
uint8_t csel
Definition: sdrv_acmp.h:142