@@ -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