I’m looking at the power management API provided by Legato. I’m using the FX30 user guide here:
https://source.sierrawireless.com/resources/airlink/hardware_reference_docs/airlink_fx30_hw_user_guide/
I’m able to get the FX30 to shutdown and wakeup based on a timer. I’m not understanding something about the “boot on gpio” feature. I see the example shows the following to set the GPIO on which to boot:
This is supposedly setting the FX30 to boot on gpio36.
LE_ERROR_IF(le_ulpm_BootOnGpio(36, LE_ULPM_GPIO_HIGH) != LE_OK, “Can’t set gpio36 as boot source”);
From the legato source (legato/components/powerMgr/le_ulpm.c) I see a “le_ulpm_BootOnGpio” function which includes the comment “// Build gpio boot source path, i.e. “/sys/module/swimcu_pm/boot_source/gpio/edge””. When I check "ls /sys/module/swimcu_pm/boot_source/” I see an entry for gpio36, gpio38, and gpio39. I expect this to mean you can boot on 36, 38, or 39. I tried booting on a gpio other than the ones listed but I get an error from “le_ulpm_BootOnGpio” about the nonexistent gpio file in “/sys/module/swimcu_pm/boot_source/”.
The “Ultra Low Power Mode” section of the FX30 User Guide states “Digital Inputs IO1 and IO2 (IO wakeup must be configured prior to the gateway entering ULPM.) You can use the Legato Power API or pmtool command to configure wakeup from ULPM”. Table 3-8 shows IO1 and IO2 are connected to GPIO2 and GPIO21. Am I missing something here?