Go to the source code of this file.
Functions | |
int32_t | bissc_command_process (struct bissc_priv *priv) |
Send the BiSSC command and wait till firmware acknowledges. More... | |
void | bissc_command_send (struct bissc_priv *priv) |
Trigger sending the BiSSC command in PRU. More... | |
int32_t | bissc_command_wait (struct bissc_priv *priv) |
Wait till PRU finishes BiSSC transaction. More... | |
int32_t | bissc_get_pos (struct bissc_priv *priv) |
Get single cycle BiSS-C position data. More... | |
void | bissc_config_clock (struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg) |
Configure EnDat clock. More... | |
void | bissc_config_channel (struct bissc_priv *priv, int32_t mask, int32_t totalch) |
Select channel to be used by BiSSC master. More... | |
void | bissc_config_load_share (struct bissc_priv *priv, int32_t mask) |
Configure the channels to be used by BiSSC master. More... | |
void | bissc_enable_load_share_mode (struct bissc_priv *priv) |
Enable load share mode for BiSSC master. More... | |
void | bissc_config_primary_core_mask (struct bissc_priv *priv, uint8_t mask) |
Configure the primary core for load share mode. More... | |
int32_t | bissc_wait_for_fw_initialization (struct bissc_priv *priv, uint32_t timeout, uint8_t mask) |
Wait for BiSSC master firmware to initialize. More... | |
void | bissc_hw_init (struct bissc_priv *priv) |
Initialize BiSSC hardware interface. More... | |
struct bissc_priv * | bissc_init (PRUICSS_Handle gPruIcssXHandle, int32_t slice, uint32_t frequency, uint32_t core_clk_freq, uint32_t uart_clk_freq) |
Initialize BiSSC firmware interface address and get the pointer to struct bissc_priv instance. More... | |
void | bissc_update_max_proc_delay (struct bissc_priv *priv) |
Update max processing time and bit index to poll in fifo data. More... | |
int32_t | bissc_wait_measure_proc_delay (struct bissc_priv *priv, uint32_t timeout) |
Wait for BiSSC master firmware to measure processing time. More... | |
void | bissc_set_default_initialization (struct bissc_priv *priv, uint64_t icssgclk) |
Set default configuration parameters for BiSSC Master firmware. More... | |
void | bissc_update_data_len (struct bissc_priv *priv, uint32_t single_turn_len[], uint32_t multi_turn_len[], int32_t num_pru) |
Update data length with encoder bit width for BiSSC Master firmware. More... | |
int32_t | bissc_set_ctrl_cmd_and_process (struct bissc_priv *priv, uint32_t ctrl_cmd[]) |
Set control command and process the ctrl communication read/write. More... | |
void | bissc_config_endat_mode (struct bissc_priv *priv) |
Configure the master for EnDat mode. More... | |
void | bissc_config_clr_cfg0 (struct bissc_priv *priv) |
Clear the channel specific frame size cfg registers. More... | |
void | bissc_get_enc_proc_delay (struct bissc_priv *priv) |
Get measured processing delay of individual channel. More... | |
int32_t | bissc_calc_clock (struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg) |
Calculate Rx and Tx divisors for given frequency. More... | |