-
Notifications
You must be signed in to change notification settings - Fork 70
Various LPM Updates #472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various LPM Updates #472
Changes from all commits
646ebf4
2fb8905
f548f18
7046f4d
552d9ee
44bd0e7
d0a1148
32dc7f6
672389c
9a0c4a1
a686435
bd4bfd9
186d001
7d7e2d4
db6b509
1790f82
8fbaf8b
cfa1b1c
b866211
d5c3420
22414ac
9d16b44
2051f39
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
.. _am62l_suspend_workarounds: | ||
|
||
############################### | ||
System Suspend Mode Workarounds | ||
Check warning on line 4 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
############################### | ||
|
||
ARM Trusted Firmware changes | ||
Check warning on line 7 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
**************************** | ||
|
||
This patch updates the system suspend mode for the AM62L platform. After making the following changes, | ||
re-build the ARM Trusted Firmware and then re-package it in the :file:`tispl.bin` file to ensure | ||
the changes take effect. To learn more about TF-A and how to rebuild it, see :ref:`foundational-components-atf`. | ||
For rebuilding U-Boot and generating the new :file:`tispl.bin` follow :ref:`Build-U-Boot-label`. | ||
|
||
.. code-block:: diff | ||
|
||
diff --git a/plat/ti/k3/common/am62l_psci.c b/plat/ti/k3/common/am62l_psci.c | ||
index 70f2aecdd..115729f4a 100644 | ||
--- a/plat/ti/k3/common/am62l_psci.c | ||
+++ b/plat/ti/k3/common/am62l_psci.c | ||
@@ -133,7 +133,7 @@ static void am62l_pwr_domain_suspend(const psci_power_state_t *target_state) | ||
/* TODO: Pass the mode passed from kernel using s2idle | ||
* For now make mode=6 for RTC only + DDR and mdoe=0 for deepsleep | ||
*/ | ||
- uint32_t mode = 0; | ||
+ uint32_t mode = 6; | ||
|
||
core = plat_my_core_pos(); | ||
proc_id = PLAT_PROC_START_ID + core; | ||
|
||
This modifies :file:`plat/ti/k3/common/am62l_psci.c`, which is the new Power | ||
Check warning on line 31 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
State Coordination Interface (PSCI) driver for AM62L in Arm Trusted Firmware. | ||
The :func:`am62l_pwr_domain_suspend` function will change the default system | ||
suspend mode from Deep Sleep to RTC Only + DDR. | ||
Check warning on line 34 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
|
||
The default mode of 0 is the Deep Sleep state. Deep Sleep provides the lowest | ||
latency wake-up but also uses more power. The updated default mode of 6 is | ||
the RTC only + DDR state. In contrast, RTC only + DDR offers a lower power | ||
Check warning on line 38 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
consumption profile, but at the cost of higher wake-up latency. | ||
Check warning on line 39 in source/devices/AM62LX/linux/Release_Specific_Workarounds.rst
|
||
|
||
This change is a temporary solution. A more robust solution is under development to pass a suspend parameter from the kernel | ||
by leveraging the s2idle mechanism. | ||
|
||
Once :file:`tispl.bin` is rebuilt and packaged, continue with entering LPM as described in :ref:`lpm_modes`. |
Uh oh!
There was an error while loading. Please reload this page.