view src/cs/layer1/dyn_dwl_include/l1_dyn_dwl_defty.h @ 685:3fb7384e820d

tpudrv12.h: FCDEV3B goes back to being itself A while back we had the idea of a FreeCalypso modem family whereby our current fcdev3b target would some day morph into fcmodem, with multiple FC modem family products, potentially either triband or quadband, being firmware-compatible with each other and with our original FCDEV3B. But in light of the discovery of Tango modules that earlier idea is now being withdrawn: instead the already existing Tango hw is being adopted into our FreeCalypso family. Tango cannot be firmware-compatible with triband OM/FCDEV3B targets because the original quadband RFFE on Tango modules is wired in TI's original Leonardo arrangement. Because this Leonardo/Tango way is now becoming the official FreeCalypso way of driving quadband RFFEs thanks to the adoption of Tango into our FC family, our earlier idea of extending FIC's triband RFFE control signals with TSPACT5 no longer makes much sense - we will probably never produce any new hardware with that once-proposed arrangement. Therefore, that triband-or-quadband FCFAM provision is being removed from the code base, and FCDEV3B goes back to being treated the same way as CONFIG_TARGET_GTAMODEM for RFFE control purposes.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 24 Sep 2020 21:03:08 +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