Skip to content

Dss ds docs#732

Open
akashdeep-ti wants to merge 3 commits into
TexasInstruments:masterfrom
akashdeep-ti:dss_ds_docs
Open

Dss ds docs#732
akashdeep-ti wants to merge 3 commits into
TexasInstruments:masterfrom
akashdeep-ti:dss_ds_docs

Conversation

@akashdeep-ti

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

New warnings found with rstcheck:

source/linux/Foundational_Components/Power_Management/pm_am62lx_low_power_modes.rst:177: (WARNING/2) Title underline too short.
source/linux/Foundational_Components/Power_Management/pm_am62lx_low_power_modes.rst:223: (WARNING/2) Title underline too short.
source/linux/Foundational_Components/Power_Management/pm_am62lx_low_power_modes.rst:311: (WARNING/2) Title underline too short.
source/linux/Foundational_Components/Power_Management/pm_am62lx_low_power_modes.rst:335: (ERROR/3) Malformed table.

@StaticRocket StaticRocket left a comment

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.

Vale comments about passive voice and such

@akashdeep-ti

Copy link
Copy Markdown
Contributor Author

Addressed code review feedback

@cshilwant
cshilwant requested a review from StaticRocket July 10, 2026 19:20
StaticRocket
StaticRocket previously approved these changes Jul 10, 2026
DSS plus Deep Sleep
*******************

DSS plus Deep Sleep is a low-power mode where the Display Subsystem (DSS) is on to display

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.

Maybe "on" should be bolded or in uppercase to make sure the reader understands that it is being used to describe a state

on-chip memory (a small FIFO buffer) instead of continuously fetching from DDR. This
significantly reduces memory bandwidth and power consumption during suspend.

The AM62L-DSS has a 20 KB FIFO buffer. For the self-refresh feature to work, your static

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.

s/your/the

**Width × Height × 3 ≤ 20,480 bytes**

For example, a 50×50 RGB image requires 50 × 50 × 3 = 7,500 bytes, which fits comfortably
within the limit. If your frame is too large, self-refresh will not activate.

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.

s/your/the


.. code-block:: console

root@am62lxx-evm:~# systemctl stop emptty.service

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.

nit: I think you can just do systemctl stop emptty so its a little less to type :)

Comment on lines +219 to +220
Using both properties together enables DSS plus Deep Sleep mode: the display shows
a static frame from internal memory while the rest of the system suspends.

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.

nit: if you wanted to, you could remove these lines since the last sentence of the previous paragraph says the same thing

[ 102.509008] PM: suspend exit
root@am62lxx-evm:~#

Resuming from DSS plus Deep Sleep

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.

I think this needs to be named differently since it sounds like resuming from suspend will be described. Maybe rename to something like "Return DSS to Normal Operation"

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.

i think, we can rename to something else, i am not sure about "Normal operation" term as that can vary.
@devarsht , what can be a better alternative?

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.

For the naming of the low power mode ? I would avoid using DSS terminology since its a bit internal to TI.
How about more generic "Always On Display low power mode" this is more generic and intuitive terminology and is already being used in similar context in devices: https://en.wikipedia.org/wiki/Always-on_display

So with this it would be suspending to "Always On Display" low power mode. Resume from "always on display" low power mode.

This also looks better From GOGP Branding POV imho :)

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.

And yeah if you are asking for title then show it as 3 phases

Active Display -> System powered on and HMI Application launched
Low Power Display -> Static Logo with system on low power (inside this mention going to dss deep sleep mode )
Active Display -> Again HMI Application resumed back.

@kwillis01 kwillis01 Jul 15, 2026

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.

@devarsht The section that the title refers to here is about how to allow the display to show dynamic content again after suspend/resume from DeepSleep + DSS where the display could only show a static image. So would the correct title here be like "Change static display to active display"?

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.

As per above comment, i think its okay to use active display term. i will change static to always on


root@am62lxx-evm:~# modetest -M tidss -w 42:ALWAYS_ON_DISPLAY:1 # 42 is the ALWAYS_ON_DISPLAY CRTC property ID

Configure the system to use s2idle suspend mode, which allows the display to remain powered:

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.

I think this can be a bit misleading.
Display remains powered on because of the always on property, s2idle uses that to select the right low power mode. We can even enter DSS deepsleep if we set the mode=8 in TFA
We should also mention that

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.

i did not understand u mean to say there is a way to still go to dss deep sleep mode even if always on display property is not set ?

mode=8 in TFA -> Isn't this opaque to user i mean they would have to recompile the TFA to do this?

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.

I agree that this sentence is a little confusing. Maybe something along the lines of "Configure the system to use s2idle suspend which will allow the system to enter the lowest power state available. Since the display is configured to be ALWAYS ON, DeepSleep + DSS is the lowest available power state."

Also I don't think we should mention that the mode can be set to 8 in TFA to enter that state since users generally should not do that and the goal of the SDK docs is to show how the SDK is used, rather than modifying it. IMO setting the mode to 8 is more of a debug situation than something a user would do for normal operation.

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.

Yes, I agree we shouldnt mention it here and should advise the use of s2idle
I mentioned this since there is also a [deep] setting to enter LPM which uses the hardcoded value set in TFA, for which we have a note on how RTC+DDR can be entered in this way
Are we planning on removing this from the docs. If not we can expand it to include DSS + Deepsleep as well


.. code-block:: console

root@am62lxx-evm:~# modetest -M tidss -w 35:SELF_REFRESH:1 # 35 is the SELF_REFRESH plane property ID

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.

35 could change, mention how they can check and get the appropriate number (i..e using kmsprint and modetest command and check for plane id)

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.

Maybe better to keep it simple. Set alwasy on display too here before launching the gstreamer pipe as anyway it would just display one frame after which user can go to low power.

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.

Yes, added more information


root@am62lxx-evm:~# modetest -M tidss -w 42:ALWAYS_ON_DISPLAY:1 # 42 is the ALWAYS_ON_DISPLAY CRTC property ID

Configure the system to use s2idle suspend mode, which allows the display to remain powered:

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.

i did not understand u mean to say there is a way to still go to dss deep sleep mode even if always on display property is not set ?

mode=8 in TFA -> Isn't this opaque to user i mean they would have to recompile the TFA to do this?

[ 102.509008] PM: suspend exit
root@am62lxx-evm:~#

Resuming from DSS plus Deep Sleep

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.

For the naming of the low power mode ? I would avoid using DSS terminology since its a bit internal to TI.
How about more generic "Always On Display low power mode" this is more generic and intuitive terminology and is already being used in similar context in devices: https://en.wikipedia.org/wiki/Always-on_display

So with this it would be suspending to "Always On Display" low power mode. Resume from "always on display" low power mode.

This also looks better From GOGP Branding POV imho :)

Setting pipeline to NULL ...
Freeing pipeline ...

After the GStreamer pipeline terminates, the last displayed frame remains on the screen.

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.

Mention that user can press ctrl-c and pipeline will terminate

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.

Added


.. code-block:: console

root@am62lxx-evm:~# echo mem > /sys/power/state

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.

I think better to try show a more relevant use-case similar to Active Display and Low Power Display use-case we showed in TIEM.

For e.g.

  1. User power on the EVM run HMI Application (this should be present and run by default in procSDK drop)
  2. Now user want to suspend the system and show a static logo,
    we set dss to self refresh and we play a command to show a static logo i.e one frame only. (we can play ti logo here I think its present in sdcard)
  3. Then we set always on display and go to dss plus deep sleep mode.
  4. This shows the static logo.
  5. Then we resume back reset the drm props and relaunch the HMI Application.

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.

This can be a separate how to guide too i think if we want to keep this one simple.

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.

IMO for the SDK docs we want as simple as possible so users can understand how to use it easily. However, if the example you wrote is simple to show in the docs, it would probably be the better example to use.

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.

I also agree, we can keep it as a separate guide later. Lets keep this section simple

[ 102.509008] PM: suspend exit
root@am62lxx-evm:~#

Resuming from DSS plus Deep Sleep

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.

And yeah if you are asking for title then show it as 3 phases

Active Display -> System powered on and HMI Application launched
Low Power Display -> Static Logo with system on low power (inside this mention going to dss deep sleep mode )
Active Display -> Again HMI Application resumed back.


**Width × Height × 3 ≤ 20,480 bytes**

For example, a 50×50 RGB image requires 50 × 50 × 3 = 7,500 bytes, which fits comfortably

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.

take NV12 as an example and what max we can show with this. since we already have less so lets show what max we can show with this.

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.

Got it, updated

[ 88.649913] PM: suspend exit
root@am62lxx-evm:~#

DSS plus Deep Sleep

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.

Always On Display?

@akashdeep-ti akashdeep-ti Jul 15, 2026

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.

This cannot be renamed as it is the same terminology used in TIFS documentation also. Also, deep sleep needs to be there in name to make it easily understandable

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.

TIFS Documentation released already ? Hmm i understand deep sleep is more understandable from TI POV but externally from user pov maybe always on display sounds more familiar. Documentation can mention that it is same as deep sleep albeit with display ON.

Add DSS plus Deep Sleep low power mode, a new suspend mode where the
Display Subsystem remains powered to show a static image while the
rest of the system enters Deep Sleep.

Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Add power consumption data for DSS plus Deep Sleep mode. This mode
consumes more power than standard Deep Sleep (14.07 mW) due to the
active display subsystem with FIFO replay.

Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Add DSS plus Deep Sleep mode to Key Release References section,
highlighting the new display subsystem self-refresh capability that
allows showing static images during system suspend.

Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.