Skip to content

Commit 33b8ea6

Browse files
kwillis01praneethbajjuri
authored andcommitted
feat(power): update steps to enable CAN wakeup from LPM
In SDK 12.0, ethtool is used to enable wakeup from CAN. Update the LPM documentation where necessary to reflect this change. Signed-off-by: Kendall Willis <k-willis@ti.com>
1 parent 4980744 commit 33b8ea6

2 files changed

Lines changed: 42 additions & 27 deletions

File tree

source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,9 @@ wakeup event is triggered.
5050
Partial I/O is a poweroff state. Upon poweroff, the Linux ti_sci driver
5151
chooses Partial I/O entry if any CAN I/O wakeup sources are present.
5252

53-
The following wakeup sources have been configured for Partial I/O:
54-
mcu_uart0, mcu_mcan0, and mcu_mcan1. Partial I/O mode can only be tested
55-
when `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.02.08>`__
56-
overlay is loaded. Refer to :ref:`How to enable DT overlays<howto_dt_overlays>` for more details.
57-
58-
After Linux boots, the MCAN wakeup for Partial I/O is enabled.
53+
Partial I/O supports wakeup sources mcu_mcan0 and mcu_mcan1. For more
54+
information about enabling CAN wakeup, see
55+
:ref:`CAN I/O Daisy Chain<pm_wakeup_sources_can>`.
5956

6057
Enter Partial I/O mode with the following command:
6158

@@ -72,10 +69,9 @@ the console output will stop at the following lines:
7269
[ 74.396204] reboot: Power down
7370
[ 74.399358] ti-sci 44043000.system-controller: Entering Partial-IO because a powered wakeup-enabled device was found.
7471
75-
The system has entered Partial I/O and can only be woken up with
76-
activity on the I/O pin programmed for wakeup. For example, if mcu_mcan0
77-
wakeup was enabled, grounding Pin 22 of J8 MCU Header will wakeup the
78-
system and it will go through a normal Linux boot process.
72+
The above output indicates that the system has entered Partial I/O. The
73+
system will resume to through a normal Linux boot process by triggering
74+
activity on the wakeup I/O pin programmed.
7975

8076
.. _pm_io_only_plus_ddr:
8177

@@ -112,13 +108,12 @@ I/O Only Plus DDR
112108

113109
.. important:: Jumper J12 should be connected on SK to enable system to enter I/O Only plus DDR mode.
114110

115-
The wakeup sources that can be used to wake the system from I/O Only Plus
116-
DDR are mcu_uart0, mcu_mcan0, mcu_mcan1 and wkup_uart0. To use the mcu_mcan0
117-
and mcu_mcan1 wakeup sources, apply the
118-
`k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso <https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso?h=11.02.08>`__
119-
overlay. Please refer to :ref:`How to enable DT overlays<howto_dt_overlays>`
120-
for more details. To use the mcu_uart0 and wkup_uart0 wakeup sources, direct
121-
register writes can be used to enable wakeup after Linux boots.
111+
I/O Only Plus DDR supports wakeup sources mcu_uart0, mcu_mcan0,
112+
mcu_mcan1 and wkup_uart0. To use the mcu_mcan0 and mcu_mcan1 wakeup
113+
sources, see
114+
:ref:`CAN I/O Daisy Chain<pm_wakeup_sources_can>`.
115+
To use the mcu_uart0 and wkup_uart0 wakeup sources, direct register
116+
writes enable wakeup after Linux boots.
122117

123118
.. rubric:: Following commands set the wakeup EN bit, enable receive for pad in PADCONFIG register and can
124119
be used to enable wakeup from mcu_uart0 and wkup_uart0 pins respectively.

source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,7 @@ MCU IPC based Wakeup
982982
983983
[IPC RPMSG ECHO] Main domain resumed due to MCU UART
984984
985+
.. _pm_wakeup_sources_can:
985986

986987
*******************
987988
CAN I/O Daisy Chain
@@ -1019,16 +1020,35 @@ CAN I/O Daisy Chain
10191020
status = "okay";
10201021
};
10211022
1022-
CAN UART wakeup can be tested by using either the
1023-
`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.02.08>`__
1024-
or
1025-
`k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso <https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso?h=11.02.08>`__
1026-
overlays. Please refer to :ref:`How to enable DT overlays<howto_dt_overlays>`
1027-
for more details.
1028-
1029-
Once the system has entered any low power mode as shown in the
1030-
:ref:`LPM section<lpm_modes>`, wakeup from MCU_GPIO0_16 or MCU_MCAN0_RX can be
1031-
triggered by grounding Pin 11 or Pin 22 on J8 MCU Header, respectively.
1023+
1024+
.. ifconfig:: CONFIG_part_variant in ('AM62X')
1025+
1026+
CAN wakeup is enabled by default for the AM62X LP-SK EVM. For all
1027+
other EVMs, the device tree overlay
1028+
`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.02.08>`__
1029+
is required for testing CAN wakeup. See
1030+
:ref:`How to enable DT overlays<howto_dt_overlays>` for details.
1031+
1032+
.. ifconfig:: CONFIG_part_variant in ('AM62AX','AM62PX')
1033+
1034+
Either device tree overlay
1035+
`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.02.08>`__
1036+
or
1037+
`k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso <https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62x-sk-lpm-io-ddr-wkup-sources.dtso?h=11.02.08>`__
1038+
are needed for testing. See
1039+
:ref:`How to enable DT overlays<howto_dt_overlays>` for details.
1040+
1041+
1042+
Before entering low power mode, enable CAN wakeup using ethtool:
1043+
1044+
.. code-block:: console
1045+
1046+
root@<machine>:~# ethtool -s mcu_mcan0 wol p
1047+
root@<machine>:~# ethtool -s mcu_mcan1 wol p
1048+
1049+
Once the system enters a low power mode, wakeup from mcu_mcan0 or
1050+
mcu_mcan1 can be triggered by grounding Pin 22 or Pin 11 on J8 MCU
1051+
Header, respectively.
10321052

10331053
***********
10341054
RTC Ext Pin

0 commit comments

Comments
 (0)