From edce1d4ab8686db4bcc2f5c594051d3777cec5d7 Mon Sep 17 00:00:00 2001 From: Udit Kumar Date: Wed, 24 Dec 2025 14:54:41 +0530 Subject: [PATCH] chore(linux): Update jacinto lpm doc Add flow diagram, hardware details to excercise LPM mode. Signed-off-by: Udit Kumar --- source/images/jacinto_s2r_entry.png | Bin 0 -> 38488 bytes source/images/jacinto_s2r_exit.png | Bin 0 -> 30705 bytes .../pm_low_power_modes_socoff.rst | 122 ++++++++++++++++-- 3 files changed, 110 insertions(+), 12 deletions(-) create mode 100644 source/images/jacinto_s2r_entry.png create mode 100644 source/images/jacinto_s2r_exit.png diff --git a/source/images/jacinto_s2r_entry.png b/source/images/jacinto_s2r_entry.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a2bb47b667c8d85c043b592c6b839309f6b11c GIT binary patch literal 38488 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�giU2P=B_mHi3HH@@leC2+Pmn>R^E?D+eY8Kdxn(V`c>?eH+tboNVi8q? z7>PJlg(A_x9jicp6FIyQl@y0ip67a$WsxNC(!`M!inp}QcK=J0=gpjQY-+)U;;I*( z;(X(Uf~QQ!*{?_C1SJ;JJ7@#d)zx#+>bmHBY~~qwO1cOi#9(UwEVkp8_fK3%h=8d>C%D5US==mT!+=#_?1u z^6bY`HXr|r%tAW&<5t&0UvkF!7?FDlU~UG)(M*R@xVflW(!BUPbJd=0l5bB=FeV|d z6B${-mtJaPXPI@$eaAFC;)w=$c&2<3wD%=sbXvN%UL1&a!`~hX_Kb(;7&spBb≈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 w*kd4Tg7*rD?LbP7mII5Y@IcX!TS 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 Vx<_R~;F#VEigK!t3S>-P{V&n_B0~TG literal 0 HcmV?d00001 diff --git a/source/linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff.rst b/source/linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff.rst index f30e13d6d..f628b6bc8 100644 --- a/source/linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff.rst +++ b/source/linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff.rst @@ -8,18 +8,106 @@ Low power modes Overview ******** -The following sections describe a high-level description of the different low power modes (LPM) supported on |__PART_FAMILY_NAME__| SoC (System on Chip). -TI EVMs (Evaluation Modules) validate supported low power modes. Each mode needs evaluation based on power consumption and latency (the time it takes to wake-up to Active mode) requirements. -There is a tradeoff between power and latency based on the mode. Users must select the appropriate low power mode at build time to fit the needs of the application. The default mode in the SDK is SoC off. +A typical SOC, from power to HLOS (Linux here for example) takes around 20 seconds to boot (ie reaching till Linux prompt), when it’s ready to +run application. +However, it is desired to run application use cases within 2-3 seconds of power on, for this purpose there are many custom +optimizations done, which are not scalable from platform to platform. +LPM saves partially SW state to DDR which helps in achieving faster boot. + +The following sections describe a high-level description of the different low power modes (LPM) supported on |__PART_FAMILY_DEVICE_NAMES__| SoC (System on Chip). + ++---------------------+---------------+---------------+-------------------------+-----------------------+ +| **Low power Mode** | **SOC State** | **DDR State** | **Retained SW context** | **Lost SW context** | ++---------------------+---------------+---------------+-------------------------+-----------------------+ +| SOC OFF | Power off | Self Refresh | HLOS driver and apps | All fws (R5/M/C) core | ++---------------------+---------------+---------------+-------------------------+-----------------------+ +| I/O only Plus DDR | Power off | Self Refresh | HLOS driver and apps | All fws (R5/M/C) core | +| | except wakeup | | | | +| | I/O | | | | ++---------------------+---------------+---------------+-------------------------+-----------------------+ + +Based upon, requirement of on power consumption and latency (the time it takes to wake-up to Active mode). +User can select the appropriate low power mode at **build time** to fit the needs of the application. +The default mode in the SDK is **SOC OFF**. + +------------------ +LPM entry overview +------------------ +After detecting condition to enter into standby, Application shall close all applications interacting with +remote firmwares, proceed to enter into standby. +This section explains the high-level software flow of low power modes entry. + + .. image:: /images/jacinto_s2r_entry.png + +----------------- +LPM exit overview +----------------- +On receiving wakeup trigger, PMIC will restore power to SOC and SOC resume process will exit DDR from self-refresh mode and restore the +saved software context. +As part of resume process, firmwares of remote cores will be reloaded, Therefore application interacting with remote firmware shall be started again. +This section explains the high-level software flow of low power modes exit. + + .. image:: /images/jacinto_s2r_exit.png + + +********************* +How to Test LPM modes +********************* +To test LPM modes, one needs to ensure that software and hardware configurations are correct. +The following sections have details regarding the hardware and software configurations on TI EVMs. + +---------------------- +Hardware modifications +---------------------- -In SDK offering, following low power modes are supported: +.. ifconfig:: CONFIG_part_variant in ('J784S4') + + Following board modifications are needed to validate SOC_OFF and IO_ONLY_PLUS_DDR low power modes on the J784S4 EVM. + + - Change R534 from pull-down to pull-up to VCCA_3V3 side of C320, VDD_IO_1V8 powered down so that VDD1_DDR_1V8 also powers down unless EN remains high. + - Remove R965, R1167, R1170, and R1169, During DDR RET, RESET must be pulled high. + - R658 moved to R659 + +.. ifconfig:: CONFIG_part_variant in ('J7200') + + By default, SOC_OFF mode can be validated on J7200 EVM without any hardware changes. + In case IO_ONLY_PLUS_DDR needs to be tested user needs to do the following board modification. These modifications will not impact SOC_OFF mode. -#. SoC off -#. I/O Only Plus DDR + - Remove R74 and place it at R610. This will pull the signal high. -******* -SoC off -******* +---------------------- +Software modifications +---------------------- +TI’s K3 Jacinto family of SOCs have a concept of boardcfg that can be used to configure certain parameters at build time. +By default, SDK supports SOC_OFF mode. +IO_ONLY_PLUS_DDR mode will be enabled by changing boardcfg in u-boot at build time. + +The low power mode is set statically at build time in “lpm_cfg” section of the power management board config. +In the u-boot source tree the boardcfg is present at: + +.. ifconfig:: CONFIG_part_variant in ('J7200') + + board/ti/j721e/pm-cfg_j7200.yaml + `J7200 board config `_ . + +.. ifconfig:: CONFIG_part_variant in ('J784S4') + + board/ti/j784s4/pm-cfg.yaml + `J784s4 board config `_ . + +In above board config file, default lpm_mode is 0x5 (SOC_OFF) and suspend_initiator is 0xA (A72_0 host). + +To set the LPM mode as IO_RET_PLUS_DDR. Change lpm_mode to 0x2 + +Sample code is available at +https://gist.github.com/uditkumarti/fd0dfe8aa3dc094aadafecab67048307 + +The lpm mode value can be picked up from: +https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/lpm.html + +--------------- +Testing SoC off +--------------- In SoC off low power mode, DDR retains partial software context (Mainly HLOS - High Level Operating System, Linux in this case) powering off the rest of SoC. This can save a significant amount of boot time, because it does not reinitialize whole kernel as it is already present in DDR. @@ -57,10 +145,11 @@ To exit from SoC off, Press SW15 push button on J784S4 evm. -***************** -I/O only Plus DDR -***************** +---------------------------- +Tesing IO_ONLY_PLUS_DDR mode +---------------------------- +Use u-boot build after changing lpm_mode to 0x2, in boardconfig file. In I/O only plus DDR, only the I/O pins remain active while the system turns off the rest of SoC. #. Low power consumption: IO Only Plus DDR mode can save a significant amount of power, especially in battery-powered @@ -143,3 +232,12 @@ Resume flow, [ 41.416506] PM: suspend exit root@-evm:~# root@-evm:~# + +***************** +Known limitations +***************** +1. Only A core as suspend master supported and tested with Linux. +2. The LPM feature is not supported on HS-SE variant J784S4. +3. If PCIe is being used, the resume latency increases by 1 sec for every PCIe instance, If EP is not connected. +4. Remote core firmwares are getting loaded by Linux on resume. +5. MCU domain R5 core, cannot be used in split mode.