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.

CC3220MOD: CC3220

Part Number: CC3220MOD
Other Parts Discussed in Thread: CC3220SF

Hi,

I am working on power management for CC3220MOD device.

I am able to enter in LPDS mode after calling a relevant function.

But after generating interrupt on GPIO13 pin , I am not able to come out of LPDS .

Is there any specific configuration that is required for this purpose?

Regrds,

Pranav

  • Hi Pranav,

    Please check the following in PowerCC32XX_config of CC3220SF_LAUNCHXL.c:
    - .enableGPIOWakeupLPDS = true
    - .wakeupGPIOSourceLPDS = PRCM_LPDS_GPIO13
    - .wakeupGPIOTypeLPDS = PRCM_LPDS_FALL_EDGE
    - .wakeupGPIOFxnLPDS = yourGPIOFxn

    With this configuration, a falling edge on GPIO13 will wake the device from LPDS and call yourGpioFxn.



    Regards,
    Toby
  • Hi Toby,

    I have configured the power options as mentioned by you.
    Please have a look at my settings,

    const PowerCC32XX_ConfigV1 PowerCC32XX_config = {
    .policyInitFxn = &PowerCC32XX_initPolicy,
    .policyFxn = &PowerCC32XX_sleepPolicy,
    .enterLPDSHookFxn = NULL,
    .resumeLPDSHookFxn = NULL,
    .enablePolicy = false,
    .enableGPIOWakeupLPDS = true,
    .enableGPIOWakeupShutdown = true,
    .enableNetworkWakeupLPDS = true,
    .wakeupGPIOSourceLPDS = PRCM_LPDS_GPIO13,
    .wakeupGPIOTypeLPDS = PRCM_LPDS_FALL_EDGE,
    .wakeupGPIOFxnLPDS = NULL,
    .wakeupGPIOFxnLPDSArg = 0,
    .wakeupGPIOSourceShutdown = PRCM_HIB_GPIO13,
    .wakeupGPIOTypeShutdown = PRCM_HIB_RISE_EDGE,
    .ramRetentionMaskLPDS = PRCM_SRAM_COL_1 | PRCM_SRAM_COL_2 |
    PRCM_SRAM_COL_3 | PRCM_SRAM_COL_4,
    .keepDebugActiveDuringLPDS = false,
    .ioRetentionShutdown = PRCM_IO_RET_GRP_1,
    .pinParkDefs = parkInfo,
    .numPins = sizeof(parkInfo) / sizeof(PowerCC32XX_ParkInfo)
    };


    Regards,

    Pranav

  • Please provide function that is called after interrupt:

    .wakeupGPIOFxnLPDS = nameOfYourFunction