PWRM_configure
Application Program Interface
2-313
C Interface
Syntax
status = PWRM_configure(attrs);
Parameters
PWRM_Attrs
attrs;
/* configuration attributes */
Return Value
PWRM_Status status;
/* returned status */
Reentrant
yes
Description
PWRM_configure specifies new configuration properties for the PWRM
module. It overrides those specified in the static configuration.
The PWRM_Attrs parameter you pass to PWRM_configure has the
following structure:
typedef struct PWRM_Attrs {
Bool scaleVoltage; /* scale voltage */
Bool waitForVoltageScale; /* wait on volt change */
Uns idleMask; /* domains to idle */
} PWRM_Attrs;
In this structure, scaleVoltage indicates whether PWRM should scale
voltages during setpoint changes. It corresponds to the "Scale voltage
along with frequency" property in the V/F Scaling tab of the configuration.
If scaleVoltage is TRUE, the voltage is scaled down if possible when
going to a lower frequency. If scaleVoltage if FALSE, the voltage is not
scaled lower. The voltage is always scaled up if the new setpoint
frequency is higher than that supported at the current voltage.
The waitForVoltageScale flag indicates whether PWRM should wait for a
down-voltage transition to complete before returning from
PWRM_changeSetpoint. It corresponds to the "Wait while voltage is
being scaled down" property in the V/F Scaling tab of the configuration.
Such transition times can be long, as they typically depend upon power
supply load. Currently, it is recommended that this item always be TRUE.
(The PWRM module always waits during up-voltage transitions; this is
required to avoid over-clocking the DSP.)
The idleMask is a bitmask that specifies additional clock domains to be
idled in the DSP/BIOS idle loop. This bitmask is ORed with the current
Idle Status Register (ISTR) contents and then written to the Idle
Configuration Register (ICR) before idling the processor. When the
processor is awoken by an interrupt, the bits for the domains that were
PWRM_configure
Set new configuration properties for PWRM