view src/cs/layer1/p_include/l1p_tabs.h @ 635:baa0a02bc676

niq32.c DTR handling restored for targets that have it TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a fixed pull-down resistor on this GPIO line), and the code in niq32.c called UAF_DTRInterruptHandler() (implemented in uartfax.c) from the IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official fw this GPIO is a floating input, all of the DTR handling code in uartfax.c including the interrupt logic is still there, but the hobbled TCS211-20070608 semi-src delivery which OM got from TI contained a change in niq32.c (which had been kept in FC until now) that removed the call to UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test" hacks. The present change fixes this bug at a long last: if we are building fw for a target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c, whereas if we are building fw for a target that does not use this classic GPIO arrangement, the code in niq32.c goes back to what we got from OM and all DTR & DCD code in uartfax.c is conditioned out. This change also removes the very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Jan 2020 01:41:35 +0000
parents 945cf7f506b2
children
line wrap: on
line source

/************* Revision Controle System Header *************
 *                  GSM Layer 1 software 
 * L1P_TABS.H
 *
 *        Filename l1p_tabs.h
 *  Copyright 2003 (C) Texas Instruments  
 *
 ************* Revision Controle System Header *************/

/*********************************************************************
 * Content:
 *   This file contains  miscelaneous ROM tables for packet procedures
 *********************************************************************/

#ifdef L1_SYNC_C 
  /*-----------------------------------------------------------------*/
  /* Frame Number Paging Position.                                   */
  /*-----------------------------------------------------------------*/
   
  const UWORD8 PACKET_PG_POSITION[MAX_NBR_PG_BLKS * (MAX_PG_BLKS_INDEX+1)] =
  { 
    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 1.
    // ---------------------------------------
    // Paging
    PCCCH_1,  // Packet Paging Block Index = 0.
    PCCCH_2,  // Packet Paging Block Index = 1.
    PCCCH_3,  // Packet Paging Block Index = 2.
    PCCCH_4,  // Packet Paging Block Index = 3.
    PCCCH_5,  // Packet Paging Block Index = 4.
    PCCCH_6,  // Packet Paging Block Index = 5.
    PCCCH_7,  // Packet Paging Block Index = 6.
    PCCCH_8,  // Packet Paging Block Index = 7.
    PCCCH_9,  // Packet Paging Block Index = 8.
    PCCCH_10, // Packet Paging Block Index = 9.
    PCCCH_11, // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 2.
    // ---------------------------------------
    // Paging      
    PCCCH_1,  // Packet Paging Block Index = 0.
    PCCCH_2,  // Packet Paging Block Index = 1.
    PCCCH_3,  // Packet Paging Block Index = 2.
    PCCCH_4,  // Packet Paging Block Index = 3.
    PCCCH_5,  // Packet Paging Block Index = 4.
    PCCCH_7,  // Packet Paging Block Index = 5.
    PCCCH_8,  // Packet Paging Block Index = 6.
    PCCCH_9,  // Packet Paging Block Index = 7.
    PCCCH_10, // Packet Paging Block Index = 8.
    PCCCH_11, // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 3.
    // ---------------------------------------
    // Paging
    PCCCH_1,  // Packet Paging Block Index = 0.
    PCCCH_2,  // Packet Paging Block Index = 1.
    PCCCH_4,  // Packet Paging Block Index = 2.
    PCCCH_5,  // Packet Paging Block Index = 3.
    PCCCH_7,  // Packet Paging Block Index = 4.
    PCCCH_8,  // Packet Paging Block Index = 5.
    PCCCH_9,  // Packet Paging Block Index = 6.
    PCCCH_10, // Packet Paging Block Index = 7.
    PCCCH_11, // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 4.
    // ---------------------------------------
    // Paging 
    PCCCH_1,  // Packet Paging Block Index = 0.
    PCCCH_2,  // Packet Paging Block Index = 1.
    PCCCH_4,  // Packet Paging Block Index = 2.
    PCCCH_5,  // Packet Paging Block Index = 3.
    PCCCH_7,  // Packet Paging Block Index = 4.
    PCCCH_8,  // Packet Paging Block Index = 5.
    PCCCH_10, // Packet Paging Block Index = 6.
    PCCCH_11, // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 5.
    // ---------------------------------------
    // Paging
    PCCCH_2,   // Packet Paging Block Index = 0.
    PCCCH_4,   // Packet Paging Block Index = 1.
    PCCCH_5,   // Packet Paging Block Index = 2.
    PCCCH_7,   // Packet Paging Block Index = 3.
    PCCCH_8,   // Packet Paging Block Index = 4.
    PCCCH_10, // Packet Paging Block Index = 5.
    PCCCH_11, // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 6.
    // ---------------------------------------
    // Paging
    PCCCH_2,  // Packet Paging Block Index = 0.
    PCCCH_4,  // Packet Paging Block Index = 1.
    PCCCH_5,  // Packet Paging Block Index = 2.
    PCCCH_8,  // Packet Paging Block Index = 3.
    PCCCH_10, // Packet Paging Block Index = 4.
    PCCCH_11, // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 7.
    // ---------------------------------------
    // Paging
    PCCCH_2,  // Packet Paging Block Index = 0.
    PCCCH_5,  // Packet Paging Block Index = 1.
    PCCCH_8,  // Packet Paging Block Index = 2.
    PCCCH_10, // Packet Paging Block Index = 3.
    PCCCH_11, // Packet Paging Block Index = 4.
    NULL,     // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 8.
    // ---------------------------------------
    // Paging
    PCCCH_2,  // Packet Paging Block Index = 0.
    PCCCH_5,  // Packet Paging Block Index = 1.
    PCCCH_8,  // Packet Paging Block Index = 2.
    PCCCH_11, // Packet Paging Block Index = 3.
    NULL,     // Packet Paging Block Index = 4.
    NULL,     // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 9.
    // ---------------------------------------
    // Paging
    PCCCH_5,  // Packet Paging Block Index = 0.
    PCCCH_8,  // Packet Paging Block Index = 1.
    PCCCH_11, // Packet Paging Block Index = 2.
    NULL,     // Packet Paging Block Index = 3.
    NULL,     // Packet Paging Block Index = 4.
    NULL,     // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 10.
    // ---------------------------------------
    // Paging
    PCCCH_5,  // Packet Paging Block Index = 0.
    PCCCH_11, // Packet Paging Block Index = 1.
    NULL,     // Packet Paging Block Index = 2.
    NULL,     // Packet Paging Block Index = 3.
    NULL,     // Packet Paging Block Index = 4.
    NULL,     // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.

    // BS_PAG_BLKS_RES + BS_PBCCH_BLKS_RES = 11.
    // ---------------------------------------
    // Paging
    PCCCH_11, // Packet Paging Block Index = 0.
    NULL,     // Packet Paging Block Index = 1.
    NULL,     // Packet Paging Block Index = 2.
    NULL,     // Packet Paging Block Index = 3.
    NULL,     // Packet Paging Block Index = 4.
    NULL,     // Packet Paging Block Index = 5.
    NULL,     // Packet Paging Block Index = 6.
    NULL,     // Packet Paging Block Index = 7.
    NULL,     // Packet Paging Block Index = 8.
    NULL,     // Packet Paging Block Index = 9.
    NULL,     // Packet Paging Block Index = 10.
  };

  // Starting times of each block for ordered list of blocks
  const UWORD8 ORDERED_BLOCK_START_TIME[12] =
  {
     0,  // B0
    26,  // B6
    13,  // B3
    39,  // B9
     4,  // B1
    30,  // B7
    17,  // B4
    43,  // B10
     8,  // B2
    34,  // B8
    21,  // B5
    47  // B11
  };

    
  // Serving Cell PBCCH block index
  const UWORD8 PBCCH_BLK_INDEX[MAX_NBR_PB_BLKS * (MAX_PB_BLKS_INDEX+1)] =
  { 
    // BS_BPCCH_BLKS = 0
    0,
    0,
    0,
    0,

    // BS_BPCCH_BLKS = 1
    0,
    6,
    0,
    0,
    
    // BS_BPCCH_BLKS = 2
    0,
    3,
    6,
    0,

    // BS_BPCCH_BLKS = 3
    0,
    3,
    6,
    9
  };

  // Serving PBCCH and Neighbor PBCCH block position in the MF52
  const UWORD8 PBCCH_POSITION[4][4] = 
  {
    {51,00,00,00},  // BS_PBCCH_BLKS=0
    {51,25,00,00},  // BS_PBCCH_BLKS=1
    {51,12,25,00},  // BS_PBCCH_BLKS=2
    {51,12,25,38}   // BS_PBCCH_BLKS=3
  };

#else
  extern UWORD8  PACKET_PG_POSITION[MAX_NBR_PG_BLKS * (MAX_PG_BLKS_INDEX+1)];
  extern UWORD8  ORDERED_BLOCK_START_TIME[12];
  extern UWORD8  PBCCH_BLK_INDEX[MAX_NBR_PB_BLKS * (MAX_PB_BLKS_INDEX+1)]; 
  extern UWORD8  PBCCH_POSITION[4][4]; 
#endif