Can not put WP8548 in ultra low power mode

I am trying to use the le_ulpm API to put the module in ultra low power mode. I am using the MangOH board for development. I am calling the following function which sets wake up sources (timer and GPIO:s) and then attempts to shut down:

void SwitchToLowPowerMode
(
    void
)
{
    char version[LE_ULPM_MAX_VERS_LEN+1];

    // Get ultra low power manager firmware version
    LE_FATAL_IF(le_ulpm_GetFirmwareVersion(version, sizeof(version)) != LE_OK,
        "Failed to get ultra low power firmware version");

     LE_INFO("Ultra Low Power Manager Firmware version: %s", version);

    // Boot after 100 seconds of shutdown.
    LE_ERROR_IF(le_ulpm_BootOnTimer(100) != LE_OK, "Can't set timer as boot source");

    // Boot if GPIO36 voltage level is high.
    LE_ERROR_IF(le_ulpm_BootOnGpio(36, LE_ULPM_GPIO_HIGH) != LE_OK, "Can't set gpio36 as boot source");

    // Boot if GPIO38 voltage level is low.
    LE_ERROR_IF(le_ulpm_BootOnGpio(38, LE_ULPM_GPIO_LOW) != LE_OK, "Can't set gpio38 as boot source");

    // Initiate shutdown.
    LE_ERROR_IF(le_ulpm_ShutDown() != LE_OK, "Can't initiate shutdown");
}

When running the program, I get the following error message:

Jan 6 07:04:09 | Legato | powerManagerService[487]/powerMgr T=main | le_ulpm.c WriteToSysfs() 119 | Error writing to sysfs file ‘/sys/module/swimcu_pm/boot_source/enable’ (Input/output error).
Jan 6 07:04:09 | Legato | hellolegato[11328]/HelloLegatoComponent T=main | HelloLegato.c SwitchToLowPowerMode() 30 | Can’t initiate shutdown

I was informed by my local supplier that the ultra low power functionality was supported for the first time in release 10, but the problem persists after having upgraded to release 11. Any ideas?

Hi,
Assuming all the boot_source settings were successful, the enable should be too. What version of MCU firmware are you running?
cat /sys/module/swimcu_pm/firmware/version
If it is not 001.005 I suggest upgrading to Release 12. Actually, I would suggest that regardless.
Let me know how that goes.
Thank you,
Sam

The MCU firmware is 001.005 (release 12). Here is the full log from running the function:

Aug 30 15:18:43 | Legato | hellolegato[11043]/framework T=main | le_ulpm_client.c le_ulpm_GetFirmwareVersion() 689 | Sending message to server and waiting for response : 4 bytes sent
Aug 30 15:18:43 | kernel | [14276.750585] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1300c8, irq:187
Aug 30 15:18:43 | Legato | hellolegato[11043]/HelloLegatoComponent T=main | HelloLegato.c SwitchToLowPowerMode() 15 | Ultra Low Power Manager Firmware version: 001.005
Aug 30 15:18:43 | Legato | hellolegato[11043]/framework T=main | le_ulpm_client.c le_ulpm_BootOnTimer() 623 | Sending message to server and waiting for response : 4 bytes sent
Aug 30 15:18:43 | kernel | [14276.756689] qup_i2c qup_i2c.0: I2C slave addr:0x3a not connected
Aug 30 15:18:43 | Legato | hellolegato[11043]/framework T=main | le_ulpm_client.c le_ulpm_BootOnGpio() 559 | Sending message to server and waiting for response : 8 bytes sent
Aug 30 15:18:43 | Legato | hellolegato[11043]/framework T=main | le_ulpm_client.c le_ulpm_BootOnGpio() 559 | Sending message to server and waiting for response : 8 bytes sent
Aug 30 15:18:43 | Legato | hellolegato[11043]/framework T=main | le_ulpm_client.c le_ulpm_ShutDown() 752 | Sending message to server and waiting for response : 0 bytes sent
Aug 30 15:18:43 | kernel | [14276.771064] gpio_check_and_wake: wake-n_gpio77 STATE=WAKEUP
Aug 30 15:18:43 | kernel | [14276.790323] pm_set_mcu_ulpm_enable: ext pin wu fail 4
Aug 30 15:18:43 | Legato | powerManagerService[500]/powerMgr T=main | le_ulpm.c WriteToSysfs() 119 | Error writing to sysfs file ‘/sys/module/swimcu_pm/boot_source/enable’ (Input/output error).
Aug 30 15:18:43 | kernel | [14276.810833] pm_enable_attr_store: invalid input 1 ret -5
Aug 30 15:18:43 | Legato | hellolegato[11043]/HelloLegatoComponent T=main | HelloLegato.c SwitchToLowPowerMode() 27 | Can’t initiate shutdown

Am I missing something related to the kernel messages perhaps?

Hello ,

Anybody solved this problem ! I am facing same issue can not initiate shutdown.
I have 12.2 Release and the firmware is 001.005

I tried upgrading release 13.1 with firmware 001.011 but could not compile the code for this legato version 16.10

Any help is appreciated!
Thanks