SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The GPIO module has local power management by internal clock-gating features:
All channels are also gated using a one-out-of-N scheme. N is the GPIOi.GPIO_CTRL[2:1] GATINGRATIO bit field and can take the values 1, 2, 4, and 8. The interface clock is enabled for this logic one cycle every N cycles. When N is 1, there is no gating and this logic is free-running on the interface clock. When N is 2, 4, or 8, this logic runs at the equivalent frequency of interface clock frequency divided by N.
The interface clock gating is controlled with the GPIOi.GPIO_SYSCONFIG[0] AUTOIDLE bit, which is used to save power when the module is not used because of the multiplexing configuration selected at the chip level. This bit has precedence over all other internal configuration bits.
Table 29-6 describes the power-management features available for the general-purpose interface module.
For information about source clock gating and sleep/wake-up transitions, see Module-Level Clock Management, in Power, Reset, and Clock Management.
For descriptions of the EnaWakeUp, IdleMode, ClockActivity, and StandbyMode features, see Module-Level Clock Management, in Power, Reset, and Clock Management.
Feature | Register Bits/Bit Fields | Description |
---|---|---|
Clock autogating | GPIOi.GPIO_SYSCONFIG[0] AUTOIDLE | It sets the clock-gating strategy for the OCP interface block. |
Slave-idle modes | GPIOi.GPIO_SYSCONFIG[4:3] IDLEMODE | Force-idle, no-idle, and smart-idle wake-up-capable modes are available. |
Clock activity | GPIOi.GPIO_CTRL[0] DISABLEMODULE | Enable and disable the module. |
Debouncing enable | GPIOi.GPIO_DEBOUNCENABLE[31:0] DEBOUNCEENABLE | Debouncing mode is available. |
Global wake-up enable | GPIOi.GPIO_SYSCONFIG[2] ENAWAKEUP | This bit enables the wake-up feature at the module level. |
Wake-up sources enable | GPIOi.GPIO_IRQWAKEN_0[31:0] INTLINE GPIOi.GPIO_IRQWAKEN_1[31:0] INTLINE | This register enables or disables a specific IRQ request source to generate a wake-up signal. |
Table 29-7 describes the clock activity settings.
GPIOi.GPIO_SYSCONFIG[4:3] IDLEMODE | Selected Mode | Description | Wake-Up Events |
---|---|---|---|
00 | Force-idle | The GPIO module goes into inactive mode independently of the internal module state, and the IDLE acknowledge is never sent. | No |
01 | No-idle | The GPIO module does not go into Idle mode and the IDLE acknowledge is never sent. | No |
10 | Smart-idle | The GPIO module evaluates its internal capability to have the interface clock switched off. If there is no more internal activity, the IDLE acknowledge is asserted and the GPIO enters idle mode. | No |
11 | Smart-idle wake-up | The GPIO module evaluates its internal capability to have the interface clock switched off. If there is no more internal activity, the IDLE acknowledge is asserted and the GPIO enters idle mode. | Yes |