This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Omap35 Suspend Power Consumption

Other Parts Discussed in Thread: SYSCONFIG

 

Dear Experts,

I am using OMAP35X and WinCE6.14.

 

I try to reduce suspend power consumption.

Attached file is the suspend-resume log comparison between my platform and EVM board.

I disabled some device's clock and remove usb/otg driver.

The suspend-resume log is similar to EVM board, but suspend state is still not OFF.

(suspend state: 1, LATENCY_STATE_CHIP_OSWR     1, CORE+OTHER = OSWR, MPU = CSWR)

 

There is a stange register : Clock_Control_Reg_CM : CM_IDLEST_CKGEN : 0x00000207

It seems to describe that the clocks of Core/periph/96M/EMU are still working.

But my CLOCK ref counts are the same with EVM Boards!

 

Can anyone tell me how to enter OFF suspend state !!?? ~

 

 

3482.PM_cmp1.html

  • Did you compare with BSP 6.15  (the last of the BSP 6.xx releases)? There were some fixes in that release that you may want to merge.  

    Please note that active support is only possible on the latest BSP release that can be found here.  http://focus.ti.com/docs/toolsw/folders/print/wincesdk-a8.html

  •  

    As Jatin mentioned, to get timely support on this issue, you'd better switch to the latest BSP.

    Here are a few pointers:

    1. Registry setting for SuspendState

    [HKEY_LOCAL_MACHINE\OMAPPMX\Policies\DEVMON]
        ;LATENCY_STATE_CHIP_OFF      0, CORE+MPU+OTHER = OFF",
        ;LATENCY_STATE_CHIP_OSWR     1, CORE+OTHER = OSWR, MPU = CSWR",
        ;LATENCY_STATE_CHIP_CSWR     2, CORE+OTHER = CSWR, MPU = CSWR",
        ;LATENCY_STATE_CORE_CSWR     3, OTHER=OFF/OSWR/CSWR/INACTIVE, CORE = CSWR, MPU=CSWR",
        ;LATENCY_STATE_CORE_INACTIVE 4, OTHER=OFF/OSWR/CSWR/INACTIVE, CORE = INACTIVE, MPU=CSWR",
        ;LATENCY_STATE_MPU_INACTIVE  5, OTHER=OFF/OSWR/CSWR/INACTIVE, CORE+MPU = INACTIVE"
        ; CSWR = Clock Stopped With Retention
        ; OSWR = Off State With Retention
        "SuspendState"=dword:0

    2. Try to dump register(    PrcmRegsSnapshot() ) after function call - fnOALCPUIdle(g_pCPUInfo);

        It gives more accurate information what domain is not in OFF mode during suspend.

    3. From the register dump(step 2), check PM_PREPW STST for each power domain to see if it is in OFF state.

    For example, from your log, PER domain, CORE domain, MPU domain were in ON state. It is because the register dump was taken before the OALCPU idle function

    4. Try to merge the changes for 6.15. since in 6.15, the system is able to achieve real OFF mode, VDD1 and VDD2 becomes 0V during system suspend.

    Thanks,

    Tao


     

  • Dear Tao and Jatin,

    After merging 6.15, I can enter real OFF mode.

    But some issues come with this status. Can u give me some suggestions ~?!

    1) CSDIOControllerBase::PowerDown()

             OUTREG32(&m_pbRegisters->MMCHS_SYSCONFIG, MMCHS_SYSCONFIG_AUTOIDLE | MMCHS_SYSCONFIG_SIDLEMODE(SIDLE_FORCE));

    This command will help me enter real off mode, but it will disable my backlight operation. I can't adjust brightness after resume.

     

    2) issue 1) will also cause a kernel issue. When I enter suspend. It will always cause:

    Exception 'Data Abort' (4): Thread-Id=02360002(pth=93cfc000), Proc-Id=00400002(pprc=8c011308) 'NK.EXE', VM-active=01c50006(pprc=93d96804) 'udevice.exe'

    PC=d3e022cc(ehcihcd.dll+0x000022cc) RA=d3e0229c(ehcihcd.dll+0x0000229c) SP=d397f1fc, BVA=00000000

     

    3) System is unstable. When entering suspend, sometimes can't enter suspend mode, sometimes can't resume.

     

    thx ~!

  • Which platform did you see the problems? EVM or your customized board?

    To clarify, we have resolved several suspend and resume related issues in our latest Combined BSP(not Bsquare BSP), link is given by Jatin.

    Thanks,

    Tao

  • Dear Tao,

    This is customized board.

    I will try to merge latest version BSP.

    thx ~