HPM SDK
HPMicro Software Development Kit
hpm_lobs_drv.h File Reference
#include "hpm_common.h"
#include "hpm_soc_ip_feature.h"
#include "hpm_lobs_regs.h"

Go to the source code of this file.

Data Structures

struct  lobs_ctrl_config_t
 ctrl config structure More...
 
struct  lobs_two_group_mode_config_t
 two group mode config structure More...
 
struct  lobs_state_config_t
 two group mode config structure More...
 
struct  lobs_trace_data_t
 trace data structure More...
 

Macros

#define LOBS_UNLOCK_KEY   0xc5acce55u
 
#define LOBS_PIN_DO(x)   (x * 3)
 
#define LOBS_PIN_OE(x)   (x * 3 + 1)
 
#define LOBS_PIN_DI(x)   (x * 3 + 2)
 

Enumerations

enum  lobs_signal_group_t {
  lobs_signal_group_PA = 0 , lobs_signal_group_PB , lobs_signal_group_PC , lobs_signal_group_PD ,
  lobs_signal_group_PE , lobs_signal_group_PF , lobs_signal_group_PV , lobs_signal_group_PW ,
  lobs_signal_group_PX , lobs_signal_group_PY , lobs_signal_group_PZ
}
 signal group number More...
 
enum  lobs_group_mode_t { lobs_one_group_96_bits = 0 , lobs_two_group_8_bits }
 group mode selection More...
 
enum  lobs_sample_rate_t { lobs_sample_1_per_5 = 4 , lobs_sample_1_per_6 = 5 , lobs_sample_1_per_7 = 6 }
 sample rate selection More...
 
enum  lobs_burst_t { lobs_burst_4 = 3 , lobs_burst_8 = 5 , lobs_burst_16 = 7 }
 burst selection More...
 
enum  lobs_two_group_sel_t { lobs_two_group_1 = 0 , lobs_two_group_2 }
 two group selection More...
 
enum  lobs_state_sel_t {
  lobs_state_0 = 0 , lobs_state_1 , lobs_state_2 , lobs_state_3 ,
  lobs_state_4
}
 state selection More...
 
enum  lobs_cmp_mode_t { lobs_sig_cmp_mode = 0 , lobs_cnt_cmp_mode }
 compare mode More...
 
enum  lobs_state_chg_condition_t {
  lobs_cnt_matched = 0 , lobs_sig_equal_golden , lobs_sig_greater_golden , lobs_sig_greater_equal_golden ,
  lobs_sig_not_equal_golden , lobs_sig_less_golden , lobs_sig_less_equal_golden
}
 compare condition More...
 
enum  lobs_next_state_t {
  lobs_next_state_finish = 0x00 , lobs_next_state_0 = 0x01 , lobs_next_state_1 = 0x02 , lobs_next_state_2 = 0x04 ,
  lobs_next_state_3 = 0x08 , lobs_next_state_4 = 0x10
}
 next state More...
 

Functions

static void lobs_unlock (LOBS_Type *lobs)
 set lobs unlock More...
 
static void lobs_lock (LOBS_Type *lobs)
 set lobs lock More...
 
static void lobs_set_enable (LOBS_Type *lobs, bool enable)
 set lobs enable or disable More...
 
static void lobs_set_pre_trig_enable (LOBS_Type *lobs, bool enable)
 set lobs pre-trig enable or disable More...
 
static void lobs_set_state_enable (LOBS_Type *lobs, lobs_state_sel_t state, bool enable)
 set lobs state enable or disable More...
 
static uint32_t lobs_get_final_address (LOBS_Type *lobs)
 get lobs final address More...
 
static bool lobs_is_trace_finish (LOBS_Type *lobs)
 check lobs trace finish More...
 
static void lobs_clear_fifo_overflow_flag (LOBS_Type *lobs)
 clear lobs fifo overflow flag More...
 
void lobs_deinit (LOBS_Type *lobs)
 lobs deinit More...
 
void lobs_ctrl_config (LOBS_Type *lobs, lobs_ctrl_config_t *config)
 lobs control config More...
 
void lobs_two_group_mode_config (LOBS_Type *lobs, lobs_two_group_sel_t group, lobs_two_group_mode_config_t *config)
 lobs two group mode config More...
 
void lobs_state_config (LOBS_Type *lobs, lobs_state_sel_t state, lobs_state_config_t *config)
 lobs state config More...