view src/aci2/bmi/mmiMmi.c @ 638:cab2f315827e

FFS dev.c: added Spansion PL032J to the "generic" table With the discovery of first GTM900 and then Tango, it now appears that Openmoko was not the only manuf after all who kept TI's TCS211 firmware largely intact (as opposed to changing it beyond all recognition like Compal, Chi-Mei and BenQ did), thus we are now getting new "alien" targets on which we reuse the original manuf's FFS with IMEI and RF calibration tables as if it were native. On these targets we use the original device table for FFS, even though we previously thought that it would never apply to any target other than dsample, leonardo and gtamodem. We have previously added Samsung K5L33xxCAM (a new kind of multi-ID device) to the generic table to support its use in Huawei GTM900-B modules; now we got news that some slightly older GTM900-B specimen used S71PL032J instead, so we are now adding PL032J as well.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 30 Jan 2020 17:45:48 +0000
parents 3c2acfa1a72f
children
line wrap: on
line source

/*******************************************************************************

          CONDAT (UK)

********************************************************************************

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.

********************************************************************************

 $Project name: Basic MMI
 $Project code: BMI (6349)
 $Module:   MMI
 $File:       MmiMmi.c
 $Revision:   1.0

 $Author:   Condat(UK)
 $Date:       25/10/00

********************************************************************************

 Description:

    This provides the root mofule for the basic MMI

********************************************************************************
 $History: MmiMmi.c

	Jun 13 2005,	REF:LOCOSTO-OTH-32113	-	xpradipg
	Description:	Bypass the powerkey initialization at bootup
	Solution:		The powerkey initialization is bypassed by calling the
					drvKeyUpDown() in mmi_main() instead of key_power_initialize

//  	Jun 23, 2004        	REF: CRR MMI-SPR-16665  Rashmi C N(Sasken)
// 	Description:		Ocasionaly the LCD used to get stuck with the TI LOGO during power off.
//	Solution:			By calling dspl_Enable(1) we are forcing the LCD to get updated.

  25/10/00      Original Condat(UK) BMI version.

 $End

*******************************************************************************/




/*******************************************************************************

                                Include Files

*******************************************************************************/

#define ENTITY_MFW

/* includes */
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#if defined (NEW_FRAME)

#include "typedefs.h"
#include "vsi.h"
#include "pei.h"
#include "custom.h"
#include "gsm.h"

#else

#include "STDDEFS.H"
#include "custom.h"
#include "gsm.h"
#include "vsi.h"

#endif
#include "mfw_sys.h"

#include "prim.h"


#include "mfw_mfw.h"
#include "mfw_win.h"
#include "mfw_kbd.h"
#include "mfw_lng.h"
#include "mfw_tim.h"
/* SPR#1428 - SH - New Editor changes */
#ifndef NEW_EDITOR
#include "mfw_edt.h"
#endif
#include "mfw_icn.h"
#include "mfw_mnu.h"
#include "mfw_phb.h"
#include "mfw_sim.h"
#include "mfw_nm.h"
#include "mfw_mme.h"
#include "mfw_sat.h"
#include "mfw_sms.h"

#include "cus_aci.h"

#include "prim.h"
#ifndef PCM_2_FFS
#include "pcm.h"
#endif

#include "ksd.h"
#include "psa.h"


#include "MmiMmi.h"
#include "MmiMain.h"

#include "MmiDummy.h"
#include "MmiDialogs.h"
#include "MmiLists.h"




#include "dspl.h"
#include "drv_key.h"

#ifdef FF_MMI_MULTIMEDIA
/* To Assign the MSL_Init Return Value */
#include "MSL.h"
#include "mmiMultimediaApp.h"
#include "omxutil.h"
#endif

#ifdef MMI_LITE
#define MFW_MEMORY_POOL_SIZE 22000 /*SPR 2686*/
#else
	#ifdef FF_MMI_MMS
	#define MFW_MEMORY_POOL_SIZE (220*1024)
        #else
		#ifdef FF_MMI_MULTIMEDIA
			#define MFW_MEMORY_POOL_SIZE (220 * 1024)   // RAVI - 18-07-2005 - For Image display
		#else
	#define MFW_MEMORY_POOL_SIZE 35000
	#endif
#endif
#endif


#ifndef _SIMULATION_
extern void AI_Power(unsigned char power);
#endif  //_SIMULATION_

/*******************************************************************************

                                Global Data Elements

*******************************************************************************/

U16 mmiScrX, mmiScrY;                   /* display sreen size       */

static U8 mfwMem [MFW_MEMORY_POOL_SIZE];      /* mfw memory pool          */
static int initialized = 0;             /* initialization flag      */




/*******************************************************************************

                                Public Methods

*******************************************************************************/

/*******************************************************************************

 $Function:     mmi_main

 $Description:  entry point for the MMI, this hands control to mmiInit

 $Returns:    None.

 $Arguments:  None.

*******************************************************************************/

void mmi_main( void )
{
    /* JVJ #1874 - mmi_main doesnt start the MMI. It only initilizes the Keyboard handler*/
    /* The keyboard handler will call mmiInit() when the Power Key is pressed */
//    	Jun 13 2005,	REF:LOCOSTO-OTH-32113	-	xpradipg
#if (BOARD == 61)
#if FF_MMI_SERVICES_MIGRATION
	   drvKeyUpDown(0,0);
#else
	 key_power_init();
#endif

#ifndef FF_MMI_MULTIMEDIA
	vsi_t_sleep(VSI_CALLER 50);
	mmiInit();	 
#endif

#else  /* Other Builds */
     key_power_init();
#endif

}



/*******************************************************************************

 $Function:     mmiInit

 $Description:  This initialises the MMI application

 $Returns:    None.

 $Arguments:  None.

*******************************************************************************/


void mmiInit( void )
{
#ifdef FF_MMI_MULTIMEDIA
   unsigned int uiResult = 0;
#endif

  /* get the resources running
  */

  /* Initialise the MFW and windowing system
  */
  mfwInit( mfwMem,   sizeof( mfwMem ) );
  winInit( &mmiScrX, &mmiScrY );


  timInit();                          /* init timer handler       */
  kbdInit();                          /* init keyboard handler    */
  lngInit();                          /* init language handler    */
  #ifndef NEW_EDITOR				/* SPR#1428 - SH - New Editor changes */
  edtInit();                          /* init editor handler      */
  #endif /* NEW_EDITOR */
  mnuInit();                          /* init menu handler        */
  icnInit();                          /* init icon handler        */
  mainInit(0);

#ifdef NEPTUNE_BOARD
  sAT_PercentCSQ ( CMD_SRC_LCL, CSQ_Enable );
#endif

#ifdef FF_MMI_MULTIMEDIA
    /* MSL Init Call */
   uiResult = MSL_Init();
   vsi_t_sleep(0, 100);
   mmi_setInitResult(uiResult);

   /* PCM Setup Done */
/*  MSLRM_Start ();  */
#endif

}






/*******************************************************************************

 $Function:     mmiExit

 $Description:  This exits the MMI application

 $Returns:    None.

 $Arguments:  None.

*******************************************************************************/





void mmiExit( void )
{
    TRACE_EVENT("mmiExit");

  icnExit();                          /* finit icon handler       */
  mnuExit();                          /* finit menu handler       */
  #ifndef NEW_EDITOR				/* SPR#1428 - SH - New Editor changes */
  edtExit();                          /* finit edit handler       */
  #endif /* NEW_EDITOR */
  lngExit();                          /* finit language handler   */
  kbdExit();                          /* finit keyboard handler   */
  timExit();                          /* finit timer handler      */

  winExit();                          /* finit window handler     */
  mfwExit();                          /* exit mfw                 */

  dspl_ClearAll();
//  	Jun 23, 2004        	REF: CRR MMI-SPR-16665  Rashmi C N(Sasken)
// 	Description:		Ocasionaly the LCD used to get stuck with the TI LOGO during power off.
//	Solution:			By calling dspl_Enable(1) we are forcing the LCD to get updated.
  dspl_Enable(1);
  TRACE_EVENT("SWITCHING_OFF!!!!!");
  vsi_t_sleep (VSI_CALLER 50);
  /*
   *  Power off the board
   *
   */
#ifndef _SIMULATION_
  AI_Power(0);
#endif   //_SIMULATION_

}




/*******************************************************************************

                                End Of File

*******************************************************************************/