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 @@ ...@@ -58,7 +58,7 @@
#define DATA_START_ADDR 0x11000010UL #define DATA_START_ADDR 0x11000010UL
#define MODEL_START_ADDR 0x11000014UL #define MODEL_START_ADDR 0x11000014UL
#define NUM_SAMPLES 0x11000018UL #define NUM_SAMPLES 0x11000018UL
/* spare: 0x1100001CUL */ #define NEW_MODEL_START_ADDR 0x1100001CUL
#define COMPR_DATA_BUF_START_ADDR 0x11000020UL #define COMPR_DATA_BUF_START_ADDR 0x11000020UL
#define COMPR_DATA_BUF_LEN 0x11000024UL #define COMPR_DATA_BUF_LEN 0x11000024UL
/* spare: 0x11000028UL */ /* spare: 0x11000028UL */
...@@ -136,6 +136,8 @@ int rdcu_write_cmd_adaptive_param2(uint16_t trans_id, uint8_t *cmd); ...@@ -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_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_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_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_start_addr(uint16_t trans_id, uint8_t *cmd);
int rdcu_write_cmd_compr_data_buf_len(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 { ...@@ -52,6 +52,8 @@ struct rdcu_mirror {
uint32_t data_start_addr; /* RDCU-FRS-FN-0812 */ uint32_t data_start_addr; /* RDCU-FRS-FN-0812 */
uint32_t model_start_addr; /* RDCU-FRS-FN-0822 */ uint32_t model_start_addr; /* RDCU-FRS-FN-0822 */
uint32_t num_samples; /* RDCU-FRS-FN-0832 */ 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_start_addr; /* RDCU-FRS-FN-0852 */
uint32_t compr_data_buf_len; /* RDCU-FRS-FN-0862 */ uint32_t compr_data_buf_len; /* RDCU-FRS-FN-0862 */
uint32_t used_param1; /* RDCU-FRS-FN-0892 */ uint32_t used_param1; /* RDCU-FRS-FN-0892 */
...@@ -101,6 +103,8 @@ int rdcu_sync_adaptive_param2(void); ...@@ -101,6 +103,8 @@ int rdcu_sync_adaptive_param2(void);
int rdcu_sync_data_start_addr(void); int rdcu_sync_data_start_addr(void);
int rdcu_sync_model_start_addr(void); int rdcu_sync_model_start_addr(void);
int rdcu_sync_num_samples(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_start_addr(void);
int rdcu_sync_compr_data_buf_len(void); int rdcu_sync_compr_data_buf_len(void);
int rdcu_sync_used_param1(void); int rdcu_sync_used_param1(void);
...@@ -224,6 +228,8 @@ int rdcu_set_model_start_addr(uint32_t addr); ...@@ -224,6 +228,8 @@ int rdcu_set_model_start_addr(uint32_t addr);
int rdcu_set_num_samples(uint32_t samples); 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_start_addr(uint32_t addr);
int rdcu_set_compr_data_buf_len(uint32_t samples); 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) ...@@ -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 * @brief create a command to write the RDCU compressed data buffer start
* address register * address register
......
...@@ -1126,6 +1126,26 @@ int rdcu_set_num_samples(uint32_t samples) ...@@ -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 * @brief set compressed data buffer start address
* @see RDCU-FRS-FN-0850 * @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