Hi,
We trying to turn off VDD_SOC after idle state.
For example on m33 console:
lm suspend
lm M7 suspend
idle
Then we turn off vdd soc (by settingup pf09 stby mode with off vdd soc)
Then release stby pin,
VDD_SOC on m33 start from scratch and we still have RAM saved.
We change code in spl to go for warm boot path in bl31 and sucessfully boot up to kernel.
However then, kernel got stuck after that, you can see lastest log as follow.
I wonder what can be differences between two cases:
- case normal suspend: (keep vdd_soc)
- case abnormal (vdd_soc off) should we do something else on m33 startup for reinitialize some thing in this case?
[2026-07-06 10:39:55.070] NOTICE: BL31: warm resume NS context restored
[2026-07-06 10:39:55.074] [ 1018.529356][ T3251] Calling its_restore_enable+0x0/0x1ac
[2026-07-06 10:39:55.080] [ 1018.529356][ T3251] Calling cpu_pm_resume+0x0/0x5c
[2026-07-06 10:39:55.084] [ 1018.529356][ T3251] Calling kvm_resume+0x0/0x68
[2026-07-06 10:39:55.089] [ 1018.529356][ T3251] Calling irq_gc_resume+0x0/0x110
[2026-07-06 10:39:55.094] [ 1018.529356][ T3251] Calling irq_pm_syscore_resume+0x0/0x24
[2026-07-06 10:39:55.100] [ 1018.529356][ T3251] Calling timekeeping_resume+0x0/0x188
[2026-07-06 10:39:55.105] [ 1018.529356][ T3251] Calling sched_clock_resume+0x0/0xd0
[2026-07-06 10:39:55.110] [ 1018.529619][ T3251] Enabling non-boot CPUs ...
[2026-07-06 10:39:55.142] [ 1018.559214][ T0] Detected VIPT I-cache on CPU1
[2026-07-06 10:39:55.146] [ 1018.559246][ T0] GICv3: CPU1: found redistributor 100 region 0:0x0000000048080000
[2026-07-06 10:39:55.154] [ 1018.559293][ T0] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[2026-07-06 10:39:55.161] [ 1018.560868][ T3251] CPU1 is up
[2026-07-06 10:39:55.191] [ 1018.608610][ T0] Detected VIPT I-cache on CPU2
[2026-07-06 10:39:55.196] [ 1018.608642][ T0] GICv3: CPU2: found redistributor 200 region 0:0x00000000480a0000
[2026-07-06 10:39:55.203] [ 1018.608686][ T0] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[2026-07-06 10:39:55.210] [ 1018.610091][ T3251] CPU2 is up
[2026-07-06 10:39:55.240] [ 1018.657836][ T0] Detected VIPT I-cache on CPU3
[2026-07-06 10:39:55.245] [ 1018.657870][ T0] GICv3: CPU3: found redistributor 300 region 0:0x00000000480c0000
[2026-07-06 10:39:55.253] [ 1018.657917][ T0] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[2026-07-06 10:39:55.260] [ 1018.659332][ T3251] CPU3 is up
[2026-07-06 10:39:55.289] [ 1018.707065][ T0] Detected VIPT I-cache on CPU4
[2026-07-06 10:39:55.294] [ 1018.707101][ T0] GICv3: CPU4: found redistributor 400 region 0:0x00000000480e0000
[2026-07-06 10:39:55.302] [ 1018.707151][ T0] CPU4: Booted secondary processor 0x0000000400 [0x412fd050]
[2026-07-06 10:39:55.309] [ 1018.708560][ T3251] CPU4 is up
[2026-07-06 10:39:55.339] [ 1018.756298][ T0] Detected VIPT I-cache on CPU5
[2026-07-06 10:39:55.344] [ 1018.756332][ T0] GICv3: CPU5: found redistributor 500 region 0:0x0000000048100000
[2026-07-06 10:39:55.351] [ 1018.756379][ T0] CPU5: Booted secondary processor 0x0000000500 [0x412fd050]
[2026-07-06 10:39:55.359] [ 1018.758206][ T3251] CPU5 is up
[2026-07-06 10:39:55.362] [ 1018.781314][ T3251] rpmsg-lifecycle rpmsg-lifecycle: PM: calling rpmsg_lifecycle_resume_noirq @ 3251, parent: platform
[2026-07-06 10:39:55.373] [ 1018.792078][ T3251] rpmsg-lifecycle rpmsg-lifecycle: PM: rpmsg_lifecycle_resume_noirq returned 0 after 1 usecs
[2026-07-06 10:39:55.383] [ 1018.802181][ T3251] arm-smmu-v3 490d0000.iommu: PM: calling arm_smmu_resume [arm_smmu_v3] @ 3251, parent: 49000000.bus
[2026-07-06 10:39:55.394] [ 1018.812966][ T3251] arm-smmu-v3 490d0000.iommu: PM: arm_smmu_resume [arm_smmu_v3] returned 0 after 60 usecs
[2026-07-06 10:39:55.403] [ 1018.822745][ T3251] imx_mu 445b0000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: 44000000.bus
[2026-07-06 10:39:55.414] [ 1018.833538][ T3251] imx_mu 445b0000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 3 usecs
[2026-07-06 10:39:55.424] [ 1018.843279][ T3251] imx_mu 47300000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.434] [ 1018.853283][ T3251] imx_mu 47300000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 2 usecs
[2026-07-06 10:39:55.444] [ 1018.863029][ T3251] imx_mu 47320000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.454] [ 1018.873031][ T3251] imx_mu 47320000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs
[2026-07-06 10:39:55.464] [ 1018.882772][ T3251] imx_mu 47330000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.474] [ 1018.892773][ T3251] imx_mu 47330000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs
[2026-07-06 10:39:55.483] [ 1018.902513][ T3251] imx_mu 47340000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.493] [ 1018.912516][ T3251] imx_mu 47340000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs
[2026-07-06 10:39:55.503] [ 1018.922256][ T3251] imx_mu 47350000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.513] [ 1018.932256][ T3251] imx_mu 47350000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs
[2026-07-06 10:39:55.523] [ 1018.941998][ T3251] imx_mu 47550000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc
[2026-07-06 10:39:55.533] [ 1018.952002][ T3251] imx_mu 47550000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs
[2026-07-06 10:39:55.542] [ 1018.961770][ T3251] imx_mu 42430000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.553] [ 1018.972548][ T3251] imx_mu 42430000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 0 usecs
[2026-07-06 10:39:55.563] [ 1018.982411][ T3251] fsl-lpuart 42590000.serial: PM: calling lpuart_resume_noirq [fsl_lpuart] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.574] [ 1018.993375][ T3251] fsl-lpuart 42590000.serial: PM: lpuart_resume_noirq [fsl_lpuart] returned 0 after 2 usecs
[2026-07-06 10:39:55.584] [ 1019.003326][ T3251] fsl-lpuart 44380000.serial: PM: calling lpuart_resume_noirq [fsl_lpuart] @ 3251, parent: 44000000.bus
[2026-07-06 10:39:55.595] [ 1019.014289][ T3251] fsl-lpuart 44380000.serial: PM: lpuart_resume_noirq [fsl_lpuart] returned 0 after 4 usecs
[2026-07-06 10:39:55.605] [ 1019.024225][ T3251] imx-lpi2c 42530000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.616] [ 1019.035009][ T3251] imx-lpi2c 42530000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 1 usecs
[2026-07-06 10:39:55.626] [ 1019.044756][ T3251] imx-lpi2c 42540000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.636] [ 1019.055531][ T3251] imx-lpi2c 42540000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs
[2026-07-06 10:39:55.646] [ 1019.065272][ T3251] imx-lpi2c 426b0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.657] [ 1019.076047][ T3251] imx-lpi2c 426b0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs
[2026-07-06 10:39:55.667] [ 1019.085794][ T3251] imx-lpi2c 426c0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.677] [ 1019.096567][ T3251] imx-lpi2c 426c0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs
[2026-07-06 10:39:55.687] [ 1019.106304][ T3251] imx-lpi2c 426d0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus
[2026-07-06 10:39:55.698] [ 1019.117086][ T3251] imx-lpi2c 426d0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs
[2026-07-06 10:39:55.708] [ 1019.126830][ T3251] imx-lpi2c 44350000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 44000000.bus
[2026-07-06 10:39:55.718] [ 1019.137605][ T3251] imx-lpi2c 44350000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs
[2026-07-06 10:39:55.728] [ 1019.147353][ T3251] imx-irqsteer 4b0b0000.interrupt-controller: PM: calling genpd_resume_noirq @ 3251, parent: soc
[2026-07-06 10:39:55.738] [ 1019.157693][ T3251] PM: GENPD_RESUME_NOIRQ dev=4b0b0000.interrupt-controller domain=display task=kworker/4:5 pid=3251
[2026-07-06 10:39:55.749] [ 1019.168295][ T3251] SCMI_PD display domain=13 state=on task=kworker/4:5 pid=3251
it seem there are no error information at the log. Whether turn voltage off or not may lead to the current consumption difference. Do you notice any power consumption difference and why do you want to turn off VDDSOC?