Mainline BSP

Note

This guide refers to Images built with Yocto Mainline BSP.

Our Yocto Images support different features of the module.

General

Sleep Mode / Low Power

With the STM32MP1 processor you have different modes for suspending/resuming the device.

You can suspend the system to Standy or Stop mode. The mode the system suspends to, depends on the defined wakeup sources.

Mode

Available wakeup sources

CStop

BOR, PVD, AVD, Vbat mon, Temp mon, LSE CSS, RTC, TAMP, USB, CEC, ETH, USART, I²C, SPI, LPTIM, IWDG, GPIO, Wakeup pins (from PWR)

CStandby

BOR, Vbat mon, Temp mon, LSE CSS, RTC, TAMP, IWDG, Wakeup pins (from PWR)

The official ST Wiki gives a detailed overview: https://wiki.st.com/stm32mpu/wiki/Power_overview#Low-power_modes_available_on_the_device

Known Issues

  • USB-OHCI:

    • Suspend/resume only working when defined as Wakeup-Source, meaning CStandby mode not supported when active.

    • Suspend fails with hang-up when not defined as Wakeup-Source.

    • If CStandby desired you have to modify devicetree:

    &usbh_ohci {
       status = "disabled";
    };
    
  • LCD:

    • Suspend/resume to CStandby destroys display. Display does not come back when resuming (only LCD, DSI displays work fine).

Wakeup

To wake up the system after suspend, different wakeup sources can be defined.

To find all possible wakeup properties run:

find /sys/devices -name wakeup

EXAMPLE - Enabling Serial UART as wakeup source:

echo enabled > /sys/devices/platform/soc/40010000.serial/tty/ttySTM0/power/wakeup
echo enabled > /sys/devices/platform/soc/40010000.serial/power/wakeup

Suspending the System

This command suspends the device:

echo mem > /sys/power/state

Hint

If no_console_suspend is set on kernel-commandline, the trusted firmware will tell you which mode is entered:

NOTICE:  Entering CStop Mode.

EXAMPLE - Waking up after 15 seconds using RTC wakealarm:

echo +15 > /sys/class/rtc/rtc0/wakealarm; echo mem > /sys/power/state

karo-image-weston

Test the GPU

GLmark2 will only run smooth on processors having a GPU.

glmark2-es2-wayland --fullscreen

Play a Video

Run the test screen of gstreamer:

gst-launch-1.0 videotestsrc ! waylandsink