Skip to content
Snippets Groups Projects
Unverified Commit 1e7bed01 authored by aluntzer's avatar aluntzer Committed by GitHub
Browse files

Merge pull request #3 from dloidolt/new_model_adr

add function for the updated/new model start address register
parents 6b4ed5da aae6631b
No related branches found
No related tags found
No related merge requests found
......@@ -58,7 +58,7 @@
#define DATA_START_ADDR 0x11000010UL
#define MODEL_START_ADDR 0x11000014UL
#define NUM_SAMPLES 0x11000018UL
/* spare: 0x1100001CUL */
#define NEW_MODEL_START_ADDR 0x1100001CUL
#define COMPR_DATA_BUF_START_ADDR 0x11000020UL
#define COMPR_DATA_BUF_LEN 0x11000024UL
/* spare: 0x11000028UL */
......@@ -136,6 +136,8 @@ int rdcu_write_cmd_adaptive_param2(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_data_start_addr(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_model_start_addr(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_num_samples(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_new_model_start_addr(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_compr_data_buf_start_addr(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_compr_data_buf_len(uint16_t trans_id, uint8_t *cmd);
......
......@@ -52,6 +52,8 @@ struct rdcu_mirror {
uint32_t data_start_addr; /* RDCU-FRS-FN-0812 */
uint32_t model_start_addr; /* RDCU-FRS-FN-0822 */
uint32_t num_samples; /* RDCU-FRS-FN-0832 */
uint32_t new_model_start_addr; /* RDCU-FRS-FN-0842 */
uint32_t compr_data_buf_start_addr; /* RDCU-FRS-FN-0852 */
uint32_t compr_data_buf_len; /* RDCU-FRS-FN-0862 */
uint32_t used_param1; /* RDCU-FRS-FN-0892 */
......@@ -101,6 +103,8 @@ int rdcu_sync_adaptive_param2(void);
int rdcu_sync_data_start_addr(void);
int rdcu_sync_model_start_addr(void);
int rdcu_sync_num_samples(void);
int rdcu_sync_new_model_start_addr(void);
int rdcu_sync_compr_data_buf_start_addr(void);
int rdcu_sync_compr_data_buf_len(void);
int rdcu_sync_used_param1(void);
......@@ -224,6 +228,8 @@ int rdcu_set_model_start_addr(uint32_t addr);
int rdcu_set_num_samples(uint32_t samples);
int rdcu_set_new_model_start_addr(uint32_t addr);
int rdcu_set_compr_data_buf_start_addr(uint32_t addr);
int rdcu_set_compr_data_buf_len(uint32_t samples);
......
......@@ -647,6 +647,22 @@ int rdcu_write_cmd_num_samples(uint16_t trans_id, uint8_t *cmd)
}
/**
* @brief create a command to write the RDCU updated/new model start address register
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int rdcu_write_cmd_new_model_start_addr(uint16_t trans_id, uint8_t *cmd)
{
return rdcu_write_cmd_register_internal(trans_id, cmd, NEW_MODEL_START_ADDR);
}
/**
* @brief create a command to write the RDCU compressed data buffer start
* address register
......
......@@ -1126,6 +1126,26 @@ int rdcu_set_num_samples(uint32_t samples)
}
/**
* @brief set updated_model/new model start address
* @see RDCU-FRS-FN-0842
*
* @returns 0 on success, otherwise error
*/
int rdcu_set_new_model_start_addr(uint32_t addr)
{
if (addr > 0x00FFFFFFUL)
return -1;
/* clear and set */
rdcu->new_model_start_addr &= ~0x00FFFFFFUL;
rdcu->new_model_start_addr |= addr;
return 0;
}
/**
* @brief set compressed data buffer start address
* @see RDCU-FRS-FN-0850
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment