This firmware has three purposes:
- bridge m33 hardware with linux
- minimize power consumption during suspend
- allow user code to run
Power management is done in main.c as well as lpm.c
Hardware bridge to linux is split by component:
app_srtm.c: main linux communication driversrtm/services/*: individual protocols for each driverapp_*.c: hardware implementation for each driver
The custom directory contains hooks that can be customized for specific applications.
custom/custom.c: hooks at various points of lifecycle (boot, before/after suspend) and gpio irqcustom/cli_custom.c: add commands for CLI (ttyrpmsg0 from linux or console)custom/app_tty_custom.c: free form console that can be bound as ttyrpmsgX through linux DTS
This was originally based on NXP's power_mode_switch demo as found in
https://github.com/nxp-mcuxpresso/mcux-sdk-examples
evkmimx8ulp/demo_apps/power_mode_switch directory.