module ti.sysbios.family.c66.vayu.Power

Power Module

This module is used to reduce power consumption of the DSP subsystem. [ more ... ]
C synopsis target-domain sourced in ti/sysbios/family/c66/vayu/Power.xdc
DETAILS
This module is used to reduce power consumption of the DSP subsystem.
Suspend/Resume with Hibernation: The DSP subsystem context is saved to external RAM, and GEM is put into standby. Upon the standby transition, PRCM will transition the power domain to off. Upon release from reset, the CPU will start executing from reset; a reset hook function will hijack the boot process, restore CPU state, return back into the Power_suspend() API, which will restore the remaining DSP subsystem context, and then return to its caller, to resume the application.
The application must explicitly call to Power_suspend() for Suspend/Resume functionality.
Suspend/Resume can be invoked from Task, Swi, or Idle loop context. It cannot be invoked from Hwi context.
 
enum Power_Suspend

Suspend Level

C synopsis target-domain
typedef enum Power_Suspend {
    Power_Suspend_HIBERNATE
    // Suspend to HIBERNATE state
} Power_Suspend;
 
 
config Power_systemRegs  // module-wide

Base address of SYSC registers

C synopsis target-domain
extern const Ptr Power_systemRegs;
 
 
config Power_tpccRegs  // module-wide

Base address of EDMA TPCC registers

C synopsis target-domain
extern const Ptr Power_tpccRegs;
 
 
Power_suspend()  // module-wide

Function used for suspend/resume of the DSP subsystem

C synopsis target-domain
UInt Power_suspend(Power_Suspend level);
 
DETAILS
This function will save DSP subsystem context and then put GEM into standby, as the final steps for a transition to hibernate (also referred to as off-mode).
Prior to invoking this function the application software must prepare for suspend, which includes: configuring PRCM for the appropriate transition once GEM goes to standby; disabling unintended wakeup interrupts, and configuring intended wakeups; taking care of any required notifications to software components; and 'quieting' of the DSP application (e.g., ensuring that all in-progress EDMA activity completes).
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
 
Configuration settings sourced in ti/sysbios/family/c66/vayu/Power.xdc
var Power = xdc.useModule('ti.sysbios.family.c66.vayu.Power');
module-wide constants & types
    values of type Power.Suspend// Suspend Level
module-wide config parameters
 
 
 
enum Power.Suspend

Suspend Level

Configuration settings
values of type Power.Suspend
    const Power.Suspend_HIBERNATE;
    // Suspend to HIBERNATE state
 
C SYNOPSIS
 
config Power.systemRegs  // module-wide

Base address of SYSC registers

Configuration settings
Power.systemRegs = Ptr 0x01D00000;
 
C SYNOPSIS
 
config Power.tpccRegs  // module-wide

Base address of EDMA TPCC registers

Configuration settings
Power.tpccRegs = Ptr 0x03300000;
 
C SYNOPSIS
 
metaonly config Power.common$  // module-wide

Common module configuration parameters

Configuration settings
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

Name of segment to load Power's reset code and saved context

Configuration settings
Power.loadSegment = String "EXT_RAM";
 
generated on Thu, 25 May 2017 22:09:22 GMT