Skip to content

Commit fe4c9c9

Browse files
kwillis01jeevantelukula
authored andcommitted
refactor(pm_wakeup_sources): Rephrase MCU GPIO wakeup
Reword the MCU GPIO wakeup section to use assertive language instead of passive. Signed-off-by: Kendall Willis <[email protected]>
1 parent 22f3e90 commit fe4c9c9

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -321,17 +321,21 @@ MCU GPIO
321321

322322
.. ifconfig:: CONFIG_part_variant in ('AM62X', 'AM62AX', 'AM62PX')
323323

324-
One of the most common ways to wakeup a system is by using some I/O activity. MCU GPIOs allow us to do this
325-
by configuring the MCU GPIO controller as a wakeup source.
326-
In ideal scenarios, the firmware running on MCU core is responsible for configuring MCU GPIO's as a wakeup source.
327-
However, if the application design doesn't rely too much on the MCU firmware then
328-
Linux can be used to configure the MCU GPIOs as a wakeup source. You can refer to the mcu_gpio_key node in
324+
One of the most common ways to wakeup a system is by using some I/O activity.
325+
I/O activity on the MCU GPIOs can wakeup the system when the MCU GPIO
326+
controller is configured as a wakeup source. In ideal scenarios, the firmware
327+
running on MCU core is responsible for configuring MCU GPIOs as a wakeup
328+
source. However, if the application design doesn't rely on the MCU firmware
329+
then Linux can be used to configure the MCU GPIOs as a wakeup source. Refer
330+
to the mcu_gpio_key node in
329331
`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=11.01.05>`__
330-
and use it as a template to configure the MCU GPIO of your choice as a wakeup capable GPIO.
332+
to use as a template to configure the desired MCU GPIO as a wakeup capable
333+
GPIO.
331334

332335
A brief guide to configuring an MCU GPIO as wakeup:
333336

334-
First, we add gpio-keys as a compatible string, refer to `gpio_keys kernel documentation <https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt>`__
337+
First, add gpio-keys as a compatible string, refer to
338+
`gpio_keys kernel documentation <https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt>`__
335339
for details.
336340

337341
.. code-block:: dts
@@ -353,7 +357,7 @@ MCU GPIO
353357
interrupt-parent = <&mcu_gpio0>;
354358
interrupts = <4 IRQ_TYPE_EDGE_RISING>;
355359
356-
Now, under the switch node we add the following:
360+
Now, under the switch node, add the following:
357361

358362
.. code-block:: dts
359363
@@ -380,15 +384,16 @@ MCU GPIO
380384

381385
This indicates that gpio_keys can wake-up the system from Deep Sleep or MCU Only mode.
382386

383-
The reason we can easily use MCU GPIOs to wakeup the system from deep sleep is because
384-
MCU GPIO's are in a power domain that is never really shut down. This means that this domain
385-
stays ON even when the SOC is in deep sleep. Hence, the GPIO controller is able to act as a wakeup
386-
source and send a wakeup interrupt to the Device Manager. To understand the role of Device Manager
387-
please refer to :ref:`S/W Architecture of System Suspend<pm_sw_arch>`
387+
The MCU GPIOs can be used to wakeup the system from Deep Sleep because MCU
388+
GPIOs are in a power domain that stays ON even when the SoC is in Deep Sleep.
389+
Hence, the GPIO controller is able to act as a wakeup source and send a
390+
wakeup interrupt to the Device Manager. To understand the role of Device
391+
Manager, refer to
392+
:ref:`S/W Architecture of System Suspend<pm_sw_arch>`
388393

389394
MCU GPIO wakeup can only be tested when
390395
`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=11.01.05>`__
391-
overlay is loaded. Please refer to :ref:`How to enable DT overlays<howto_dt_overlays>` for more details.
396+
overlay is loaded. Refer to :ref:`How to enable DT overlays<howto_dt_overlays>` for more details.
392397

393398
Once the system has entered Deep Sleep or MCU Only mode as shown in the
394399
:ref:`LPM section<lpm_modes>`, wakeup from MCU_SPI0_D1 can be triggered

0 commit comments

Comments
 (0)