13 #include "hpm_soc_feature.h"
136 #define SEI_SELECT_CMD true
137 #define SEI_SELECT_DATA false
142 #define SEI_INSTR_OP_HALT 0u
143 #define SEI_INSTR_OP_JUMP 1u
144 #define SEI_INSTR_OP_SEND_WDG 2u
145 #define SEI_INSTR_OP_SEND 3u
146 #define SEI_INSTR_OP_WAIT_WDG 4u
147 #define SEI_INSTR_OP_WAIT 5u
148 #define SEI_INSTR_OP_RECV_WDG 6u
149 #define SEI_INSTR_OP_RECV 7u
154 #define SEI_INSTR_M_CK_LOW 0u
155 #define SEI_INSTR_M_CK_RISE_FALL 1u
156 #define SEI_INSTR_M_CK_FALL_RISE 2u
157 #define SEI_INSTR_M_CK_HIGH 3u
162 #define SEI_INSTR_S_CK_DEFAULT 0u
163 #define SEI_INSTR_S_CK_TRX_EXCH 1u
164 #define SEI_INSTR_S_CK_TIMEOUT_EN 2u
165 #define SEI_INSTR_S_CK_TRX_EXCH_TIMEOUT_EN 3u
170 #define SEI_JUMP_INIT_INSTR_IDX 0x00u
171 #define SEI_JUMP_WDG_INSTR_IDX 0x01u
172 #define SEI_JUMP_CMD_TABLE_INSTR_IDX0 0x10u
173 #define SEI_JUMP_CMD_TABLE_INSTR_IDX1 0x11u
174 #define SEI_JUMP_CMD_TABLE_INSTR_IDX2 0x12u
175 #define SEI_JUMP_CMD_TABLE_INSTR_IDX3 0x13u
176 #define SEI_JUMP_CMD_TABLE_INSTR_IDX4 0x14u
177 #define SEI_JUMP_CMD_TABLE_INSTR_IDX5 0x15u
178 #define SEI_JUMP_CMD_TABLE_INSTR_IDX6 0x16u
179 #define SEI_JUMP_CMD_TABLE_INSTR_IDX7 0x17u
180 #define SEI_JUMP_CMD_TABLE_INSTR_IDX8 0x18u
181 #define SEI_JUMP_CMD_TABLE_INSTR_IDX9 0x19u
182 #define SEI_JUMP_CMD_TABLE_INSTR_IDX10 0x1Au
183 #define SEI_JUMP_CMD_TABLE_INSTR_IDX11 0x1Bu
184 #define SEI_JUMP_CMD_TABLE_INSTR_IDX12 0x1Cu
185 #define SEI_JUMP_CMD_TABLE_INSTR_IDX13 0x1Du
186 #define SEI_JUMP_CMD_TABLE_INSTR_IDX14 0x1Eu
187 #define SEI_JUMP_CMD_TABLE_INSTR_IDX15 0x1Fu
304 uint8_t instr_idx[16];
370 #if defined(__cplusplus)
473 ptr->
CTRL[idx].TRG_TABLE.CMD[type] = data;
485 return ptr->
CTRL[idx].TRG_TABLE.TIME[type];
501 return ptr->
CTRL[idx].LATCH[latch_idx].TIME;
515 tmp = ptr->
CTRL[idx].XCVR.DATA_CFG;
518 ptr->
CTRL[idx].XCVR.DATA_CFG = tmp;
532 tmp = ptr->
CTRL[idx].XCVR.DATA_CFG;
535 ptr->
CTRL[idx].XCVR.DATA_CFG = tmp;
549 tmp = ptr->
CTRL[idx].XCVR.CLK_CFG;
552 ptr->
CTRL[idx].XCVR.CLK_CFG = tmp;
566 tmp = ptr->
CTRL[idx].XCVR.CLK_CFG;
569 ptr->
CTRL[idx].XCVR.CLK_CFG = tmp;
602 ptr->
CTRL[idx].CMD.CMD = cmd;
613 return ptr->
CTRL[idx].CMD.CMD;
666 ptr->
CTRL[idx].POS.SMP_POS = data;
677 ptr->
CTRL[idx].POS.SMP_REV = data;
688 ptr->
CTRL[idx].POS.SMP_SPD = data;
699 ptr->
CTRL[idx].POS.SMP_ACC = data;
710 ptr->
CTRL[idx].POS.UPD_POS = data;
721 ptr->
CTRL[idx].POS.UPD_REV = data;
732 ptr->
CTRL[idx].POS.UPD_SPD = data;
743 ptr->
CTRL[idx].POS.UPD_ACC = data;
754 ptr->
CTRL[idx].POS.UPD_TIME = data;
813 ptr->
CTRL[idx].IRQ.INT_EN |= irq_mask;
815 ptr->
CTRL[idx].IRQ.INT_EN &= ~irq_mask;
829 return ((ptr->
CTRL[idx].IRQ.INT_FLAG & irq_mask) == irq_mask) ? true :
false;
840 ptr->
CTRL[idx].IRQ.INT_FLAG = irq_mask;
1001 void sei_set_instr(
SEI_Type *ptr, uint8_t idx, uint8_t op, uint8_t ck, uint8_t crc, uint8_t data, uint8_t opr);
1004 #if defined(__cplusplus)
uint32_t hpm_stat_t
Definition: hpm_common.h:119
hpm_stat_t sei_state_transition_latch_config_init(SEI_Type *ptr, uint8_t idx, uint8_t latch_idx, sei_state_transition_latch_config_t *config)
Init SEI state transition latch configuration.
Definition: hpm_sei_drv.c:232
sei_irq_event_t
sei irq event
Definition: hpm_sei_drv.h:104
@ sei_irq_trx_err_event
Definition: hpm_sei_drv.h:116
@ sei_irq_trig3_err_event
Definition: hpm_sei_drv.h:130
@ sei_irq_execpt_event
Definition: hpm_sei_drv.h:106
@ sei_irq_latch2_event
Definition: hpm_sei_drv.h:120
@ sei_irq_latch1_event
Definition: hpm_sei_drv.h:119
@ sei_irq_latch3_event
Definition: hpm_sei_drv.h:121
@ sei_irq_instr_ptr0_start_event
Definition: hpm_sei_drv.h:108
@ sei_irq_instr_ptr1_end_event
Definition: hpm_sei_drv.h:113
@ sei_irq_trig2_err_event
Definition: hpm_sei_drv.h:129
@ sei_irq_wdog_event
Definition: hpm_sei_drv.h:107
@ sei_irq_timeout_event
Definition: hpm_sei_drv.h:117
@ sei_irq_sample_err_event
Definition: hpm_sei_drv.h:122
@ sei_irq_trig2_event
Definition: hpm_sei_drv.h:125
@ sei_irq_instr_value1_start_event
Definition: hpm_sei_drv.h:111
@ sei_irq_instr_ptr0_end_event
Definition: hpm_sei_drv.h:112
@ sei_irq_trig3_event
Definition: hpm_sei_drv.h:126
@ sei_irq_trig1_event
Definition: hpm_sei_drv.h:124
@ sei_irq_trig1_err_event
Definition: hpm_sei_drv.h:128
@ sei_irq_latch0_event
Definition: hpm_sei_drv.h:118
@ sei_irq_instr_value0_start_event
Definition: hpm_sei_drv.h:110
@ sei_irq_instr_value1_end_event
Definition: hpm_sei_drv.h:115
@ sei_irq_instr_ptr1_start_event
Definition: hpm_sei_drv.h:109
@ sei_irq_stall_event
Definition: hpm_sei_drv.h:105
@ sei_irq_instr_value0_end_event
Definition: hpm_sei_drv.h:114
@ sei_irq_trig0_event
Definition: hpm_sei_drv.h:123
@ sei_irq_trig0_err_event
Definition: hpm_sei_drv.h:127
static uint32_t sei_get_data_value(SEI_Type *ptr, uint8_t idx)
Get the SEI data value.
Definition: hpm_sei_drv.h:643
sei_data_mode_t
sei data mode
Definition: hpm_sei_drv.h:59
@ sei_data_mode
Definition: hpm_sei_drv.h:60
@ sei_crc_mode
Definition: hpm_sei_drv.h:62
@ sei_check_mode
Definition: hpm_sei_drv.h:61
static void sei_set_command_value(SEI_Type *ptr, uint8_t idx, uint32_t cmd)
Set the SEI command value.
Definition: hpm_sei_drv.h:600
hpm_stat_t sei_sample_config_init(SEI_Type *ptr, uint8_t idx, sei_sample_config_t *config)
Init SEI sample configuration.
Definition: hpm_sei_drv.c:244
hpm_stat_t sei_engine_config_init(SEI_Type *ptr, uint8_t idx, sei_engine_config_t *config)
Init SEI engine configuration.
Definition: hpm_sei_drv.c:343
static void sei_set_sample_rev_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI sample revolution (multiturn) override value.
Definition: hpm_sei_drv.h:675
static bool sei_get_irq_status(SEI_Type *ptr, uint8_t idx, uint32_t irq_mask)
Get the SEI irq status.
Definition: hpm_sei_drv.h:827
sei_state_tran_condition_t
sei state transition condition
Definition: hpm_sei_drv.h:84
@ sei_state_tran_condition_low_dismatch
Definition: hpm_sei_drv.h:86
@ sei_state_tran_condition_high_match
Definition: hpm_sei_drv.h:85
@ sei_state_tran_condition_rise_entry
Definition: hpm_sei_drv.h:87
@ sei_state_tran_condition_fall_leave
Definition: hpm_sei_drv.h:88
static void sei_set_xcvr_rx_point(SEI_Type *ptr, uint8_t idx, uint16_t point)
Set the SEI tranceiver rx point.
Definition: hpm_sei_drv.h:510
static void sei_set_irq_match_instr0_ptr(SEI_Type *ptr, uint8_t idx, uint8_t instr_idx)
Set the SEI irq match pointer0.
Definition: hpm_sei_drv.h:763
static uint16_t sei_get_xcvr_ck0_point(SEI_Type *ptr, uint8_t idx)
Get the SEI tranceiver ck0 point.
Definition: hpm_sei_drv.h:578
static void sei_set_engine_rewind(SEI_Type *ptr, uint8_t idx)
Rewind the SEI engine.
Definition: hpm_sei_drv.h:396
void sei_set_instr(SEI_Type *ptr, uint8_t idx, uint8_t op, uint8_t ck, uint8_t crc, uint8_t data, uint8_t opr)
Set SEI Intsructions.
Definition: hpm_sei_drv.c:363
static void sei_set_update_rev_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI update revolution (multiturn) override value.
Definition: hpm_sei_drv.h:719
sei_data_bit_order_t
sei data bit order
Definition: hpm_sei_drv.h:68
@ sei_bit_lsb_first
Definition: hpm_sei_drv.h:69
@ sei_bit_msb_first
Definition: hpm_sei_drv.h:70
static void sei_clear_irq_flag(SEI_Type *ptr, uint8_t idx, uint32_t irq_mask)
Clear the SEI irq flag.
Definition: hpm_sei_drv.h:838
static void sei_set_xcvr_ck0_point(SEI_Type *ptr, uint8_t idx, uint16_t point)
Set the SEI tranceiver ck0 point.
Definition: hpm_sei_drv.h:544
static void sei_set_sample_pos_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI sample position (singleturn) override value.
Definition: hpm_sei_drv.h:664
sei_arming_mode_t
sei arming action
Definition: hpm_sei_drv.h:18
@ sei_arming_direct_exec
Definition: hpm_sei_drv.h:19
@ sei_arming_wait_trigger
Definition: hpm_sei_drv.h:20
static void sei_set_irq_match_instr0_value(SEI_Type *ptr, uint8_t idx, uint32_t instr_value)
Set the SEI irq match instr0.
Definition: hpm_sei_drv.h:785
hpm_stat_t sei_trigger_input_config_init(SEI_Type *ptr, uint8_t idx, sei_trigger_input_config_t *config)
Init SEI trigger input configuration.
Definition: hpm_sei_drv.c:292
sei_idle_state_t
sei ilde state
Definition: hpm_sei_drv.h:51
@ sei_idle_high_state
Definition: hpm_sei_drv.h:53
@ sei_idle_low_state
Definition: hpm_sei_drv.h:52
static void sei_set_sample_spd_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI sample speed override value.
Definition: hpm_sei_drv.h:686
sei_tranceiver_mode_t
sei transfer mode
Definition: hpm_sei_drv.h:34
@ sei_synchronous_master_mode
Definition: hpm_sei_drv.h:35
@ sei_synchronous_slave_mode
Definition: hpm_sei_drv.h:36
@ sei_asynchronous_mode
Definition: hpm_sei_drv.h:37
static void sei_set_command_rewind(SEI_Type *ptr, uint8_t idx)
Rewind the SEI command.
Definition: hpm_sei_drv.h:621
static void sei_set_trig_input_in0_enable(SEI_Type *ptr, uint8_t idx, bool enable)
Set the SEI trigger input trig in0 enable or disable.
Definition: hpm_sei_drv.h:409
static void sei_set_xcvr_ck1_point(SEI_Type *ptr, uint8_t idx, uint16_t point)
Set the SEI tranceiver ck1 point.
Definition: hpm_sei_drv.h:561
static void sei_set_data_rewind(SEI_Type *ptr, uint8_t idx)
Rewind the SEI data.
Definition: hpm_sei_drv.h:653
sei_wdg_action_t
sei watchdog action
Definition: hpm_sei_drv.h:26
@ sei_wdg_exec_exception_instr
Definition: hpm_sei_drv.h:28
@ sei_wdg_exec_next_instr
Definition: hpm_sei_drv.h:27
hpm_stat_t sei_cmd_table_config_init(SEI_Type *ptr, uint8_t idx, uint8_t table_idx, sei_command_table_config_t *config)
Init SEI command table configuration.
Definition: hpm_sei_drv.c:174
static void sei_set_xcvr_tx_point(SEI_Type *ptr, uint8_t idx, uint16_t point)
Set the SEI tranceiver tx point.
Definition: hpm_sei_drv.h:527
static uint32_t sei_get_trig_input_time(SEI_Type *ptr, uint8_t idx, sei_trig_in_type_t type)
Get the SEI trigger input time.
Definition: hpm_sei_drv.h:483
static void sei_set_data_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI data value.
Definition: hpm_sei_drv.h:632
static void sei_set_irq_match_instr1_ptr(SEI_Type *ptr, uint8_t idx, uint8_t instr_idx)
Set the SEI irq match pointer1.
Definition: hpm_sei_drv.h:774
static void sei_set_update_time_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI update time override value.
Definition: hpm_sei_drv.h:752
static void sei_set_irq_match_instr1_value(SEI_Type *ptr, uint8_t idx, uint32_t instr_value)
Set the SEI irq match instr1.
Definition: hpm_sei_drv.h:796
hpm_stat_t sei_trigger_output_config_init(SEI_Type *ptr, uint8_t idx, sei_trigger_output_config_t *config)
Init SEI trigger output configuration.
Definition: hpm_sei_drv.c:318
static void sei_set_trig_input_command_value(SEI_Type *ptr, uint8_t idx, sei_trig_in_type_t type, uint32_t data)
Set the SEI trigger input command value.
Definition: hpm_sei_drv.h:471
static void sei_set_update_spd_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI update speed override value.
Definition: hpm_sei_drv.h:730
static uint32_t sei_get_latch_time(SEI_Type *ptr, uint8_t idx, uint8_t latch_idx)
Get the SEI latch time.
Definition: hpm_sei_drv.h:499
static uint32_t sei_get_command_value(SEI_Type *ptr, uint8_t idx)
Get the SEI command value.
Definition: hpm_sei_drv.h:611
hpm_stat_t sei_state_transition_config_init(SEI_Type *ptr, uint8_t idx, uint8_t latch_idx, uint8_t state, sei_state_transition_config_t *config)
Init SEI state transition configuration.
Definition: hpm_sei_drv.c:214
static void sei_set_sample_acc_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI sample acceleration override value.
Definition: hpm_sei_drv.h:697
hpm_stat_t sei_cmd_data_format_config_init(SEI_Type *ptr, bool cmd_data_select, uint8_t idx, sei_data_format_config_t *config)
Init SEI command or data format configuration.
Definition: hpm_sei_drv.c:106
static void sei_set_trig_input_soft_enable(SEI_Type *ptr, uint8_t idx)
Set the SEI trigger input soft enable or disable.
Definition: hpm_sei_drv.h:459
static uint16_t sei_get_xcvr_ck1_point(SEI_Type *ptr, uint8_t idx)
Get the SEI tranceiver ck1 point.
Definition: hpm_sei_drv.h:589
sei_trig_in_type_t
sei trig in type
Definition: hpm_sei_drv.h:94
@ sei_trig_in_soft
Definition: hpm_sei_drv.h:98
@ sei_trig_in_period
Definition: hpm_sei_drv.h:97
@ sei_trig_in1
Definition: hpm_sei_drv.h:96
@ sei_trig_in0
Definition: hpm_sei_drv.h:95
static void sei_set_trig_input_in1_enable(SEI_Type *ptr, uint8_t idx, bool enable)
Set the SEI trigger input trig in1 enable or disable.
Definition: hpm_sei_drv.h:426
hpm_stat_t sei_tranceiver_config_init(SEI_Type *ptr, uint8_t idx, sei_tranceiver_config_t *config)
Init SEI tranceiver configuration.
Definition: hpm_sei_drv.c:10
static void sei_set_trig_input_period_enable(SEI_Type *ptr, uint8_t idx, bool enable)
Set the SEI trigger input period enable or disable.
Definition: hpm_sei_drv.h:443
static void sei_set_update_acc_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI update acceleration override value.
Definition: hpm_sei_drv.h:741
sei_data_word_order_t
sei data word order
Definition: hpm_sei_drv.h:76
@ sei_word_reverse
Definition: hpm_sei_drv.h:78
@ sei_word_nonreverse
Definition: hpm_sei_drv.h:77
hpm_stat_t sei_update_config_init(SEI_Type *ptr, uint8_t idx, sei_update_config_t *config)
Init SEI update configuration.
Definition: hpm_sei_drv.c:268
static void sei_set_irq_enable(SEI_Type *ptr, uint8_t idx, uint32_t irq_mask, bool enable)
Set the SEI irq enable or disable.
Definition: hpm_sei_drv.h:810
sei_asynchronous_parity_t
sei asynchronous mode parity
Definition: hpm_sei_drv.h:43
@ sei_asynchronous_parity_odd
Definition: hpm_sei_drv.h:45
@ sei_asynchronous_parity_even
Definition: hpm_sei_drv.h:44
static void sei_set_engine_enable(SEI_Type *ptr, uint8_t idx, bool enable)
Set the SEI engine enable or disable.
Definition: hpm_sei_drv.h:382
static void sei_set_update_pos_override_value(SEI_Type *ptr, uint8_t idx, uint32_t data)
Set the SEI update position (singleturn) override value.
Definition: hpm_sei_drv.h:708
#define SEI_CTRL_IRQ_INT_FLAG_TRX_ERR_MASK
Definition: hpm_sei_regs.h:2523
#define SEI_CTRL_XCVR_CLK_CFG_CK0_POINT_MASK
Definition: hpm_sei_regs.h:574
#define SEI_CTRL_CMD_MODE_REWIND_MASK
Definition: hpm_sei_regs.h:1074
#define SEI_CTRL_XCVR_DATA_CFG_RXD_POINT_SET(x)
Definition: hpm_sei_regs.h:555
#define SEI_CTRL_IRQ_INT_FLAG_LATCH2_MASK
Definition: hpm_sei_regs.h:2483
#define SEI_CTRL_IRQ_INT_FLAG_LATCH1_MASK
Definition: hpm_sei_regs.h:2493
#define SEI_CTRL_IRQ_INT_FLAG_PTR0_ST_MASK
Definition: hpm_sei_regs.h:2603
#define SEI_CTRL_IRQ_INSTR1_INSTR_SET(x)
Definition: hpm_sei_regs.h:2914
#define SEI_CTRL_IRQ_POINTER0_POINTER_SET(x)
Definition: hpm_sei_regs.h:2881
#define SEI_CTRL_IRQ_INT_FLAG_TRIGER1_MASK
Definition: hpm_sei_regs.h:2443
#define SEI_CTRL_XCVR_DATA_CFG_TXD_POINT_SET(x)
Definition: hpm_sei_regs.h:545
#define SEI_CTRL_ENGINE_CTRL_ENABLE_MASK
Definition: hpm_sei_regs.h:201
#define SEI_CTRL_TRG_IN_CFG_IN0_EN_MASK
Definition: hpm_sei_regs.h:791
#define SEI_CTRL_IRQ_INT_FLAG_TRG_ERR2_MASK
Definition: hpm_sei_regs.h:2393
#define SEI_CTRL_IRQ_INT_FLAG_PTR1_ST_MASK
Definition: hpm_sei_regs.h:2593
#define SEI_CTRL_IRQ_INT_FLAG_PTR0_END_MASK
Definition: hpm_sei_regs.h:2563
#define SEI_CTRL_IRQ_INT_FLAG_SMP_ERR_MASK
Definition: hpm_sei_regs.h:2463
#define SEI_DAT_MODE_REWIND_MASK
Definition: hpm_sei_regs.h:3099
#define SEI_CTRL_IRQ_INT_FLAG_INSTR1_END_MASK
Definition: hpm_sei_regs.h:2533
#define SEI_CTRL_IRQ_INT_FLAG_TRIGER0_MASK
Definition: hpm_sei_regs.h:2453
#define SEI_CTRL_IRQ_INT_FLAG_TIMEOUT_MASK
Definition: hpm_sei_regs.h:2513
#define SEI_CTRL_IRQ_POINTER1_POINTER_SET(x)
Definition: hpm_sei_regs.h:2892
#define SEI_CTRL_IRQ_INT_FLAG_STALL_MASK
Definition: hpm_sei_regs.h:2633
#define SEI_CTRL_IRQ_INT_FLAG_WDOG_MASK
Definition: hpm_sei_regs.h:2613
#define SEI_CTRL_IRQ_INT_FLAG_TRG_ERR1_MASK
Definition: hpm_sei_regs.h:2403
#define SEI_CTRL_IRQ_INT_FLAG_INSTR0_ST_MASK
Definition: hpm_sei_regs.h:2583
#define SEI_CTRL_IRQ_INT_FLAG_PTR1_END_MASK
Definition: hpm_sei_regs.h:2553
#define SEI_CTRL_IRQ_INSTR0_INSTR_SET(x)
Definition: hpm_sei_regs.h:2903
#define SEI_CTRL_ENGINE_CTRL_REWIND_MASK
Definition: hpm_sei_regs.h:189
#define SEI_CTRL_XCVR_CLK_CFG_CK1_POINT_GET(x)
Definition: hpm_sei_regs.h:567
#define SEI_CTRL_XCVR_DATA_CFG_RXD_POINT_MASK
Definition: hpm_sei_regs.h:553
#define SEI_CTRL_XCVR_DATA_CFG_TXD_POINT_MASK
Definition: hpm_sei_regs.h:543
#define SEI_CTRL_IRQ_INT_FLAG_EXECPT_MASK
Definition: hpm_sei_regs.h:2623
#define SEI_CTRL_IRQ_INT_FLAG_INSTR1_ST_MASK
Definition: hpm_sei_regs.h:2573
#define SEI_CTRL_XCVR_CLK_CFG_CK0_POINT_GET(x)
Definition: hpm_sei_regs.h:577
#define SEI_CTRL_XCVR_CLK_CFG_CK0_POINT_SET(x)
Definition: hpm_sei_regs.h:576
#define SEI_CTRL_TRG_IN_CFG_IN1_EN_MASK
Definition: hpm_sei_regs.h:765
#define SEI_CTRL_IRQ_INT_FLAG_LATCH3_MASK
Definition: hpm_sei_regs.h:2473
#define SEI_CTRL_IRQ_INT_FLAG_TRIGER3_MASK
Definition: hpm_sei_regs.h:2423
#define SEI_CTRL_IRQ_INT_FLAG_INSTR0_END_MASK
Definition: hpm_sei_regs.h:2543
#define SEI_CTRL_TRG_IN_CFG_PRD_EN_MASK
Definition: hpm_sei_regs.h:739
#define SEI_CTRL_XCVR_CLK_CFG_CK1_POINT_SET(x)
Definition: hpm_sei_regs.h:566
#define SEI_CTRL_TRG_SW_SOFT_MASK
Definition: hpm_sei_regs.h:818
#define SEI_CTRL_IRQ_INT_FLAG_TRG_ERR0_MASK
Definition: hpm_sei_regs.h:2413
#define SEI_CTRL_IRQ_INT_FLAG_TRIGER2_MASK
Definition: hpm_sei_regs.h:2433
#define SEI_CTRL_IRQ_INT_FLAG_TRG_ERR3_MASK
Definition: hpm_sei_regs.h:2383
#define SEI_CTRL_IRQ_INT_FLAG_LATCH0_MASK
Definition: hpm_sei_regs.h:2503
#define SEI_CTRL_XCVR_CLK_CFG_CK1_POINT_MASK
Definition: hpm_sei_regs.h:564
Definition: hpm_sei_regs.h:12
__RW uint32_t CTRL
Definition: hpm_sei_regs.h:15
__RW uint32_t DATA
Definition: hpm_sei_regs.h:133
struct SEI_Type::@450 DAT[32]
__RW uint32_t MODE
Definition: hpm_sei_regs.h:52
sei command table config structure
Definition: hpm_sei_drv.h:300
uint32_t cmd_min_value
Definition: hpm_sei_drv.h:301
uint32_t cmd_mask_value
Definition: hpm_sei_drv.h:303
uint32_t cmd_max_value
Definition: hpm_sei_drv.h:302
sei engine config structure
Definition: hpm_sei_drv.h:192
bool wdg_enable
Definition: hpm_sei_drv.h:197
sei_arming_mode_t arming_mode
Definition: hpm_sei_drv.h:193
uint8_t data_cdm_idx
Definition: hpm_sei_drv.h:194
uint8_t data_base_idx
Definition: hpm_sei_drv.h:195
uint8_t wdg_instr_idx
Definition: hpm_sei_drv.h:199
uint16_t wdg_time
Definition: hpm_sei_drv.h:200
sei_wdg_action_t wdg_action
Definition: hpm_sei_drv.h:198
uint8_t init_instr_idx
Definition: hpm_sei_drv.h:196
sei sample config structure
Definition: hpm_sei_drv.h:336
uint32_t data_register_select
Definition: hpm_sei_drv.h:348
uint8_t spd_data_idx
Definition: hpm_sei_drv.h:338
bool pos_data_use_rx
Definition: hpm_sei_drv.h:344
uint16_t sample_window
Definition: hpm_sei_drv.h:347
bool spd_data_use_rx
Definition: hpm_sei_drv.h:342
uint8_t latch_select
Definition: hpm_sei_drv.h:345
uint8_t acc_data_idx
Definition: hpm_sei_drv.h:337
bool acc_data_use_rx
Definition: hpm_sei_drv.h:341
uint8_t rev_data_idx
Definition: hpm_sei_drv.h:339
bool rev_data_use_rx
Definition: hpm_sei_drv.h:343
bool sample_once
Definition: hpm_sei_drv.h:346
uint8_t pos_data_idx
Definition: hpm_sei_drv.h:340
sei state transition config structure
Definition: hpm_sei_drv.h:310
uint8_t instr_ptr_value
Definition: hpm_sei_drv.h:313
sei_state_tran_condition_t txd_cfg
Definition: hpm_sei_drv.h:317
sei_state_tran_condition_t timeout_cfg
Definition: hpm_sei_drv.h:321
sei_state_tran_condition_t clk_cfg
Definition: hpm_sei_drv.h:315
bool disable_rxd_check
Definition: hpm_sei_drv.h:318
sei_state_tran_condition_t rxd_cfg
Definition: hpm_sei_drv.h:319
bool disable_clk_check
Definition: hpm_sei_drv.h:314
bool disable_txd_check
Definition: hpm_sei_drv.h:316
bool disable_timeout_check
Definition: hpm_sei_drv.h:320
sei_state_tran_condition_t instr_ptr_cfg
Definition: hpm_sei_drv.h:312
bool disable_instr_ptr_check
Definition: hpm_sei_drv.h:311
sei state transition latch config structure
Definition: hpm_sei_drv.h:327
uint16_t delay
Definition: hpm_sei_drv.h:330
uint8_t output_select
Definition: hpm_sei_drv.h:329
bool enable
Definition: hpm_sei_drv.h:328
sei tranceiver asynchronous mode config structure
Definition: hpm_sei_drv.h:230
sei_asynchronous_parity_t parity
Definition: hpm_sei_drv.h:234
uint8_t data_len
Definition: hpm_sei_drv.h:232
uint32_t baudrate
Definition: hpm_sei_drv.h:237
sei_idle_state_t data_idle_state
Definition: hpm_sei_drv.h:236
uint8_t wait_len
Definition: hpm_sei_drv.h:231
bool parity_enable
Definition: hpm_sei_drv.h:233
bool data_idle_high_z
Definition: hpm_sei_drv.h:235
sei tranceiver config structure
Definition: hpm_sei_drv.h:243
sei_tranceiver_synchronous_slave_config_t synchronous_slave_config
Definition: hpm_sei_drv.h:248
sei_tranceiver_mode_t mode
Definition: hpm_sei_drv.h:244
uint32_t src_clk_freq
Definition: hpm_sei_drv.h:246
sei_tranceiver_asynchronous_config_t asynchronous_config
Definition: hpm_sei_drv.h:249
bool tri_sample
Definition: hpm_sei_drv.h:245
sei_tranceiver_synchronous_master_config_t synchronous_master_config
Definition: hpm_sei_drv.h:247
sei tranceiver synchronous master mode config structure
Definition: hpm_sei_drv.h:206
bool clock_idle_high_z
Definition: hpm_sei_drv.h:209
sei_idle_state_t data_idle_state
Definition: hpm_sei_drv.h:208
bool data_idle_high_z
Definition: hpm_sei_drv.h:207
sei_idle_state_t clock_idle_state
Definition: hpm_sei_drv.h:210
uint32_t baudrate
Definition: hpm_sei_drv.h:211
sei tranceiver synchronous master mode config structure
Definition: hpm_sei_drv.h:217
uint16_t ck1_timeout_us
Definition: hpm_sei_drv.h:224
bool clock_idle_high_z
Definition: hpm_sei_drv.h:220
sei_idle_state_t clock_idle_state
Definition: hpm_sei_drv.h:221
bool data_idle_high_z
Definition: hpm_sei_drv.h:218
uint32_t max_baudrate
Definition: hpm_sei_drv.h:222
sei_idle_state_t data_idle_state
Definition: hpm_sei_drv.h:219
uint16_t ck0_timeout_us
Definition: hpm_sei_drv.h:223
sei trigger output config structure
Definition: hpm_sei_drv.h:270
bool trig_out_enable
Definition: hpm_sei_drv.h:272
uint8_t src_latch_select
Definition: hpm_sei_drv.h:271
uint8_t trig_out_select
Definition: hpm_sei_drv.h:273
sei update config structure
Definition: hpm_sei_drv.h:354
bool pos_data_use_rx
Definition: hpm_sei_drv.h:362
bool acc_data_use_rx
Definition: hpm_sei_drv.h:359
bool rev_data_use_rx
Definition: hpm_sei_drv.h:361
uint8_t spd_data_idx
Definition: hpm_sei_drv.h:356
bool time_use_override
Definition: hpm_sei_drv.h:363
uint8_t latch_select
Definition: hpm_sei_drv.h:365
bool update_on_err
Definition: hpm_sei_drv.h:364
uint32_t data_register_select
Definition: hpm_sei_drv.h:366
uint8_t acc_data_idx
Definition: hpm_sei_drv.h:355
uint8_t rev_data_idx
Definition: hpm_sei_drv.h:357
bool spd_data_use_rx
Definition: hpm_sei_drv.h:360
uint8_t pos_data_idx
Definition: hpm_sei_drv.h:358