Skip to content

Commit 420ddd1

Browse files
committed
feat(pm_low_power_modes_socoff): Add LPM Documentation for J7200 and J784S4
J7200 and J784S4 supports two low poer modes, SOC_OFF and IO_ONLY_PLUS_DDR. Add related documentation for the modes supported and their usage details. Signed-off-by: Prasanth Babu Mantena <[email protected]>
1 parent 1e83eb6 commit 420ddd1

File tree

4 files changed

+122
-0
lines changed

4 files changed

+122
-0
lines changed

configs/J7200/J7200_linux_toc.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ linux/Foundational_Components_Kernel_LTP-DDT_Validation
8383
linux/Foundational_Components_Kernel_FAQs
8484
linux/Foundational_Components_Security
8585
linux/Foundational_Components/System_Security/Security_overview
86+
linux/Foundational_Components_Power_Management
87+
linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff
8688
linux/Foundational_Components_Filesystem
8789
linux/Foundational_Components_Tools
8890
linux/Foundational_Components/Tools/Development_Tools

configs/J784S4/J784S4_linux_toc.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ linux/Foundational_Components_Kernel_LTP-DDT_Validation
8989
linux/Foundational_Components_Kernel_FAQs
9090
linux/Foundational_Components_Security
9191
linux/Foundational_Components/System_Security/Security_overview
92+
linux/Foundational_Components_Power_Management
93+
linux/Foundational_Components/Power_Management/pm_low_power_modes_socoff
9294
linux/Foundational_Components_Filesystem
9395
linux/Foundational_Components_Tools
9496
linux/Foundational_Components/Tools/Development_Tools
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
.. _lpm_modes_socoff:
2+
3+
###############
4+
Low power modes
5+
###############
6+
7+
********
8+
Overview
9+
********
10+
11+
The following sections describe a high-level description of the different low power modes (LPM) supported on |__PART_FAMILY_NAME__| SoC (System on Chip).
12+
Validation of these modes are done on TI EVMs (Evaluation Modules). Users must select the appropriate low power mode at build time, which meets the requirements.
13+
Each mode needs evaluation based on power consumption and latency (the time it takes to wake-up to Active mode) requirements.
14+
In SDK offering, following low power modes are supported:
15+
16+
#. SoC off
17+
#. I/O Only Plus DDR (D)
18+
19+
*******
20+
SoC off
21+
*******
22+
23+
In SoC off low-power mode, DDR retains partial SW context (Mainly HLOS (High Level Operating System) Linux) while the SoC is turned off. This can save a significant amount of boot time, because it does not reinitialize whole kernel as it is already present in DDR.
24+
25+
The benefits of using SoC off in embedded devices:
26+
27+
#. Faster wake-up: Devices can wake-up from this low-power state much faster than
28+
a complete power cycle.
29+
#. Better efficiency: This mode can help to improve the efficiency of embedded devices by
30+
reducing the amount of time that the processor is idle. This is because we can keep the processor in a low-power state when it is not needed.
31+
32+
To enter SoC off, use the following command:
33+
34+
.. code-block:: console
35+
36+
root@<machine>-evm:~# echo mem > /sys/power/state
37+
[18.380346] PM: suspend entry (deep)
38+
[18.576999] Filesystems sync: 0.193 seconds
39+
[18.587643] Freezing user space processes
40+
[18.593191] Freezing user space processes completed (elapsed 0.001 seconds)
41+
[18.600179] OOM killer disabled.
42+
[18.603395] Freezing remaining freezable tasks
43+
[18.608964] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
44+
[18.616364] printk: Suspending console(s) (use no_console_suspend to debug)
45+
46+
This indicates that Linux has finished its suspend sequence.
47+
48+
To exit from SoC off,
49+
50+
.. ifconfig:: CONFIG_part_variant in ('J7200')
51+
52+
Press SW12 push button on J7200 evm.
53+
54+
.. ifconfig:: CONFIG_part_variant in ('J784S4')
55+
56+
Press SW15 push button on J784S4 evm.
57+
58+
*****************
59+
I/O only plus DDR
60+
*****************
61+
62+
In I/O only plus DDR, only the I/O pins remain active while the system turns off the rest of SoC.
63+
64+
#. Low power consumption: IO Only mode can save a significant amount of power, especially in battery-powered
65+
devices. This is because the DDR is in self-refresh and except for the IO pins, the system turns off the rest of the SoC.
66+
#. Better efficiency: I/O Only Plus DDR mode can help to improve the efficiency of embedded devices by reducing
67+
the amount of time that the processor is idle. This is because we can keep the processor in a low-power state when it is not needed.
68+
#. Respond to external wake-up sources: This allows the system to still respond to external events, while it is in a low-power state and wake-up faster improving boot time.
69+
70+
71+
.. ifconfig:: CONFIG_part_variant in ('J7200')
72+
73+
To enter I/O only mode, Enable edge sensitive wake-up for MCAN1_RX pin by writing to PADCONFIG_11 (0x0011C02C)
74+
75+
.. code-block:: console
76+
77+
# devmem2 0x0011C02C w 0x20050000
78+
# echo mem > /sys/power/state
79+
80+
.. ifconfig:: CONFIG_part_variant in ('J784S4')
81+
82+
To enter I/O only mode, Enable level sensitive wake-up for MCU_MCAN0_RX pin by writing to WKUP_PADCONFIG_47 (at address 0x4301C0BC)
83+
84+
.. code-block:: console
85+
86+
# devmem2 0x4301C0BC w 0x20050180
87+
# echo mem > /sys/power/state
88+
89+
90+
.. code-block:: console
91+
92+
root@<machine>-evm:~# echo mem > /sys/power/state
93+
[18.380346] PM: suspend entry (deep)
94+
[18.576999] Filesystems sync: 0.193 seconds
95+
[18.587643] Freezing user space processes
96+
[18.593191] Freezing user space processes completed (elapsed 0.001 seconds)
97+
[18.600179] OOM killer disabled.
98+
[18.603395] Freezing remaining freezable tasks
99+
[18.608964] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
100+
[18.616364] printk: Suspending console(s) (use no_console_suspend to debug)
101+
102+
To exit from IO_ONLY_PLUS_DDR,
103+
104+
.. ifconfig:: CONFIG_part_variant in ('J7200')
105+
106+
Press SW1 push button on |__PART_FAMILY_NAME__| SOM
107+
108+
.. ifconfig:: CONFIG_part_variant in ('J784S4')
109+
110+
On the |__PART_FAMILY_NAME__| EVM, the second pin-out of J33 is MCU_MCAN0_RX and it connects directly to the SoC.
111+
A voltage of 3.3V should be applied on that pin to wake it up from low power.
112+
113+
.. note::
114+
115+
Firmware capabilities determine the supported low power modes.
116+
`TISCI_MSG_QUERY_FW_CAPS <https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html#tisci-msg-query-fw-caps>`__
117+
sent to firmware to get the low power modes supported by firmware.

source/linux/Foundational_Components_Power_Management.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Power Management
1414
Foundational_Components/Power_Management/pm_rtc_ddr
1515
Foundational_Components/Power_Management/pm_low_power_modes
1616
Foundational_Components/Power_Management/pm_am62lx_low_power_modes
17+
Foundational_Components/Power_Management/pm_low_power_modes_socoff
1718
Foundational_Components/Power_Management/pm_wakeup_sources
1819
Foundational_Components/Power_Management/pm_sw_arch
1920
Foundational_Components/Power_Management/pm_debug

0 commit comments

Comments
 (0)