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.

SYS/BIOS 6.33.01.25 Power Module support C6747/5/3 and OMAP-L137?

Other Parts Discussed in Thread: OMAP-L137, OMAP-L138, SYSBIOS

Hi,

Power Module is added in SYS/BIOS 6.33.01.25.
So dose it support C6747/5/3 and OMAP-L137?

According to the APIs doc, The SYS/BIOS Power Manager, (Power module) provides APIs that allow you to reduce power consumption of C6748 and OMAP-L138 applications.

Thanks in advance for your cooperation.

Best regards,
j-breeze

  • j-breeze,

    The documentation is correct, only the C6748 and OMAP-L138 are supported.  There are no plans to support C6747/5/3 or OMAP-L137.

    Scott

  • Scott-san,

    Thank you for your prompt reply.
    So, could you please let me know about any other ways to support power management using bios6 for C6747/5/3 and OMAP-L137, if you have any?

    Best regrds,
    j-breeze

  • j-breeze-san,

    The only direct software support I know of is the PSC module provided with PSP, which can change individual module states.  You can find it as part of the PSP releases here: http://software-dl.ti.com/dsps/dsps_public_sw/psp/BIOSPSP/index.html

    Since all the source code is provided for the Power module, and for the underlying PSCL and PMI layers, you might consider looking at those and modifying as appropriate for what you want to do on these similar devices.  In particular, the low-level hardware control layer (PMI) (called after any preparation or arbitration by the higher layers) may be a good starting point.  For example, there is a PMI_setModuleState() function (comparable to PSC in PSP) that can be used to move individual circuit modules between their clock-enabled and clock-disabled states.

    And, a basic thing that may save a lot of power is to add your own Idle loop function that invokes the IDLE instruction.  For example, this function:

    Void myIdleFxn()
    {
        asm(" idle");
    }

    Can be added to the Idle loop with this configuration script code:

    var Idle = xdc.useModule('ti.sysbios.knl.Idle');
    Idle.addFunc('&myIdleFxn');

    This will stop the spinning of the Idle loop until the next interrupt fires indicating new data is ready.  Once that work is done, one pass of the Idle loop continues, until IDLE is hit again, and the CPU will be idled again, until the next interrupt.  Doing this alone can save a lot of power for many applications.

    Hope this helps.

    Scott

  • Scott-san,

    Thank you for your help. Your suggestion is really useful for me.

    Best regards,
    j-breeze