ULPM Low Power Mode


I’m evaluating the FX30s (serial version) for a low power application.

With a 6 volt supply, I see 35 mA in active/idle and 25 mA in ULPM
Disabling the indicator LED drops the ULPM current to 22 mA
Disabling the RS-485 and 232 transceivers doesn’t have any further effect

Is there a recommended configuration to reach the sub-mA shutdown current advertised in the user’s guide?

root@fx30s:~# fwupdate query
Connecting to service …
Firmware Version: SWI9X15Y_07.11.22.00 r33729 CARMD-EV-FRMWR1 2017/01/11 18:04:06
Bootloader Version: SWI9X15Y_07.11.22.00 r33729 CARMD-EV-FRMWR1 2017/01/11 18:04:06
Linux Version: 3.14.29ltsi-a00e464379_3f15cd39ad #2 PREEMPT Mon Feb 20 11:11:17 PST 2017
FX30 Version: R13.1.2.004

root@fx30s:~# pmtool query

Ultra Low Power Manager Firmware Version: 001.011

Seems like there are two cases:

After “swiflash -r”, FX30 draws high current after entering ULPM via le_ulpm_ShutDown() from a minimal test app. ULPM exit occurs on timer interrupt as expected. The red power LED isn’t shut off during ULPM entry. This state persists through reboot.

After installing, launching, and uninstalling a more complex app, current draw after entering ULPM from the minimal test app is sub-mA, as expected. The red power LED now shuts off during ULPM entry, and turns back on during return to active mode.

there is a known issue on the RS232 low level driver preventing the FX30S (WP85) from entering ULPM.

To workaround it one must set the UART into RS485 mode and then send the pm tool commands.
Doing so FX30S enters ultra low power mode. Power LED goes off.
Then upon wake-up, UART is set back automatically to RS232 mode (default behavior).

Command sequence is the following:
root@fx30s:~# /usr/bin/rs485.py /sys/devices/platform/msm_serial_hsl.0/rs_mode 1
root@fx30s:~# pmtool bootOn timer 80
root@fx30s:~# pmtool shutdown
Initiated shutdown of MDM