FreeCalypso > hg > freecalypso-sw
changeset 150:3c850b416c9a
integrating more L1 header files needed by the abb+spi code
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sat, 16 Nov 2013 20:55:06 +0000 |
parents | 971e84124a6f |
children | d0de2d0a426d |
files | gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_const.h gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_defty.h gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_error.h gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_msgty.h gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_proto.h gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_signa.h gsm-fw/L1/include/l1_confg.h gsm-fw/bsp/abb+spi/abb.c |
diffstat | 8 files changed, 323 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_const.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,56 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_CONST.H + * + * Filename l1_dyn_dwl_const.h.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ +#if (L1_DYN_DSP_DWNLD == 1) + +#ifndef _L1_DYN_DWL_CONST_H_ +#define _L1_DYN_DWL_CONST_H_ + +/* DSP dynamic download background task id */ +#define C_BGD_DSP_DYN_DWNLD 9 + +#define RED 1 +#define GREEN 0 +#define MAX_NUM_OF_PATCH_IDS 5 +#define MAX_NUM_OF_STATE_MACHINES_IMPACTED 6 + +#define NUM_OF_DYN_DWNLD_PRIMITIVES 6 + +#define NUM_WORDS_COPY_API 256 // even value mandatory +#define START_API_DWNLD_AREA 0x1808 // 0x1808 +#define SIZE_API_DWNLD_AREA 0x7F8 // 0x800 +#define START_API_DWNLD_AREA_DURING_E2 0x10C1 // 0x10BE +#define SIZE_API_DWNLD_AREA_DURING_E2 0x15B // 0x410 +#define MCU_API_BASE_ADDRESS 0xFFD00000L +#define DSP_API_BASE_ADDRESS 0x800 + + +/* Dynamic Download API base address */ +#define C_DYN_DWNLD_API_BASE_ADDRESS 0x17F6 +#define HEADER_PATCH_SIZE 4 + +#if(CODE_VERSION == SIMULATION) + #define CRC_SIMU_OK 0xCAFE + #define SIZE_DWNLD_AREA_SIMU 2048 +#endif + +#define TRUE 1 +#define FALSE 0 + + +/* Define commands MCU/DSP*/ +#define C_DWL_DOWNLOAD_CTRL_DSP_ACK 0 +#define C_DWL_DOWNLOAD_CTRL_DOWNLOAD 1 +#define C_DWL_DOWNLOAD_CTRL_INSTALL 2 +#define C_DWL_DOWNLOAD_CTRL_UNINSTALL 3 +#define C_DWL_DOWNLOAD_CTRL_ABORT 4 +#define C_DWL_DOWNLOAD_CTRL_INIT 5 +#define C_DWL_ERR_RESET 0 + +#endif // _L1_DYN_DWL_CONST_H_ +#endif // L1_DYN_DSP_DWNLD
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_defty.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,131 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_DEFTY.H + * + * Filename l1_dyn_dwl_defty.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ +#if(L1_DYN_DSP_DWNLD==1) + +#ifndef _L1_DYN_DWL_DEFTY_H_ +#define _L1_DYN_DWL_DEFTY_H_ + +#include "l1_dyn_dwl_const.h" + +/***************************************************************************************/ +/* Dynamic download L1A structure to store dynamic download L1A global variables */ +/***************************************************************************************/ +typedef struct +{ + UWORD32 signal_code_vect[MAX_NUM_OF_PATCH_IDS]; + UWORD32 num_of_elem; +}T_FIFO_DYN_DWNLD ; +typedef struct +{ + UWORD8 state; + UWORD16 num_patches_installed; + UWORD16 patch_id[MAX_NUM_OF_PATCH_IDS]; + UWORD16 num_of_elem_to_copy; + UWORD16 next_patch_id[MAX_NUM_OF_PATCH_IDS]; + BOOL semaphore_vect[MAX_NUM_OF_STATE_MACHINES_IMPACTED]; + BOOL melody0_E2_flag_activated; + BOOL melody1_E2_flag_activated; + UWORD16 dsp_trace_level_copy; + BOOL trace_flag_blocked; + UWORD16 num_of_primitives; + BOOL dedicated_stop_flag; + T_FIFO_DYN_DWNLD waiting_patch_fifo; +}T_L1A_DYN_DWNLD_GLOBAL; + +/***************************************************************************************/ +/* Dynamic DSP L1A-L1S structure... */ +/***************************************************************************************/ +typedef struct +{ + BOOL start; + BOOL stop; +} T_DYN_DWNLD_TASK_COMMAND; + +/***************************************************************************************/ +/* Dynamic DSP download HISR - L1A structure... */ +/***************************************************************************************/ +typedef struct +{ + BOOL restart; +} T_DYN_DWNLD_HISR_COMMAND; + +typedef struct +{ + UWORD16 num_of_elem; + UWORD32 address[MAX_NUM_OF_PATCH_IDS]; +} T_DYN_DWNLD_HISR_UN_PARAM; + +typedef struct +{ + UWORD32 start_MCU_copy_address[MAX_NUM_OF_PATCH_IDS]; + UWORD16 size_of_dwnld_area; + UWORD16 start_of_dwnld_area; + UWORD16 num_of_elem; + UWORD32 address_to_install[MAX_NUM_OF_PATCH_IDS]; + UWORD16 crc[MAX_NUM_OF_PATCH_IDS]; + UWORD16 size_array[MAX_NUM_OF_PATCH_IDS]; +}T_DYN_DWNLD_HISR_CPY_PARAM; + +typedef struct +{ + T_DYN_DWNLD_HISR_COMMAND command; + T_DYN_DWNLD_HISR_UN_PARAM uninstall_parameters; + T_DYN_DWNLD_HISR_CPY_PARAM copy_parameters; +} T_L1A_DYN_DWNLD_HISR_COM; + +/***************************************************************************************/ +/* Dynamic download HISR structure to store dynamic download HISR global variables */ +/***************************************************************************************/ + +typedef struct +{ + UWORD8 state; + BOOL running; + UWORD16 uninstall_counter; + UWORD16 patch_ids_counter; + UWORD32 running_source_pointer; + UWORD16 tmp_patch_size; +} T_L1_DYN_DWNLD_API_HISR; + +/***************************************************************************************/ +/* Dynamic Download MCU-DSP API */ +/***************************************************************************************/ +typedef struct +{ + API d_api_dwl_download_ctrl; + API d_api_dwl_error_code; + API d_api_dwl_function_address[2]; + API d_api_dwl_crc; + API d_api_dwl_size; + API d_api_dwl_write_pointer; +} T_DYN_DWNLD_MCU_DSP; + +typedef struct +{ + UWORD32 primitive; + UWORD16 msg_id; +}T_SIGNAL_PATCH; + +#define GPRS_PATCH 0 +#define AMR_SCH_PATCH 1 +#define TTY_PATCH 2 +#define AMR_MMS_PATCH 3 +#define E2_PATCH 4 + + +#define DEDI_STATE_MACHINE 0 +#define TTY_STATE_MACHINE 1 +#define E2_STATE_MACHINE 2 +#define VOICE_MEMO_AMR_SM 3 +#define VOICE_PLAY_AMR_SM 4 +#define SPEECH_RECO_SM 5 + +#endif // _L1_DYN_DWL_DEFTY_H_ +#endif // L1_DYN_DSP_DWNLD +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_error.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,23 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_ERROR.H + * + * Filename l1_dyn_dwl_error.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ +#if (L1_DYN_DSP_DWNLD == 1) + +#ifndef _L1_DYN_DWL_ERROR_H_ +#define _L1_DYN_DWL_ERROR_H_ + +#define C_DYN_DWL_ERR_NONE (0x0000) /* no error */ +#define C_DYN_DWL_ERR_WR_PTR (0x0001) /* write pointer is not correct */ +#define C_DYN_DWL_ERR_SIZE (0x0002) /* size is not correct */ +#define C_DYN_DWL_ERR_END_SECTION (0x0004) /* end word is not detected */ +#define C_DYN_DWL_ERR_UN_INSTALL (0x0008) /* installation or un-installation fail */ +#define C_DYN_DWL_ERR_NOT_ENDED (0x0010) /* new request received but download not finished */ + +#endif // _L1_DYN_DWL_ERROR_H_ +#endif // L1_DYN_DSP_DWNLD +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_msgty.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,20 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_MSGTY.H + * + * Filename l1_dyn_dwl_msgty.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ +#if (L1_DYN_DSP_DWNLD == 1) + +typedef struct +{ + UWORD16 patch_id; +}T_API_L1_CRC_NOT_OK; +typedef struct +{ + UWORD16 error; +}T_API_L1_DYN_DWNLD_STOP; + +#endif // L1_DYN_DSP_DWNLD == 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_proto.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,60 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_PROTO.H + * + * Filename l1_dyn_dwl_proto.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ + +#if (L1_DYN_DSP_DWNLD == 1) + +#ifndef _L1_DYN_DWL_PROTO_H_ +#define _L1_DYN_DWL_PROTO_H_ + +/* Functions declared in l1_dyn_dwl_apihisr.c */ +void l1_dyn_dwnld_apihisr(void); +BOOL l1_dyn_dwnld_apihisr_error_handler(void); +UWORD8 l1_dyn_dwnld_copy_patch_process (BOOL new_patch); + + +/* Functions declared in l1_dyn_dwl_afunc.c*/ +void l1_handle_particular_cases_for_TCS211(UWORD32 msg_code, BOOL *return_flag); +BOOL l1_does_the_incoming_primitive_trigger_dynamic_dwnld(UWORD32 msg_code, BOOL delay_flag); +UWORD16 l1_lookup_primitive_patch_matrix(UWORD32 msg_code, UWORD16* patch_id_p); +BOOL l1_is_patch_already_installed (UWORD16 patch_id); +BOOL l1_is_patch_id_in_uninstall_set (UWORD16 patch_id, UWORD16 *uninstall_patch_vect, UWORD16 num_of_uninstall_elem); +BOOL l1_manage_patch_incompatibilty(UWORD16 num_of_patch_id_to_dwnld, UWORD16 *num_of_uninstall_elem, UWORD16 *uninstall_patch_id_vect); +void l1_update_semaphores_for_all_state_machines(UWORD16 num_of_patch_id_to_dwnld); +void l1_set_semaphores_for_all_state_machines_involved(UWORD16 delay_num_patch, UWORD16* delay_patch_array); +void l1_reset_semaphores(); +void l1_disable_DSP_trace(); +void l1_enable_DSP_trace(); +BOOL l1_pop_Primitive(UWORD32 *p_primitive); +UWORD32 l1_check_Fifo_Primitive(); +BOOL l1_push_Primitive(UWORD32 primitive_id); + +/* Functions declared in l1_dyn_dwl_async.c */ +BOOL l1_dynamic_download_manager(UWORD32 SignalCode, BOOL delay_flag); + +/* Functions declared in l1_dyn_dwl_func.c*/ + +void l1_set_uninstall_parameters(void); +BOOL l1_set_dyn_dwnld_install_vect(UWORD16* size_p, UWORD32* dest_addr, UWORD16* crc_vect, const UWORD8 *patch_array_code, UWORD16 i); +UWORD16 l1_initialize_patch_parameters(); +void l1_initialize_pointers_for_copy(UWORD16 **pp_dest_mcu, UWORD16 **pp_src_mcu); +void l1_copy_till_the_end_of_the_patch_and_update_write_pointer(UWORD16 tmp_patch_size, UWORD16* p_dest_mcu, UWORD16* p_src_mcu); +void l1_copy_till_end_of_dwnld_area_and_update_write_pointer(UWORD16 tmp_dwnld_area_size,UWORD16 *p_dest_mcu, UWORD16 *p_tmp_patch_size, UWORD16 **pp_src_mcu); +BOOL l1_copy_first_N_words (UWORD16 *dwnld_area_size_p, UWORD16 *patch_area_size_p, UWORD16 **pp_dest_mcu, UWORD16 **pp_src_mcu); +UWORD16 l1_initialize_download_area_parameters(); +BOOL l1_init_pointers_and_copy_first_block_of_data(UWORD16 *dwnld_area_size_p, UWORD16 *patch_size_p, UWORD16 **pp_dest_mcu, UWORD16 **pp_src_mcu, BOOL new_patch); + +/* Functions declared in l1_dyn_dwl_init.c*/ + +void l1_dyn_dwnld_initialize_var(); +void l1_dyn_dwnld_reset(); +void l1_dyn_dwnld_reset_api(); + + +#endif // _L1_DYN_DWL_PROTO_H_ +#endif // L1_DYN_DSP_DWNLD
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/L1/dyn_dwl_include/l1_dyn_dwl_signa.h Sat Nov 16 20:55:06 2013 +0000 @@ -0,0 +1,30 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_DYN_DWL_SIGNA.H + * + * Filename l1_dyn_dwl_signa.h + * Copyright 2004 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ +#if (L1_DYN_DSP_DWNLD == 1) + +#ifndef _L1_DYN_DWL_SIGNA_H_ +#define _L1_DYN_DWL_SIGNA_H_ + +#define P_DYN_DWNLD 0x41 + +// Messages L1S -> L1A +#define L1_DYN_DWNLD_STOP_CON ( ( P_DYN_DWNLD << 8 ) | 0x02 ) + +// Messages API HISR -> L1A // +#define API_L1_DYN_DWNLD_START_CON ( ( P_DYN_DWNLD << 8 ) | 0x03 ) +#define API_L1_DYN_DWNLD_FINISHED ( ( P_DYN_DWNLD << 8 ) | 0x04 ) +#define API_L1_DYN_DWNLD_STOP ( ( P_DYN_DWNLD << 8 ) | 0x05 ) +#define API_L1_CRC_NOT_OK ( ( P_DYN_DWNLD << 8 ) | 0x07 ) +#define API_L1_CRC_OK ( ( P_DYN_DWNLD << 8 ) | 0x08 ) +#define API_L1_DYN_DWNLD_UNINST_OK ( ( P_DYN_DWNLD << 8 ) | 0x09 ) + +#endif //_L1_DYN_DWL_SIGNA_H_ + +#endif // L1_DYN_DSP_DWNLD +
--- a/gsm-fw/L1/include/l1_confg.h Sat Nov 16 19:41:30 2013 +0000 +++ b/gsm-fw/L1/include/l1_confg.h Sat Nov 16 20:55:06 2013 +0000 @@ -65,10 +65,12 @@ #define CODE_VERSION NOT_SIMULATION #define AMR 1 #define L1_12NEIGH 1 +#define L1_DYN_DSP_DWNLD 1 #define L1_EOTD 0 #define L1_GTT 0 #define MELODY_E2 1 #define TESTMODE 1 +#define TRACE_TYPE 4 #if CONFIG_GPRS # define L1_GPRS 1
--- a/gsm-fw/bsp/abb+spi/abb.c Sat Nov 16 19:41:30 2013 +0000 +++ b/gsm-fw/bsp/abb+spi/abb.c Sat Nov 16 20:55:06 2013 +0000 @@ -26,13 +26,8 @@ /* */ /**********************************************************************************/ -#include "l1sw.cfg" +#include "../../include/config.h" -#include "chipset.cfg" -#include "board.cfg" -#include "rf.cfg" -#include "swconfig.cfg" -#include "sys.cfg" #include "abb.h" #include "l1_macro.h" #include "l1_confg.h"