.. _txmp-bsp: Mainline BSP ============= .. note:: This guide refers to Images built with Yocto **Mainline BSP**. Our Yocto Images support different features of the module. General ------- .. _stm32-sleepmode: 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. .. list-table:: :header-rows: 1 :widths: 20 80 * - 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 .. admonition:: Known Issues :class: hint - **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: .. code-block:: text &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: .. prompt:: :prompts: # find /sys/devices -name wakeup *EXAMPLE* - Enabling Serial UART as wakeup source: .. prompt:: :prompts: # 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: .. prompt:: :prompts: # 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: .. code-block:: text NOTICE: Entering CStop Mode. *EXAMPLE* - Waking up after 15 seconds using RTC wakealarm: .. prompt:: :prompts: # 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. .. prompt:: :prompts: # glmark2-es2-wayland --fullscreen Play a Video ~~~~~~~~~~~~ Run the test screen of gstreamer: .. prompt:: :prompts: # gst-launch-1.0 videotestsrc ! waylandsink