What are the bootable GPIO for FX30?


I’m looking at the power management API provided by Legato. I’m using the FX30 user guide here:

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?


Hi @jrm06c,

The external digital IO1 and IO2 are connected to GPIO2 and GPIO21 on the WP module as standard digital inputs.

They are also routed to GPIO36 and GPIO38 (not GPIO39) to wake up from ULPM.



Okay, thanks. A wiring diagram or at least an architecture overview would do a lot to avoid this sort of confusion. I think this should at least be added to the user guide (something to indicate IO1 and IO2 go to both GPIO2/GPIO36 and GPIO21/GPIO38).


Yes, thanks for you feedback!