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.