Tool/software:
Hi expert
We cannot enter sleep(stand-by) mode with kernel 6.1.46 on our custom board.
How can we enter the sleep mode?
In case of kernel 4.19 and 5.10, we can enter the sleep mode on the board.
SDK version:
09.01.00.001
Board:
custom board
kernel version:
$ uname -a Linux am335x-evm 6.1.46-g1d4b5da681 #2 PREEMPT Tue Nov 5 15:47:28 JST 2024 armv7l GNU/Linux
Operation and error message:
$ echo standby > /sys/power/state bash: echo: write error: Invalid argument
sleep.conf:
$ cat /etc/systemd/sleep.conf [Sleep] SuspendState=standby
device tree:
&wkup_m3_ipc { ti,scale-data-fw = "am335x-evm-scale-data.bin"; }; or &wkup_m3_ipc { ti,scale-data-fw = "am335x-boneblack-scale-data.bin"; }; or &wkup_m3_ipc { firmware-name = "am335x-evm-scale-data.bin"; };
ls of /lib/firmware:
am335x-bone-scale-data.bin am335x-evm-scale-data.bin am335x-pm-firmware.elf am43x-evm-scale-data.bin inv_dmpfirmware.bin regulatory.db regulatory.db.p7s ti-connectivity/
An excerpt from dmesg output:
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.1.46-g1d4b5da681 (katsu@pck-134) (arm-oe-linux-gnueabi-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #2 PREEMPT Tue Nov 5 15:47:28 JST 2024 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: JRCM AM335x JRN-430K [ 0.000000] Memory policy: Data cache writeback [ 0.000000] efi: UEFI not found. [ 0.000000] cma: Reserved 64 MiB at 0x88800000 [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000080000000-0x000000008fdfffff] [ 0.000000] HighMem empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000008fdfffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008fdfffff] [ 0.000000] CPU: All CPU(s) started in SVC mode. ... [ 0.163293] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.613646] remoteproc remoteproc0: wkup_m3 is available ... [ 1.071960] edma 49000000.dma: TI EDMA DMA engine driver ... [ 3.261695] remoteproc remoteproc0: powering up wkup_m3 [ 3.267221] remoteproc remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2 [ 3.379025] remoteproc remoteproc0: Falling back to sysfs fallback for: am335x-pm-firmware.elf [ 3.391467] input: wakeup_pins as /devices/platform/wakeup_pins/input/input0 ... [ 24.433096] PM: Cannot get wkup_m3_ipc handle [ 25.345573] PM: Cannot get wkup_m3_ipc handle [ 44.610947] PM: Cannot get wkup_m3_ipc handle [ 64.491064] remoteproc remoteproc0: request_firmware failed: -110 [ 64.497362] wkup_m3_ipc 44e11324.wkup_m3_ipc: rproc_boot failed
Kernel config:
# Firmware Loading from rootfs CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y # AMx3 Power Config Options CONFIG_MAILBOX=y CONFIG_OMAP2PLUS_MBOX=y CONFIG_WKUP_M3_RPROC=y CONFIG_SOC_TI=y CONFIG_WKUP_M3_IPC=y CONFIG_TI_EMIF_SRAM=y/m CONFIG_AMX3_PM=y/m CONFIG_RTC_DRV_OMAP=y/m
Best Regards,
Katsuyama