Skip to content

Commit cc88b51

Browse files
committed
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 3850fa6 commit cc88b51

2 files changed

Lines changed: 40 additions & 24 deletions

File tree

source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,11 @@ wakeup event is triggered.
4848
Only AM62 LP-SK EVM supports Partial I/O mode.
4949

5050
Partial I/O is implemented as a poweroff state. The Linux ti_sci driver if
51-
any CAN I/O wakeup sources are enabled.
51+
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+
Wakeup sources mcu_mcan0 and mcu_mcan1 have support for Partial
54+
I/O. For more 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

@@ -112,13 +109,12 @@ I/O Only Plus DDR
112109

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

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.
112+
The wakeup sources that can be used to wake the system from I/O Only
113+
Plus DDR are mcu_uart0, mcu_mcan0, mcu_mcan1 and wkup_uart0. To use the
114+
mcu_mcan0 and mcu_mcan1 wakeup sources, refer to
115+
:ref:`CAN I/O Daisy Chain<pm_wakeup_sources_can>`.
116+
To use the mcu_uart0 and wkup_uart0 wakeup sources, direct register
117+
writes can be used to enable wakeup after Linux boots.
122118

123119
.. rubric:: Following commands set the wakeup EN bit, enable receive for pad in PADCONFIG register and can
124120
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)