Hello;
I am using the following setup:
* custom HW based on AM335x SoC
* the Linux kernel from AM335xSDK 08.00.00.00
* since the board is custom, I am using my custom Device tree
* for Linux kernel configuration I used omap2plus_defconfig
* ARM Cortex-M3 firmware was obtained from git://git.ti.com/ti-cm3-pm-firmware/amx3-cm3.git (bin/am335x-pm-firmware.elf)
* Linux kernel .config file was modified to automatically load the CM3 FW:
CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.elf"
CONFIG_EXTRA_FIRMWARE_DIR="firmware"
Everything works like a charm until I try to suspend the system.
# echo mem > /sys/power/state
sh: write error: Invalid argument
# echo standby > /sys/power/state
sh: write error: Invalid argument
Dmesg output:
# dmesg | grep -i remoteproc
[ 3.585607] remoteproc0: wkup_m3 is available
[ 3.590345] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 3.600012] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 3.616508] remoteproc0: powering up wkup_m3
# dmesg | grep -i wkup
[ 3.276263] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
[ 3.585607] remoteproc0: wkup_m3 is available
[ 3.616508] remoteproc0: powering up wkup_m3
[ 3.621198] wkup_m3 44d00000.wkup_m3: rproc_boot failed
Is anything missing in my setup? Do I have to modify my device tree to make the suspend work?
I will appreciate your suggestions;
Rostislav Lisovy