view src/cs/layer1/tm_cust0/l1tm_tpu12.c @ 280:82665effff30

keypad boot init overhaul: handle initially held-down keys This change fixes two previous behavioural defects: 1) On Compal phones, the PWR key had to be released before the boot sequence would proceed at all - it was stuck in an endless IRQ loop at the point of Nucleus enabling interrupts, before anything else. 2) On both Compal and sane platforms including Luna, if some regular non-PWR key was held down at boot time, the boot sequence would proceed and complete normally, but all non-PWR keypad buttons would be dead for the remainder of that boot cycle. The fix is a generic solution - no Compal-specific hack ended up being needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 24 Sep 2021 00:47:12 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/************* Revision Controle System Header *************
 *                  GSM Layer 1 software
 * L1TM_TPU2.C
 *
 *        Filename %M%
 *        Version  %I%
 *        Date     %G%
 * 
 ************* Revision Controle System Header *************/
#include "l1_confg.h"

#if (TESTMODE && (RF==12))

#include "tm_defs.h"
#include "l1_const.h"
#include "l1_types.h"

#include "l1tm_defty.h"
#include "l1tm_cust.h"
#include "l1tm_tpu12.h"

#if (AUDIO_TASK == 1)
  #include "l1audio_const.h"
  #include "l1audio_cust.h"
  #include "l1audio_defty.h"
#endif
////////////////////////////henry
#if (L1_GTT == 1)
  #include "l1gtt_const.h"
  #include "l1gtt_defty.h"
#endif
///////////////////////////  
#include "l1_defty.h"
#include "l1_msgty.h"
#include "l1_tabs.h"

#include "l1tm_msgty.h"
#include "l1tm_varex.h"

#if ((ANLG_FAM == 1) || (ANLG_FAM == 2))
  #include "spi_drv.h"
#endif   

#include "tpudrv12.h"
#include "l1_rf12.h"


#include <string.h>

// Import band configuration from Flash module (need to replace by an access function)


// External function prototypes


void Cust_tm_tpu_table_write        (T_TM_RETURN *tm_return, WORD8 index, UWORD8 size, UWORD8 table[])
{
/*
	INDICES BETWEEN in [0..63] RANGE ARE RESERVED FOR TI RF MODULE
*/

    // fill in the cid
    tm_return->cid = TPU_TABLE_WRITE;

    switch (index)
    {
        default:
          tm_return->size = 0;
          tm_return->status = E_BADINDEX;
          break;
    } // end of switch
}

void Cust_tm_tpu_table_read         (T_TM_RETURN *tm_return, WORD8 index)
{
/*
	INDICES BETWEEN in [0..63] RANGE ARE RESERVED FOR TI RF MODULE
*/

    // fill in the cid
    tm_return->cid = TPU_TABLE_READ;

    switch (index)
    {
        default:
          tm_return->size = 0;
          tm_return->status = E_BADINDEX;
          break;
    } // end of switch
}

#endif //TESTMODE