module ti.sysbios.family.arm.ducati.omap4430.Power

Power support for Ducati on OMAP4430

C synopsis target-domain sourced in ti/sysbios/family/arm/ducati/omap4430/Power.xdc
 
const Power_L2RAM

Physical address of L2 RAM

C synopsis target-domain
#define Power_L2RAM (Ptr)0x55020000
 
 
struct Power_SuspendArgs

Suspend arguments structure

C synopsis target-domain
typedef struct Power_SuspendArgs {
    Bool pmMasterCore;
    // Master core for suspend/resume?
    Bool rendezvousResume;
    // Rendezvous before resume?
    Int dmaChannel;
    // SDMA channel for L2 RAM save; -1=CPU copy
    UInt intMask31_0;
    // Mask of interrupts (31-0) able to wake WFI
    UInt intMask63_32;
    // Mask of interrupts (63-32) able to wake WFI
    UInt intMask79_64;
    // Mask of interrupts (79-64) able to wake WFI
} Power_SuspendArgs;
 
 
config Power_idle  // module-wide

Idle the CPU when threads blocked waiting for an interrupt?

C synopsis target-domain
extern const Bool Power_idle;
 
 
config Power_rendezvousGateIndex  // module-wide

Rendezvous Gate index

C synopsis target-domain
extern const UInt Power_rendezvousGateIndex;
 
 
config Power_sdmaRegs  // module-wide

Base address of SDMA registers

C synopsis target-domain
extern const Ptr Power_sdmaRegs;
 
 
Power_idleCPU()  // module-wide

Function used to automatically idle the CPU in the Idle loop

C synopsis target-domain
Void Power_idleCPU();
 
DETAILS
When the 'idle' configuration parameter is set, this function will be added to the list of Idle loop functions. When called from the Idle loop, it will invoke the wait for interrupt (WFI) instruction, to idle the CPU until the next interrupt occurs.
 
Power_suspend()  // module-wide

Function used for suspend/resume of the M3 cores

C synopsis target-domain
UInt Power_suspend(Power_SuspendArgs *args);
 
DETAILS
Precondition and usage constraints:
1) Before this function is called the application must disable all interrupts that are not desired to wake the CPU from WFI while waiting for the core domain to go off.
2) For those interrupts that are desired to wake the CPU from WFI (for example, the mailbox interrupt), these interrupts cannot be generated until the Power_suspend API has reached the point of executing WFI. If the interrupts happen early, while this API is saving context, the resulting context may be stale, and the application may not resume correctly. Two global flags (one for each M3 core) are assert immediately before invoking WFI; the wakeup interrupts should not be asserted until these flags are asserted (non-zero): ti_sysbios_family_arm_ducati_omap4430_readyIdleCore0 ti_sysbios_family_arm_ducati_omap4430_readyIdleCore1
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId Power_Module_id();
// Get this module's unique id
 
Bool Power_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle Power_Module_heap();
// The heap from which this module allocates memory
 
Bool Power_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 Power_Module_getMask();
// Returns the diagnostics mask for this module
 
Void Power_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
XDCscript usage meta-domain sourced in ti/sysbios/family/arm/ducati/omap4430/Power.xdc
var Power = xdc.useModule('ti.sysbios.family.arm.ducati.omap4430.Power');
module-wide constants & types
    const Power.L2RAM// Physical address of L2 RAM = 0x55020000;
 
        obj.pmMasterCore// Master core for suspend/resume? = Bool  ...
        obj.rendezvousResume// Rendezvous before resume? = Bool  ...
module-wide config parameters
 
 
 
const Power.L2RAM

Physical address of L2 RAM

XDCscript usage meta-domain
const Power.L2RAM = 0x55020000;
 
C SYNOPSIS
 
struct Power.SuspendArgs

Suspend arguments structure

XDCscript usage meta-domain
var obj = new Power.SuspendArgs;
 
    obj.pmMasterCore = Bool  ...
    // Master core for suspend/resume?
    obj.rendezvousResume = Bool  ...
    // Rendezvous before resume?
    obj.dmaChannel = Int  ...
    // SDMA channel for L2 RAM save; -1=CPU copy
    obj.intMask31_0 = UInt  ...
    // Mask of interrupts (31-0) able to wake WFI
    obj.intMask63_32 = UInt  ...
    // Mask of interrupts (63-32) able to wake WFI
    obj.intMask79_64 = UInt  ...
    // Mask of interrupts (79-64) able to wake WFI
 
C SYNOPSIS
 
config Power.idle  // module-wide

Idle the CPU when threads blocked waiting for an interrupt?

XDCscript usage meta-domain
Power.idle = Bool false;
 
C SYNOPSIS
 
config Power.rendezvousGateIndex  // module-wide

Rendezvous Gate index

XDCscript usage meta-domain
Power.rendezvousGateIndex = UInt 1;
 
C SYNOPSIS
 
config Power.sdmaRegs  // module-wide

Base address of SDMA registers

XDCscript usage meta-domain
Power.sdmaRegs = Ptr 0x4A056000;
 
C SYNOPSIS
 
metaonly config Power.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
Power.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly config Power.loadSegment  // module-wide

Segment to load Power's shared reset code and data

XDCscript usage meta-domain
Power.loadSegment = String "EXT_SHARED_RAM";
 
generated on Thu, 01 Mar 2012 16:57:49 GMT