FreeCalypso > hg > fc-magnetite
view src/cs/layer1/dyn_dwl_include/l1_dyn_dwl_defty.h @ 673:62a5285e014a
Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango
Back in 2015 the Mother's idea was to produce a FreeCalypso development
board that would be a clone of TI Leonardo, including the original
quadband RFFE; one major additional stipulation was that this board
needed to be able to run original unmodified TCS211-20070608 firmware
with all blobs intact, with only minimal binary patches to main.lib
and tpudrv.lib. The necessary patched libs were produced at that time
in the tcs211-patches repository.
That plan was changed and we produced FCDEV3B instead, with Openmoko's
triband RFFE instead of Leonardo quadband, but when FC Magnetite started
in 2016, a TPUDRV_blob= provision was still made, allowing the possibility
of patching OM's tpudrv.lib for a restored Leonardo RFFE.
Now in 2020 we have FC Tango which is essentially a verbatim clone of
Leonardo core, including the original quadband RFFE. We have also
deblobbed our firmware so much that we have absolutely no real need
for a blob version of tpudrv.lib - but I thought it would be neat to put
the ancient TPUDRV_blob= mechanism (classic config) to its originally
intended use, just for the heck of it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 29 May 2020 03:55:36 +0000 |
parents | 50a15a54801e |
children |
line wrap: on
line source
/************* 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_SEMAPHORES]; 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