Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions configs/AM437X/AM437X_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ linux/Foundational_Components/Power_Management/pm_overview
linux/Foundational_Components/Power_Management/pm_dvfs
linux/Foundational_Components/Power_Management/pm_cpuidle
linux/Foundational_Components/Power_Management/pm_suspend_resume
linux/Foundational_Components/Power_Management/pm_rtc_ddr
linux/Foundational_Components_Filesystem
linux/Foundational_Components_Tools
linux/Foundational_Components/Tools/Development_Tools
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#########################
RTC-Only and RTC+DDR Mode
#########################

AM437x supports two RTC modes, RTC+DDR and RTC-Only mode. RTC+DDR Mode is similar to the
Suspend/Resume above but only supports wake by the Power Button present
on the board or from an RTC ALARM2 Event. RTC-Only mode supports the
same wake sources, however DDR context is not maintained so a wake event
causes a cold boot.

RTC-Only mode is supported on:

- AM437x GP EVM
- AM437x SK EVM

RTC+DDR mode is supported on:

- AM437x GP EVM

.. rubric:: RTC+DDR Mode

The first step in using RTC+DDR mode is to enable off mode by typing the
following at the command line:

.. code-block:: console

$ echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why off mode, in case of RTC+DDR, the DDR MEMORY is still there, so suspend resume hooks of all drivers should be callled,?


With off-mode enabled, a command to enter DeepSleep0 will now enter
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With off-mode enabled, a command to suspend to memory will now enter

RTC-Only mode:
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text appears to be incorrect. Under the "RTC+DDR Mode" section, it states that "a command to enter DeepSleep0 will now enter RTC-Only mode", but based on the context and section heading, it should describe entering RTC+DDR mode. The distinction between RTC-Only and RTC+DDR modes is explained later (lines 49-53) as depending on regulator configuration, but the text here should clarify that with proper regulator configuration, this enters RTC+DDR mode.

Suggested change
RTC-Only mode:
either RTC-Only mode or RTC+DDR mode, depending on the regulator configuration (see below):

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need someone from PM to verify whether this change makes sense or not.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


.. code-block:: console

$ echo mem > /sys/power/state

This method of entry only supports Power button as the wake source.

To use the rtc as a wake source, after enabling off mode use the
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RTC in caps

following command:

.. code-block:: console

$ rtcwake -s <NUMBER OF SECONDS TO SLEEP> -d /dev/rtc0 -m mem

Whether or not your board enters RTC-Only mode or RTC+DDR mode depends
on the regulator configuration and whether or not the regulator that
supplies the DDR is configured to remain on during suspend. This is
Copy link
Copy Markdown
Collaborator

@gehariprasath gehariprasath Dec 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pls rephrase this long sentence if possible.

supported by the TPS65218 in use of the AM437x boards but not the
TPS65217 or TPS65910 present on AM335x boards.

.. code-block:: dts

tps65218: tps65218@24 {
reg = <0x24>;
compatible = "ti,tps65218";
interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
interrupt-parent = <&gic>;
interrupt-controller;
#interrupt-cells = <2>;

...

dcdc3: regulator-dcdc3 {
compatible = "ti,tps65218-dcdc3";
regulator-name = "vdcdc3";
regulator-suspend-enable;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-boot-on;
regulator-always-on;
};

...

};

Another important thing to make sure of is that you are using the proper
u-boot. A certain u-boot is required in order to support RTC+DDR mode
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than "A certain u-boot", I think we can be more specific here itself about the configuration to use (which you have described below).

otherwise the following message appears during boot of the kernel:

``PM: bootloader does not support rtc-only!``
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PM: bootloader does not support rtc-only by default!


When building u-boot, rather than using ``am43xx_evm_config`` you must
use ``am43xx_evm_rtconly_config`` to support either RTC mode.

.. rubric:: RTC-Only Mode

RTC-Only mode does not maintain DDR context so placing a board into
RTC-only mode allows for very low power consumption after which a
supported wake source will cause a cold boot. RTC-Only mode is entered
via the poweroff command.

To wakeup from RTC-Only mode via an RTC alarm, a separate tool must be
used to program an RTC alarm prior to entering poweroff.