Low power modes using Debian on OSD32MP1-BRK

Forums Reference, Evaluation, and Development Boards OSD32MP1-BRK Low power modes using Debian on OSD32MP1-BRK

Viewing 7 reply threads
  • Author
    Posts
    • #12198
      Stjepan HorvatStjepan Horvat
      Participant

      Hi,
      I’m having issue entering low power modes on Debian (OD32MP1_BRK_Debian10_RELEASE_V1_2).
      This is the command sequence that I have tried:

      sudo -i
      echo enabled > /sys/devices/platform/soc/40010000.serial/tty/ttySTM0/power/wakeup
      echo enabled > /sys/devices/platform/soc/40010000.serial/power/wakeup
      echo mem > /sys/power/state

      I get the following error message:

      [ 189.662478] PM: suspend entry (s2idle)
      [ 189.664809] PM: Syncing filesystems … done.
      [ 189.685252] Freezing user space processes … (elapsed 0.001 seconds) done.
      [ 189.693131] OOM killer disabled.
      [ 189.695867] Freezing remaining freezable tasks … (elapsed 0.001 seconds) done.
      [ 189.703446] Suspending console(s) (use no_console_suspend to debug)
      [ 189.712160] dwc2 49000000.usb-otg: suspending usb gadget configfs-gadget
      [ 189.750402] stm32-dma 48000000.dma: Suspend is prevented by Chan 0
      [ 189.750437] dpm_run_callback(): platform_pm_suspend+0x0/0x48 returns -16
      [ 189.750448] PM: Device 48000000.dma failed to suspend: error -16
      [ 189.750460] PM: Some devices failed to suspend, or early wake event detected
      [ 189.760349] dwc2 49000000.usb-otg: resuming usb gadget configfs-gadget
      [ 189.803989] OOM killer enabled.
      [ 189.807128] Restarting tasks … done.
      [ 189.811705] PM: suspend exit
      -bash: echo: write error: Device or resource busy

      Am I missing something or doing something wrong?
      Thanks

    • #12205
      coloradocarlos
      Participant

      If you refer to the DMA driver in stm32-dma.c, the suspend code checks the EN bit (Stream Enable) in register DMA_SxCR. See page 1217 of the RM0436 which states:

      Bit 0 EN: stream enable / flag stream ready when read low
      This bit is set and cleared by software.
      0: stream disabled
      1: stream enabled
      This bit may be cleared by hardware:
      – on a DMA end of transfer (stream ready to be configured)
      – if a transfer error occurs on the AHB master buses
      – when the FIFO threshold on memory AHB port is not compatible with the size of the burst

      So something related to the DMA controller. Of interest is the AHB. By any chance, do you have a ST-LINK debugger connected to BRK board?

      Carlos

    • #12218
      Neeraj Dantu
      Moderator

      Stjepan,

      The low power modes were not fully implemented in OpenSTLinux 1.x. Can you try upgrading the image by generating a new image from Debian SDK here: https://github.com/octavosystems/osd32mp1-debian.

      Best,
      Neeraj

    • #12224
      Stjepan HorvatStjepan Horvat
      Participant

      Hi,
      I don’t have ST-LINK debugger.
      I also have issue building Debian as described in issues on https://github.com/octavosystems/osd32mp1-debian/issues/2
      What could be the cause to the build problem?
      Thanks

    • #12236
      Neeraj Dantu
      Moderator

      Stjepan,

      Please see reply to the issue on the repo. Please make sure you are running Docker and that you have all the dependencies isntalled.

      Best,
      Neeraj

    • #12242
      coloradocarlos
      Participant

      The suspend to “s2idle” is interesting. I would expect “deep” for the low power modes. Transitioning to low power is a bit more complicated because it includes coordination between the MPU and MCU. Are you running an app (firmware) on the M4 that happens to be using DMA? Try stopping the firmware and see if you can duplicate the behavior.

    • #12307
      Stjepan HorvatStjepan Horvat
      Participant

      I can confirm that i don’t have issue building the image using latest debian. I can see that only RED raw image is generated..can this be used on BRK or do I need to do some extra steps?

      Thanks

    • #12309
      Neeraj Dantu
      Moderator

      Stjepan,

      Debian SDK can build images for BRK and RED boards. In order to set it to build for BRK, please change this line: https://github.com/octavosystems/osd32mp1-build-tools/blob/master/Makefile#L26 to stm32mp157c-osd32mp1-brk and set BOOT_EMMC = 0 as BRK does not have an eMMC on board. We will update the README to make this clear.

      Best,
      Neeraj

Viewing 7 reply threads
  • You must be logged in to reply to this topic.