FreeCalypso > hg > tcs211-l1-reconst
changeset 128:a2f9560c1cf1
l1_pwmgr.c: began de-LoCosto-fication of l1s_sleep_manager()
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Fri, 13 May 2016 19:18:35 +0000 |
parents | 633cc67bebbc |
children | 419f638cf03b |
files | chipsetsw/layer1/cfile/l1_pwmgr.c |
diffstat | 1 files changed, 44 insertions(+), 283 deletions(-) [+] |
line wrap: on
line diff
--- a/chipsetsw/layer1/cfile/l1_pwmgr.c Fri May 13 17:21:26 2016 +0000 +++ b/chipsetsw/layer1/cfile/l1_pwmgr.c Fri May 13 19:18:35 2016 +0000 @@ -284,9 +284,9 @@ } -#if (CODE_VERSION!=SIMULATION) +#if 0 /* FreeCalypso TCS211 reconstruction */ T_PWMGR_DEBUG l1_pwmgr_debug; -#endif // NOT SIMULATION +#endif /* FreeCalypso: massive #if (CHIPSET == 15) chunk removed */ @@ -775,10 +775,6 @@ UWORD32 sleep_time = l1s.actual_time.fn; #endif -#if(CHIPSET == 15) - Uint8 sleep_status; -#endif - #if (GSM_IDLE_RAM != 0) T_L1S_GSM_IDLE_INTRAM * gsm_idle_ram_ctl; BOOL flag_traffic_controller_state = 0; @@ -797,19 +793,13 @@ // Power management is enabled WORD32 min_time, OSload, HWtimer,wake_up_time,min_time_gauging; UWORD32 sleep_mode; - #if (ANLG_FAM != 11) WORD32 afc_fix; - #endif UWORD32 uw32_store_next_time; - #if (CHIPSET != 15) static UWORD32 previous_sleep = FRAME_STOP; - #endif #if (W_A_CALYPSO_PLUS_SPR_19599 == 1) BOOL extended_page_mode_state = 0; //Store state of extended page mode #endif - #if (CHIPSET != 15) WORD32 time_from_last_wakeup=0; - #endif #if (OP_BT == 1) WORD32 hci_ll_status; @@ -819,10 +809,28 @@ why_big_sleep = BIG_SLEEP_DUE_TO_UNDEFINED; wakeup_type = WAKEUP_FOR_UNDEFINED; -#if (CHIPSET != 15) time_from_last_wakeup = (sleep_time - last_wakeup + 42432) % 42432; -#endif + + //================================================= + // check System (SIM, UART, LDC ..... ) + //================================================= + sleep_mode = Cust_check_system(); + #if (GSM_IDLE_RAM != 0) + //================================================= + // check System (SIM, UART, LDC ..... ) + //================================================= + gsm_idle_ram_ctl->sleep_mode = sleep_mode; + #endif + + if (sleep_mode == DO_NOT_SLEEP) + { + #if (GSM_IDLE_RAM != 0) + gsm_idle_ram_ctl->os_load = 0; + gsm_idle_ram_ctl->hw_timer = 0; + #endif // GSM_IDLE_RAM + return; + } #if (CODE_VERSION != SIMULATION) //================================================= @@ -836,43 +844,6 @@ //================================================= INT_DisableIRQ(); #endif // NOT SIMULATION - //================================================= - // check System (SIM, UART, LDC ..... ) - //================================================= -#if (CHIPSET == 15) - #if (WCP_PROF == 0) - sleep_mode = Check_Peripheral_App(); /* For Locosto */ - #else - sleep_mode = DO_NOT_SLEEP; //Check_Peripheral_App(); /* For Locosto */ - #endif -#else - sleep_mode = Cust_check_system(); -#endif - - #if (GSM_IDLE_RAM != 0) - //================================================= - // check System (SIM, UART, LDC ..... ) - //================================================= - gsm_idle_ram_ctl->sleep_mode = sleep_mode; - #endif - - if (sleep_mode == DO_NOT_SLEEP) - { - OS_system_Unprotect(); - // free System structure - // Enable all IRQ - //l1_pwmgr_irq_dis_flag = 0; - #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 - #if (GSM_IDLE_RAM != 0) - gsm_idle_ram_ctl->os_load = 0; - gsm_idle_ram_ctl->hw_timer = 0; - #endif // GSM_IDLE_RAM - return; - } - #if (OP_L1_STANDALONE == 0) /*GC_Sleep(); OMAPS00134004*/ @@ -881,23 +852,23 @@ // check OS loading //================================================= OSload = OS_get_inactivity_ticks(); - #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 + #if 0 /* FreeCalypso TCS211 reconstruction */ + 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 //================================================= // check HW Timers loading //================================================= HWtimer= l1s_get_HWTimers_ticks(); - #if (CODE_VERSION!=SIMULATION) - if (HWtimer == 0){ - l1_pwmgr_debug.fail_id = FAIL_SLEEP_DUE_TO_HWTIMER; - l1_pwmgr_debug.fail_ret_val = 0; - } - #endif //NOT SIMULATION + #if 0 /* FreeCalypso TCS211 reconstruction */ + if (HWtimer == 0){ + l1_pwmgr_debug.fail_id = FAIL_SLEEP_DUE_TO_HWTIMER; + l1_pwmgr_debug.fail_ret_val = 0; + } + #endif #if (GSM_IDLE_RAM != 0) //================================================= @@ -922,11 +893,11 @@ #else min_time_gauging = -1; // not used #endif - #if (CODE_VERSION!=SIMULATION) - if (min_time_gauging == 0){ - l1_pwmgr_debug.fail_id = FAIL_SLEEP_DUE_TO_MINTIMEGAUGING; - l1_pwmgr_debug.fail_ret_val = 0; - } + #if 0 /* FreeCalypso TCS211 reconstruction */ + if (min_time_gauging == 0){ + l1_pwmgr_debug.fail_id = FAIL_SLEEP_DUE_TO_MINTIMEGAUGING; + l1_pwmgr_debug.fail_ret_val = 0; + } #endif // NOT SIMULATION @@ -941,9 +912,7 @@ if ( !OSload || !HWtimer || !min_time_gauging - #if (CHIPSET != 15) || ((sleep_mode != CLOCK_STOP) && ((why_big_sleep == BIG_SLEEP_DUE_TO_UART) || (why_big_sleep == BIG_SLEEP_DUE_TO_SIM))) - #endif #if (OP_BT == 1) || !hci_ll_status #endif @@ -975,11 +944,7 @@ } #endif -#if (CHIPSET != 15) SER_WakeUpUarts(); // Wake up Uarts -#else - // To be checked if this needs a change -#endif #if (GSM_IDLE_RAM != 0) // The traffic controller state shall be restored as it was before @@ -992,7 +957,7 @@ flag_traffic_controller_state = 0; #endif #endif - #if (CODE_VERSION!=SIMULATION) + #if 0 /* FreeCalypso TCS211 reconstruction */ l1_trace_fail_sleep(FAIL_SLEEP_OSTIMERGAUGE, l1_pwmgr_debug.fail_id, l1_pwmgr_debug.fail_ret_val); #endif return; @@ -1064,8 +1029,6 @@ l1s.pw_mgr.sleep_performed = FRAME_STOP; - -#if (CHIPSET != 15) if ((previous_sleep == CLOCK_STOP) && (time_from_last_wakeup < 7)) { #if (CODE_VERSION != SIMULATION) @@ -1102,113 +1065,9 @@ #endif // NOT SIMULATION return; } -#else // CHIPSET == 15 - - - if (l1s.pw_mgr.sleep_performed == CLOCK_STOP) - { - - #if (CODE_VERSION != SIMULATION) - UWORD8 local_sleep_status; - - - local_sleep_status = Peripheral_interface[UART_ID](SLEEP_CMD); - sleep_status = local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = UART_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - OS_system_Unprotect(); - local_sleep_status = Peripheral_interface[MADC_AS_ID](SLEEP_CMD); /* Call MADC & Stereo Sleep before I2C */ - OS_system_protect(); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = MADC_AS_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - local_sleep_status = Peripheral_interface[USB_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = USB_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - local_sleep_status = Peripheral_interface[USIM_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = USIM_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - local_sleep_status = Peripheral_interface[I2C_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = I2C_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - local_sleep_status = Peripheral_interface[LCD_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = LCD_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - local_sleep_status = Peripheral_interface[CAMERA_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = CAMERA_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } -local_sleep_status = Peripheral_interface[BCI_ID](SLEEP_CMD); - sleep_status &= local_sleep_status; - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_id = BCI_ID; - l1_pwmgr_debug.fail_ret_val = sleep_status; - } - - #endif // NOT SIMULATION - if(!sleep_status) - { - - #if (OP_L1_STANDALONE == 0) - /*GC_Wakeup(); OMAPS00134004*/ - #endif - - #if (CODE_VERSION != SIMULATION) - OS_system_Unprotect(); - l1_trace_fail_sleep(FAIL_SLEEP_PERIPH_SLEEP, l1_pwmgr_debug.fail_id, l1_pwmgr_debug.fail_ret_val); - #endif // NOT SIMULATION - local_sleep_status = Peripheral_interface[UART_ID](WAKE_CMD); //OMAPS00090550 - local_sleep_status = Peripheral_interface[USB_ID](WAKE_CMD); //OMAPS00090550 - local_sleep_status = Peripheral_interface[USIM_ID](WAKE_CMD); //OMAPS00090550 - local_sleep_status = Peripheral_interface[I2C_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[LCD_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[CAMERA_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[MADC_AS_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[BCI_ID](WAKE_CMD); //wake up for battery charger interface//OMAPS00090550 - INT_EnableIRQ(); - return; - } - } - -#endif // CHIPSET == 15 - -#if (CHIPSET != 15) // update previous sleep previous_sleep = l1s.pw_mgr.sleep_performed; -#endif #if (CODE_VERSION != SIMULATION) @@ -1246,41 +1105,7 @@ { l1ctl_pgm_clk32(DEFAULT_HFMHZ_VALUE*8,DEFAULT_32KHZ_VALUE); } - - #if (CHIPSET == 15) - - - /* These APIs are to be provided by BSP */ - // Disable_APC_BG(); - gpio_sleep(); //LCD_Floating Pin Fix - DBB_Configure_DS(); - - //gpio_sleep(); //LCD_Floating Pin Fix - - #endif - - } - #if (CHIPSET == 15) - else - { - //DBB_Configure_BS(); // Not used - } - #endif - - - #if (CHIPSET == 15) - // The following command writes '0' into CKM_OCPCLK register in DRP; - // This is done before disabling DPLL - // CKM_OCPCLK (R/W) = Address 0xFFFF040C - // Bit 0: 0 ?OCP clock is the DCXO clock. - // 1 ?OCP clock is the divided DSP clock - // Bit 31:1 Not Used - (drp_regs->CKM_OCPCLKL) &= (~(0x1)); - asm(" NOP"); - asm(" NOP"); - #endif - //============================================== @@ -1294,11 +1119,7 @@ //============================================== // if CLOCK_STOP or FRAME-STOP : Asleep OMEGA (ABB) //============================================== - #if (ANLG_FAM != 11) 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 #if (OP_BT == 1) hci_ll_go_to_sleep(); @@ -1307,9 +1128,7 @@ // STop SPI ..... //================================================= - #if(CHIPSET != 15) - *((volatile UWORD16 *)MEM_SPI)&=0xFFFE; // SPI CLK DISABLED - #endif + *((volatile UWORD16 *)MEM_SPI)&=0xFFFE; // SPI CLK DISABLED #endif // NOT SIMULATION @@ -1430,16 +1249,12 @@ //Shut down PERIPHERALS clocks UWIRE and ARMIO if authorized //========================================================== - #if(CHIPSET != 15) - UWORD16 clocks_stopped; //OMAPS90550- new + 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 #if (W_A_CALYPSO_BUG_01435 == 1) f_arm_sleep_cmd(BIG_SLEEP); @@ -1474,19 +1289,7 @@ #endif - 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 - // Bit 0: 0 ?OCP clock is the DCXO clock. - // 1 ?OCP clock is the divided DSP clock - // Bit 31:1 Not Used - (drp_regs->CKM_OCPCLKL) |= (0x1); - asm(" NOP"); - asm(" NOP"); - #endif + l1s_wakeup(); last_wakeup = l1s.actual_time.fn_mod42432; @@ -1516,37 +1319,6 @@ // (*(volatile UWORD16 *)l1s_tpu_com.reg_cmd) = TPU_CTRL_CLK_EN; UWORD8 local_sleep_status; - - #if (CHIPSET == 15) - - DBB_Wakeup_DS(); - - gpio_wakeup(); //LCD_Floating Pin Fix - - /* These APIs to be provided by BSP */ - //Enable_APC_BG(); - //BT_Wakeup(); - //IRDA_Wakeup(); - local_sleep_status = Peripheral_interface[UART_ID](WAKE_CMD); //OMAPS00090550 - local_sleep_status = Peripheral_interface[USB_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[USIM_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[I2C_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[LCD_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[CAMERA_ID](WAKE_CMD);//OMAPS00090550 - - OS_system_Unprotect(); - local_sleep_status = Peripheral_interface[MADC_AS_ID](WAKE_CMD);//OMAPS00090550 - local_sleep_status = Peripheral_interface[BCI_ID](WAKE_CMD); //wake up for battery charger//OMAPS00090550 - OS_system_protect(); - //added for OMAPS00090550 warning removal - if(local_sleep_status == 0) - { - l1_pwmgr_debug.fail_ret_val = local_sleep_status; - } - //upto this OMAPS00090550 - - - #endif l1dmacro_RF_wakeup(); } @@ -1564,18 +1336,12 @@ //================================================= //if CLOCK_STOP or FRAME-STOP : ReStart SPI //================================================= - #if(CHIPSET != 15) - *((volatile UWORD16 *)MEM_SPI)|=0x0001; // SPI CLK ENABLED - #endif + *((volatile UWORD16 *)MEM_SPI)|=0x0001; // SPI CLK ENABLED //================================================= // Wake up ABB //================================================= - #if (ANLG_FAM != 11) 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 #if (OP_BT == 1) hci_ll_wake_up(); @@ -1657,12 +1423,7 @@ #endif - -#if (CHIPSET != 15) SER_WakeUpUarts(); // Wake up Uarts -#else - // To be checked if this needs a change -#endif #if (GSM_IDLE_RAM != 0)