Skip to content

Commit 6f90f4f

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 02867c5 commit 6f90f4f

2 files changed

Lines changed: 39 additions & 23 deletions

File tree

source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,9 @@ poweroff state. On poweroff, Linux ti_sci driver checks if any potential
5252
Partial I/O wakeup sources are enabled. If one of the wakeup sources is
5353
enabled, Partial I/O is entered instead of poweroff.
5454

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

6259
Enter Partial I/O mode with the following command:
6360

@@ -114,13 +111,12 @@ I/O Only Plus DDR
114111

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

117-
The wakeup sources that can be used to wake the system from I/O Only Plus
118-
DDR are mcu_uart0, mcu_mcan0, mcu_mcan1 and wkup_uart0. To use the mcu_mcan0
119-
and mcu_mcan1 wakeup sources, apply the
120-
`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>`__
121-
overlay. Please refer to :ref:`How to enable DT overlays<howto_dt_overlays>`
122-
for more details. To use the mcu_uart0 and wkup_uart0 wakeup sources, direct
123-
register writes can be used to enable wakeup after Linux boots.
114+
The wakeup sources that can be used to wake the system from I/O Only
115+
Plus DDR are mcu_uart0, mcu_mcan0, mcu_mcan1 and wkup_uart0. To use the
116+
mcu_mcan0 and mcu_mcan1 wakeup sources, refer to
117+
:ref:`CAN I/O Daisy Chain<pm_wakeup_sources_can>`.
118+
To use the mcu_uart0 and wkup_uart0 wakeup sources, direct register
119+
writes can be used to enable wakeup after Linux boots.
124120

125121
.. rubric:: Following commands set the wakeup EN bit, enable receive for pad in PADCONFIG register and can
126122
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. Otherwise,
1027+
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 needed for testing CAN wakeup. Refer to
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. Refer to
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)