FreeCalypso > hg > freecalypso-sw
changeset 566:065bf2b63a95
L1: started work on l1_pwmgr.c
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Fri, 08 Aug 2014 05:32:56 +0000 |
parents | 335f9b00f8fc |
children | 528fa901ae79 |
files | gsm-fw/L1/cfile/Makefile gsm-fw/L1/cfile/l1_pwmgr.c |
diffstat | 2 files changed, 65 insertions(+), 59 deletions(-) [+] |
line wrap: on
line diff
--- a/gsm-fw/L1/cfile/Makefile Fri Aug 08 03:31:14 2014 +0000 +++ b/gsm-fw/L1/cfile/Makefile Fri Aug 08 05:32:56 2014 +0000 @@ -8,7 +8,7 @@ IOBJS= l1_api_hisr.o l1_cmplx_intram.o l1_ctl.o l1_drive.o l1_func.o \ l1_mfmgr.o -XOBJS= l1_afunc.o l1_async.o l1_cmplx.o l1_init.o +XOBJS= l1_afunc.o l1_async.o l1_cmplx.o l1_init.o #l1_pwmgr.o all: ${IOBJS} ${XOBJS}
--- a/gsm-fw/L1/cfile/l1_pwmgr.c Fri Aug 08 03:31:14 2014 +0000 +++ b/gsm-fw/L1/cfile/l1_pwmgr.c Fri Aug 08 05:32:56 2014 +0000 @@ -6,7 +6,14 @@ * Copyright 2003 (C) Texas Instruments * ************* Revision Controle System Header *************/ + // pinghua add these programe code section to put some sleep code into internal ram. +/* + * FreeCalypso: the Leonardo binary object version puts all of l1_pwmgr + * into the regular run-from-flash text section, so we'll do the same + * for now. + */ +#if 0 #pragma CODE_SECTION(l1s_sleep_manager,".emifconf") #pragma CODE_SECTION(EMIF_SetConfReg,".emifconf") #pragma CODE_SECTION(audio_madc_sleep,".emifconf") @@ -29,9 +36,14 @@ #pragma CODE_SECTION(l1s_gauging_task,".emifconf") #pragma CODE_SECTION(l1s_gauging_task_end,".emifconf") // 2-03-2007 pinghua added end +#endif + #define L1_PWMGR_C //#pragma DUPLICATE_FOR_INTERNAL_RAM_START +#include "config.h" +#include "l1_confg.h" + //sajal added ..................................... #if (CODE_VERSION == SIMULATION) //#include "l1_pwmgr.h" @@ -65,19 +77,11 @@ -#include "timer/timer2.h" -#include "armio/armio.h" - -//omaps00090550 #include "l1_macro.h" -#include "l1_confg.h" - -#if (OP_L1_STANDALONE == 1) - #include "uart/serialswitch_core.h" -#else - #include "uart/serialswitch.h" -#endif - -#if (OP_L1_STANDALONE == 0) +#include "../../bsp/timer2.h" +#include "../../bsp/armio.h" +#include "../../serial/serialswitch.h" + +#if 0 //(OP_L1_STANDALONE == 0) #include "sim/sim.h" #include "rv_swe.h" #endif @@ -162,8 +166,8 @@ #include "l1_types.h" #include "l1_const.h" - #include "abb/abb.h" - #include "dma/sys_dma.h" + #include "../../bsp/abb+spi/abb.h" + /* #include "dma/sys_dma.h" */ #if (OP_BT == 1) #include "hci_ll_simul.h" @@ -200,11 +204,11 @@ #include "l1_tabs.h" #include "sys_types.h" #include "tpudrv.h" - #include "cust_os.h" + #include "../../gpf/inc/cust_os.h" #include "l1_msgty.h" #include "l1_proto.h" #include "l1_trace.h" - #include "timer/timer.h" + #include "../../bsp/timer.h" #if (CHIPSET == 12) || (CHIPSET == 15) @@ -334,13 +338,13 @@ #else //(CHIPSET == 12) || (CHIPSET == 15) - #include "inth/iq.h" - #include "inth/inth.h" + #include "../../bsp/iq.h" + #include "../../bsp/inth.h" #endif // #include "timer1.h" - #include "ulpd/ulpd.h" - #include "clkm/clkm.h" - #include "memif/mem.h" + #include "../../bsp/ulpd.h" + #include "../../bsp/clkm.h" + #include "../../bsp/mem.h" #if L2_L3_SIMUL #include "hw_debug.h" #endif @@ -360,7 +364,9 @@ #endif #endif +#if (CHIPSET == 15) #include "drp_api.h" +#endif #endif // NO SIMULATION @@ -401,7 +407,7 @@ extern void l1s_trace_mftab(void); #endif -#if (CODE_VERSION != SIMULATION) +#if (CODE_VERSION != SIMULATION) && (CHIPSET == 15) extern T_DRP_REGS_STR *drp_regs; #endif @@ -457,7 +463,7 @@ #if(CHIPSET == 15) /************************************************************/ -/* Configure EMIF for optimal consumption */ +/* Configure EMIF for optimal consumption */ /************************************************************/ @@ -1539,7 +1545,7 @@ #endif #if(CHIPSET == 15) - Uint8 sleep_status; + Uint8 sleep_status; #endif #if (GSM_IDLE_RAM != 0) @@ -1625,10 +1631,10 @@ // free System structure // Enable all IRQ //l1_pwmgr_irq_dis_flag = 0; -#if (CODE_VERSION!=SIMULATION) + #if (CODE_VERSION!=SIMULATION) INT_EnableIRQ(); l1_trace_fail_sleep(FAIL_SLEEP_PERIPH_CHECK, l1_pwmgr_debug.fail_id, l1_pwmgr_debug.fail_ret_val); - #endif + #endif #if (GSM_IDLE_RAM != 0) gsm_idle_ram_ctl->os_load = 0; gsm_idle_ram_ctl->hw_timer = 0; @@ -1644,12 +1650,12 @@ // check OS loading //================================================= OSload = OS_get_inactivity_ticks(); - #if (CODE_VERSION!=SIMULATION) + #if (CODE_VERSION!=SIMULATION) if ((OSload >= 0) && (OSload <= MIN_SLEEP_TIME)){ l1_pwmgr_debug.fail_id = FAIL_SLEEP_DUE_TO_OSLOAD; l1_pwmgr_debug.fail_ret_val = OSload; } - #endif //NOT SIMULATION + #endif //NOT SIMULATION //================================================= // check HW Timers loading @@ -1716,7 +1722,7 @@ #if (OP_L1_STANDALONE == 0) - /*GC_Wakeup(); OMAPS00134004*/ + /*GC_Wakeup(); OMAPS00134004*/ #endif #if (CODE_VERSION != SIMULATION) @@ -1741,7 +1747,7 @@ #if (CHIPSET != 15) SER_WakeUpUarts(); // Wake up Uarts #else - // To be checked if this needs a change + // To be checked if this needs a change #endif #if (GSM_IDLE_RAM != 0) @@ -1806,7 +1812,7 @@ !CLKM_READ_nIDLE3) #else if ((l1s.pw_mgr.enough_gaug == TRUE) || (l1a_l1s_com.mode == CS_MODE0)) - #endif + #endif #endif l1s.pw_mgr.sleep_performed = CLOCK_STOP; else @@ -1945,9 +1951,9 @@ if(!sleep_status) { - #if (OP_L1_STANDALONE == 0) - /*GC_Wakeup(); OMAPS00134004*/ -#endif + #if (OP_L1_STANDALONE == 0) + /*GC_Wakeup(); OMAPS00134004*/ + #endif #if (CODE_VERSION != SIMULATION) OS_system_Unprotect(); @@ -1992,7 +1998,7 @@ { // ==== STop RF and TPU..... =================== - //L1_trace_string("Proceeding to Deep Sleep\n"); + //L1_trace_string("Proceeding to Deep Sleep\n"); l1dmacro_RF_sleep(); @@ -2058,7 +2064,7 @@ // if CLOCK_STOP or FRAME-STOP : Asleep OMEGA (ABB) //============================================== #if (ANALOG != 11) - afc_fix = ABB_sleep(l1s.pw_mgr.sleep_performed, l1s.afc,l1s.pw_mgr.afc_bypass_mode); + afc_fix = ABB_sleep(l1s.pw_mgr.sleep_performed, l1s.afc); #else // Nothing to be done as it should be handled by BSP_TWL3029_Configure_DS/BS #endif @@ -2070,9 +2076,9 @@ // STop SPI ..... //================================================= - #if(CHIPSET != 15) - *((volatile UWORD16 *)MEM_SPI)&=0xFFFE; // SPI CLK DISABLED - #endif + #if(CHIPSET != 15) + *((volatile UWORD16 *)MEM_SPI)&=0xFFFE; // SPI CLK DISABLED + #endif #endif // NOT SIMULATION @@ -2103,10 +2109,10 @@ { // DEEP SLEEP -> need time to setup afc and rf wake_up_time = min_time - l1_config.params.rf_wakeup_tpu_scenario_duration; - #if (CODE_VERSION == NOT_SIMULATION) + #if (CODE_VERSION == NOT_SIMULATION) // Sleep one more TDMA - this is done as part of merging init and TPU control wake_up_time += 1; - #endif + #endif } else @@ -2193,16 +2199,16 @@ //Shut down PERIPHERALS clocks UWIRE and ARMIO if authorized //========================================================== - #if(CHIPSET != 15) + #if(CHIPSET != 15) UWORD16 clocks_stopped; //OMAPS90550- new clocks_stopped = (l1s.pw_mgr.clocks & l1s.pw_mgr.modules_status); if((clocks_stopped & ARMIO_CLK_CUT) == ARMIO_CLK_CUT) *((volatile UWORD16 *)ARMIO_CNTL_REG) &= ~(ARMIO_CLOCKEN); if((clocks_stopped & UWIRE_CLK_CUT) == UWIRE_CLK_CUT) *((volatile UWORD16 *)(MEM_UWIRE + 0x8)) &= ~(0x0001); - #else - // Nothing to be done as it is taken care by Locosto_Configure_BS - #endif + #else + // Nothing to be done as it is taken care by Locosto_Configure_BS + #endif #if (W_A_CALYPSO_BUG_01435 == 1) f_arm_sleep_cmd(BIG_SLEEP); @@ -2237,9 +2243,9 @@ #endif - l1s_wakeup(); - - #if (CHIPSET == 15) + l1s_wakeup(); + + #if (CHIPSET == 15) // The following command writes '1' into CKM_OCPCLK register in DRP; // This is done after the DPLL is up // CKM_OCPCLK (R/W) = Address 0xFFFF040C @@ -2277,7 +2283,7 @@ if ( l1s.pw_mgr.sleep_performed == CLOCK_STOP ) { // (*(volatile UWORD16 *)l1s_tpu_com.reg_cmd) = TPU_CTRL_CLK_EN; - UWORD8 local_sleep_status; + UWORD8 local_sleep_status; #if (CHIPSET == 15) @@ -2327,15 +2333,15 @@ //================================================= //if CLOCK_STOP or FRAME-STOP : ReStart SPI //================================================= - #if(CHIPSET != 15) - *((volatile UWORD16 *)MEM_SPI)|=0x0001; // SPI CLK ENABLED - #endif + #if(CHIPSET != 15) + *((volatile UWORD16 *)MEM_SPI)|=0x0001; // SPI CLK ENABLED + #endif //================================================= // Wake up ABB //================================================= #if (ANALOG != 11) - ABB_wakeup(l1s.pw_mgr.sleep_performed,l1s.afc,l1s.pw_mgr.afc_bypass_mode); + ABB_wakeup(l1s.pw_mgr.sleep_performed, l1s.afc); #else // Nothing to be done here as it will be handled by BSP_TWL3029_Wakeup_DS/BS #endif @@ -2356,7 +2362,7 @@ #if (OP_L1_STANDALONE == 0) /*GC_Wakeup(); OMAPS00134004*/ -#endif + #endif #if (CODE_VERSION != SIMULATION) //================================================= @@ -2424,7 +2430,7 @@ #if (CHIPSET != 15) SER_WakeUpUarts(); // Wake up Uarts #else - // To be checked if this needs a change + // To be checked if this needs a change #endif @@ -3125,7 +3131,7 @@ #endif // DSP programmation ....... - #if (DSP == 33) || (DSP == 34) || (DSP == 35) || (DSP == 36) || (DSP == 37) || (DSP == 38) || (DSP == 39) + #if (DSP >= 33) #if (CHIPSET==4) l1s_dsp_com.dsp_ndb_ptr->d_pll_config |= B_32KHZ_CALIB; #endif @@ -3176,7 +3182,7 @@ #endif // DSP programmation : free IDLE modes... - #if (DSP == 33) || (DSP == 34) || (DSP == 35) || (DSP == 36) || (DSP == 37) || (DSP == 38) || (DSP == 39) + #if (DSP >= 33) #if (CHIPSET==4) l1s_dsp_com.dsp_ndb_ptr->d_pll_config &= ~B_32KHZ_CALIB; #endif