Skip to content

Commit f9fabd5

Browse files
committed
docs(linux): Power_Management: Cleanup documentation
Fixes whitespace and grammar errors found throughout the documentation in the Power_Management section to make it look more professional. Fixes code block to be seen correctly. Signed-off-by: Kendall Willis <[email protected]>
1 parent f67db48 commit f9fabd5

File tree

4 files changed

+25
-24
lines changed

4 files changed

+25
-24
lines changed

source/linux/Foundational_Components/Power_Management/pm_dfs.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,9 +332,10 @@ table.
332332
};
333333
334334
To disable any of the above OPP's one can simply add
335+
335336
.. code-block:: dts
336337
337-
status = "disabled";
338+
status = "disabled";
338339
339340
to the corresponding DT Node.
340341

source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ Similar to Deep Sleep, with the major distinction being that the MCU core is kep
112112
The benefits of using MCU Only mode:
113113

114114
#. Low power consumption: MCU Only mode can save a significant amount of power, especially in battery-powered
115-
devices. This is because The rest of the SoC status is the same as Deep Sleep and DDR is in self-refresh.
115+
devices. This is because the rest of the SoC status is the same as Deep Sleep and DDR is in self-refresh.
116116
#. Run background tasks: This mode can be used to run background tasks that do not require the full power of the system.
117117
For example, you could use the firmware on the MCU core to run a watchdog timer, a sensor polling loop,
118118
or a network communication task.

source/linux/Foundational_Components/Power_Management/pm_sw_arch.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ Overview
1111
TI AM62 family of devices support multiple Suspend-to-RAM modes, including Deep Sleep
1212
and MCU Only as described in :ref:`Low Power Modes<lpm_modes>` section.
1313
The SoC consumes very low power overall yet it is not completely shut off in these modes.
14-
For example, During Deep Sleep, Certain IPs
14+
For example, during Deep Sleep, certain IPs
1515
(depending on the power domain to which then belong) will lose context on suspend.
1616
S/W should save and restore the context as required across state transitions. DDR is in self-
1717
refresh to allow context saving.
1818

19-
This section explains the high-level Software Flow of low power modes in AM62 family of devices.
19+
This section explains the high-level software flow of low power modes in AM62 family of devices.
2020
It also introduces the LPM constraints framework that enables seamless management of
2121
multiple Suspend-to-RAM modes.
2222

@@ -27,34 +27,34 @@ System diagram and components
2727
.. Image:: /images/AM62x_Deep_Sleep_Flow.png
2828

2929

30-
Above diagram has software sequence for how deep sleep (ie. Suspend to RAM) works on
30+
Above diagram has software sequence for how Deep Sleep (ie. Suspend to RAM) works on
3131
SK-AM62 ( Read more on the Starter Kit `here <https://www.ti.com/tool/SK-AM62>`__ ).
3232

3333
Deep Sleep Entry
3434
================
3535

36-
#. The user first instructs the System to Suspend. This triggers a suspend
37-
sequence from linux side (which runs on the A53 cluster of the SoC).
36+
#. The user first instructs the system to suspend. This triggers a suspend
37+
sequence from Linux side (which runs on the A53 cluster of the SoC).
3838

3939
#. As part of the TI_SCI driver's suspend hook, I/O isolation is invoked which
4040
isolates all the pads from their respective pinmuxed controllers. Refer to
4141
:ref:`Wakeup sources Documentation<pm_wakeup_sources>` to understand more on this.
4242

4343
#. Linux then suspends all the drivers in the order that they are probed.
44-
After ensuring that there were no faults in suspending the drivers, linux
44+
After ensuring that there were no faults in suspending the drivers, Linux
4545
then issues core system suspend which ultimately is a PSCI system
4646
suspend call. Read more about PSCI `here <https://developer.arm.com/Architectures/Power%20State%20Coordination%20Interface>`__
4747

4848
#. At this point only ATF is running on A53 cores and it does the job of
49-
sending a TISCI Message to the TIFS Core telling it to enter deep sleep
49+
sending a TISCI Message to the TIFS Core telling it to enter Deep Sleep
5050
and then it puts A53 into standby.
5151

5252
#. The TIFS Core then encrypts and writes the contents of it's own SRAM to DDR.
5353

5454
#. Further it stops tick timer, disables interrupts that are not needed, and suspends local drivers.
5555
After the above steps it sends TISCI To DM for Suspend Finish and enters WFI.
5656

57-
#. The DM (Device Manager) is the final entity in this entire deep sleep sequence. It does the following:
57+
#. The DM (Device Manager) is the final entity in this entire Deep Sleep sequence. It does the following:
5858

5959
a. Saves own context to DDR
6060
b. Disables Security IP LPSCs, such as LPSC_SAUL.
@@ -217,15 +217,15 @@ Otherwise, the mode selection is done as described below:
217217

218218
Above diagram shows the mode selection if constraints are set on MCU_WAKEUP devgroup devices.
219219
As shown, if the constraints are set on WAKEUP Domain devices or Always ON MCU domain devices,
220-
deep sleep mode will be selected. Otherwise, MCU Only mode will be selected.
220+
Deep Sleep mode will be selected. Otherwise, MCU Only mode will be selected.
221221

222222
If constraint is put on MAIN devgroup devices, then no low power mode is possible.
223223

224224
.. important::
225225

226226
USB devices are an exception in MAIN devgroup as there is extra hardware logic preventing
227227
reset of USB devices in Deep Sleep and MCU Only mode.
228-
If constraints are set on USB devices, deep sleep mode will be selected even though it's
228+
If constraints are set on USB devices, Deep Sleep mode will be selected even though it's
229229
technically part of MAIN devgroup.
230230

231231
.. ifconfig:: CONFIG_part_variant in ('AM62X')

source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@ MCU GPIO
176176

177177
One of the most common ways to wakeup a system is by using some I/O activity. MCU GPIOs allow us to do this
178178
by configuring the MCU GPIO controller as a wakeup source.
179-
In ideal scenarios, The firmware running on MCU core is responsible for configuring MCU GPIO's as a wakeup source.
179+
In ideal scenarios, the firmware running on MCU core is responsible for configuring MCU GPIO's as a wakeup source.
180180
However, if the application design doesn't rely too much on the MCU firmware then
181-
linux can be used to configure the MCU GPIOs as a wakeup source. You can refer to the mcu_gpio_key node in
181+
Linux can be used to configure the MCU GPIOs as a wakeup source. You can refer to the mcu_gpio_key node in
182182
`k3-am62x-sk-lpm-wkup-sources.dtso <https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62x-sk-lpm-wkup-sources.dtso?h=10.00.07>`__
183183
and use it as a template to configure the MCU GPIO of your choice as a wakeup capable GPIO.
184184

@@ -254,16 +254,16 @@ Main UART, GPIO, I2C, etc. The question then arises how to wakeup the SoC from p
254254
to these controllers (for example main UART)? Here's where the role of I/O Daisy Chaining comes in.
255255
At the hardware level, all the pads in an SoC have to be pinmuxed to dedicated controllers like UART or GPIO.
256256

257-
For example, If a key press on Main UART (which is used for linux console logs)
258-
were to wakeup the system from deep sleep then simply configuring the Main UART controller as a
257+
For example, If a key press on Main UART (which is used for Linux console logs)
258+
were to wakeup the system from Deep Sleep then simply configuring the Main UART controller as a
259259
wakeup source wouldn't suffice. This is because the UART controller is powered off and wouldn't be able to
260260
register any key press as such. However, at the "pad" level we are still connected, and the pads have
261261
a specific way to be configured as wakeup sources.
262262

263263
For detailed information and sequence please refer to
264264
I/O Power Management and Daisy Chaining section in the TRM. To briefly explain,
265-
Setting the 29th Bit in the desired padconfig register, allows the pad to act as a wakeup source by
266-
triggering a wake irq to the DM R5 in deep sleep states.
265+
setting the 29th bit in the desired padconfig register, allows the pad to act as a wakeup source by
266+
triggering a wake irq to the DM R5 in Deep Sleep states.
267267

268268
.. note::
269269
|__PART_FAMILY_DEVICE_NAMES__| supports the ability to wakeup using pad based wake event ONLY in Deep Sleep or MCU Only Mode.
@@ -273,7 +273,7 @@ triggering a wake irq to the DM R5 in deep sleep states.
273273

274274
To demonstrate I/O daisy chain wakeup as part of |__PART_FAMILY_DEVICE_NAMES__| offering, two reference examples are provided:
275275

276-
#. main_uart0 is used where a key press on the linux console can wakeup the system.
276+
#. main_uart0 is used where a key press on the Linux console can wakeup the system.
277277
#. main_gpio is used where activity on configured GPIO pin can wakeup the system.
278278

279279

@@ -290,7 +290,7 @@ main_uart0 node in `k3-am62x-sk-common.dtsi <https://git.ti.com/cgit/ti-linux-ke
290290
interrupt-names = "irq", "wakeup";
291291
292292
Here, we chain the IRQ to the pinctrl driver using the second interrupts-extended entry.
293-
The wake IRQ framework in linux works in such a way that the second entry gets marked as a
293+
The wake IRQ framework in Linux works in such a way that the second entry gets marked as a
294294
wakeup source, and then the pinctrl driver is informed that the pad 0x1c8 in this case is to
295295
be configured as a wakeup pad when system enters deep sleep.
296296

@@ -329,7 +329,7 @@ Then, run this script:
329329
330330
331331
This will configure UART to act as deep sleep wakeup source, and
332-
then a *key press* on same terminal should trigger a wakeup from deep sleep.
332+
then a *key press* on same terminal should trigger a wakeup from Deep Sleep.
333333

334334
Any other pad can be chosen as per application requirements depending on which pad is required
335335
to wakeup the system.
@@ -418,7 +418,7 @@ Plug in a USB device to one of the port on the board and check that the device i
418418
Follow the steps described in :ref:`LPM section<lpm_modes>` to put the system in Low Power Mode via Deep Sleep or MCU only method.
419419

420420
Once the system is suspended, disconnect the USB device from the board and this should wakeup the system.
421-
And device would not show up in list of USB enumerated devices. This can be verified by executing
421+
The device will not show up in list of USB enumerated devices. This can be verified by executing
422422

423423
.. code-block:: console
424424
@@ -475,12 +475,12 @@ Load a USB gadget driver such as g_zero
475475
Follow the steps described in :ref:`LPM section<lpm_modes>` to put the system in Low Power Mode via Deep Sleep or MCU only method.
476476

477477
Once the system has entered the suspend state, plug a cable from a different Host system to the board's USB DRP port.
478-
This should wakeup the system and gadget would be enumerated on the Host. Enumeration of the gadget on the Host system can be verified by executing the
478+
This should wakeup the system and gadget will be enumerated on the Host. Enumeration of the gadget on the Host system can be verified by executing the
479479
below command on the Host system
480480

481481
.. code-block:: console
482482
483-
HOST:~$ > lsusb -t
483+
HOST:~$ lsusb -t
484484
485485
486486
********************

0 commit comments

Comments
 (0)