Re: BeagleBone Black with PM (Power Management) functionality available in current release image?

4,975 views
Skip to first unread message
Message has been deleted

Mathijs van den Berg

unread,
Jun 13, 2013, 5:35:02 AM6/13/13
to beagl...@googlegroups.com, richard...@lavabit.com
The documentation is kernel documentation:

http://www.mjmwired.net/kernel/Documentation/power/interface.txt

This is also mentioned at other pages like these, but not limited to:

http://processors.wiki.ti.com/index.php/AM335x_Power_Management_User_guide


I also tried quoting mem in single and double quotes, but no success.
Another strange thing is that i expect when i read the dmesg, i should see:

[    2.127075] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    2.137084] Copied the M3 firmware to UMEM

However, this is not shown in my log.. What can i do to make it load this file?

Kind regards,

Mathijs





Message has been deleted

David Goodenough

unread,
Jun 14, 2013, 2:09:25 PM6/14/13
to beagl...@googlegroups.com
On Friday 14 Jun 2013, rh wrote:
> On Thu, 13 Jun 2013 02:35:02 -0700 (PDT)
> Mathijs van den Berg
> <mathijsva...@gmail.com> wrote:
>
> --8<--
>
> > *However, this is not shown in my log.. What can i do to make it load
> > this file?
>
> I misunderstood your question....
>
> It seems that acpid is not running on the BBB
>
> upowerd is running
> upower --monitor-detail might show something
>
> The firmware is built into the kernel:
> root@beaglebone:~# gunzip -c /proc/config.gz |grep am3
> CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.bin"
>
> I don't see that file on the bbb so it's compiled into the kernel.
>
> To answer yur question it seems that angstrom doesn't have acpi
ACPI is an x86 only concept, it does not exist on ARM. What you need
is lmsensors which supports the sensors directly rather than relying on
BIOS (of which ACPI is part).

David
> built into the kernel.
>
> I only find APM emulation (apmd is not running either)
>
> root@beaglebone:~# gunzip -c /proc/config.gz |grep apm
> CONFIG_SYS_SUPPORTS_APM_EMULATION=y
>
> It seems there are more than a few questions for someone
> learned in the BBB.
> 1. Is the firmware already in /lib/firmware ?
> ( I see files there but don't know if they are what's needed)
> 2. Is acpid or apmd missing on purpose and replaced by something else?

Message has been deleted

avd...@gmail.com

unread,
Jun 17, 2013, 9:42:28 AM6/17/13
to beagl...@googlegroups.com, richard...@lavabit.com
I am getting a similar error on Angstrom for the Beaglebone vA6. Is it a dead end? Or is a work around possible?
Has anyone tried a different OS? Ubuntu? Fedora? Android? 


On Saturday, 15 June 2013 20:06:00 UTC-4, rh wrote:
On Fri, 14 Jun 2013 19:09:25 +0100
David Goodenough
<david.go...@linkchoose.co.uk> wrote:

> On Friday 14 Jun 2013, rh wrote:
> > On Thu, 13 Jun 2013 02:35:02 -0700 (PDT)
> > Mathijs van den Berg
> > <mathijsva...@gmail.com> wrote:
> >
> > --8<--
> >
> > > *However, this is not shown in my log.. What can i do to make it
> > > load this file?
> >
> > I misunderstood your question....
> >
> > It seems that acpid is not running on the BBB
> >
> > upowerd is running
> > upower --monitor-detail might show something
> >
> > The firmware is built into the kernel:
> > root@beaglebone:~# gunzip -c /proc/config.gz |grep am3
> > CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.bin"
> >
> > I don't see that file on the bbb so it's compiled into the kernel.
> >
> > To answer yur question it seems that angstrom doesn't have acpi
> ACPI is an x86 only concept, it does not exist on ARM.  What you need
> is lmsensors which supports the sensors directly rather than relying
> on BIOS (of which ACPI is part).

It seems angstrom has no support for lmsensors or any other PM far
as I can tell. But it's good to know as I'm rolling my own OS for my bbb.

Also the OP  has an answer to their question.

Mathijs van den Berg

unread,
Jun 19, 2013, 3:41:36 AM6/19/13
to beagl...@googlegroups.com, richard...@lavabit.com, avd...@gmail.com
I did some research on the internet and found the following things:

* The PM functionality shown in the examples is based on the Arago/TI Linux SDK. This used kernel is 3.2 and board support is limited to the AM335X EVM or the Beaglebone.
 Trying booting this kernel will result in an error (CONFIG_DEBUG_LL=y) that the device tree platform is not supported.
 Beaglebone black comes with 3.8.13 shipped (my A5B version). BBB support is available in the 06.00.00.00 SDK. This SDK is planned for release in june (see post)
http://e2e.ti.com/support/arm/sitara_arm/f/791/t/265238.aspx

* The AM33X-C3 (Power management firmware/loader) has a different method of initializing when used on 3.8 kernels. On 3.2 kernels, this firmware/loader is embedded into the kernel image.
  on 3.8 kernels, some kind of init script must be executed in /etc/init.d/
  This is stated in this patch: https://lists.yoctoproject.org/pipermail/meta-ti/2013-May/002689.html

  This way, the firmware is present on the rootfs, and loaded into the M3 core by accessing the sysfs driver.
  /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
  On my rootfs, this 44d00000.wkup_m3 is not present. I will try to add it to my device tree file boneblack.dts.

 To summarize, i see two options for me:

* Wait for the 06.00.00.00 SDK and have am33X-C3 working out of the box
* Alter device tree file, get the firmware loader working, and upload the M3 firmware into the UMEM.

Are there any suggestions on the second approach?

Kind regards,

Mathijs






Message has been deleted

Mathijs van den Berg

unread,
Jun 24, 2013, 4:15:30 AM6/24/13
to beagl...@googlegroups.com, richard...@lavabit.com
I don't think it's a "must". Firmware on disk or in the kernel is your
choice. That is to say if you want it built into the kernel you can
or you can load it from disk.  Just as an example a 3.2 kernel can
load firmware from disk or have it built in. 3.8 can do the same.
Built-ins can make devices available sooner during boot.

Thanks for replying ;) I am familiar with kernel configurations as built-in or module. However the following was stated by Anders Darander:

"The new package, am33x-cm3, consists of the FW blob for the Cortex M3 on the
BB that handles the power management of the board. Without this firmware
loaded, even a simple `reboot` won't succeed. In the old 3.2 kernel, this was
compiled in as a part of the kernel, however, in the 3.8 kernel, it has to be
loaded during the runtime."
 
In the TI.com thread i posted some time ago, a developer wrote me that the 06.00.00.00 SDK will be released in the first week of july. This release
will be compatible with the BeagleBone Black and is based on the Arago with 3.2 kernel. I think for the short term, my odds are best waiting for this release.

Although if someone knows how to make this work for Angström /  3.8 kernel, i would be very happy to read your reply!

Kind regards,

Mathijs

Gerald Coley

unread,
Jun 24, 2013, 8:09:45 AM6/24/13
to beagl...@googlegroups.com, richard...@lavabit.com
But, the SDK will have no support for HDMI.

Gerald



--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Gerald
 
Message has been deleted

Gerald Coley

unread,
Jun 24, 2013, 2:49:31 PM6/24/13
to beagl...@googlegroups.com
Resources. Not a lack of expertise.

Gerald


On Mon, Jun 24, 2013 at 12:11 PM, rh <richard...@lavabit.com> wrote:
On Mon, 24 Jun 2013 01:15:30 -0700 (PDT)

Mathijs van den Berg
<mathijsva...@gmail.com> wrote:

>
> Thanks for replying ;) I am familiar with kernel configurations as
> built-in or module. However the following was stated by Anders
> Darander:

This is not built-in versus module.  That's a different topic.
This is reading a firmware from disk at some point during boot
or later versus building the firmware into the kernel.


>
> "The new package, am33x-cm3, consists of the FW blob for the Cortex
> M3 on the BB that handles the power management of the board. Without
> this firmware loaded, even a simple `reboot` won't succeed. In the
> old 3.2 kernel, this was compiled in as a part of the kernel,
> however, in the 3.8 kernel, it has to be loaded during the runtime."

This sounds wrong to me.  Some embedded devices have no
storage for firmware and the firmware comes in a static
kernel.


>
>
> In the TI.com thread i posted some time ago, a developer wrote me
> that the 06.00.00.00 SDK will be released in the first week of july.

You said June before, has it already been pushed out?


> This release will be compatible with the BeagleBone Black and is
> based on the Arago with 3.2 kernel. I think for the short term, my
> odds are best waiting for this release.

If it's just a firmware blob why does there have to be any waiting?


>
> Although if someone knows how to make this work for Angström /  3.8
> kernel, i would be very happy to read your reply!

I understand that the issue is that 3.2 does not use device tree but later
kernels do. So TI would have work to do to use device tree in 3.8.

There seems to be some animosity between TI and kernel folk. But
maybe it's just that TI doesn't have the expertise for getting this
stuff working with device tree.
Message has been deleted

avd...@gmail.com

unread,
Jul 11, 2013, 11:09:39 AM7/11/13
to beagl...@googlegroups.com
Hi


Hope you find it useful.

Abhijeet

On Wednesday, 12 June 2013 09:13:52 UTC-4, Mathijs van den Berg wrote:
Dear developers,

I would like to do some power management with the BeagleBone Black.
This board contains the AM3359 and is capable of getting into a deep sleep consuming only 7mW or standby with 25mW.

Documentation on the internet shows that this sleep mode can be activated by executing 'echo mem > /sys/power/state'.
However, this gives an '-sh: echo: write error: No such device'.

I found out that PM can be archieved with using an PM enabled kernel together with a special binary file that runs on a Cortex M3 core inside the AM3359.
My question is, if PM is enabled in the release eMMC latest image (06-06-2013), and if not, what should be the correct/prefered way to compile such kernel?

Kind regards,

Mathijs van den Berg




Message has been deleted

Dan Huang

unread,
Aug 9, 2013, 10:53:06 PM8/9/13
to beagl...@googlegroups.com, richard...@lavabit.com, avd...@gmail.com
Hi Mathijs van den Berg 

I want to make BBB's Angstrom to enable pm suspend/wakeup by "echo mem > /sys/power/state". I follow the instruction to rebuild the angstrom 
with am335x-pm-firmware.bin. The instruction is http://wiki.replicape.com/index.php?title=Compiling_the_kernel.  But I fail to enable the suspend/wakeup power management.

Could you send me some instructions about how to enable suspend/wakeup power management on Angstrom BBB.

Thanks

Ali

unread,
Nov 4, 2013, 5:28:44 AM11/4/13
to beagl...@googlegroups.com, avd...@gmail.com
Hi Abhijeet,

I did the fix for wake up capable as per the TI thread you referred to and recompiled a new kernel using the TI SDK 05.06.00.00.
But I am not sure which files (UImage, zImage, u-boot.img??......) I need to download to the beagle bone black board to get suspend/resume via RTC wake alarm working.

rameez...@wavetec.co

unread,
Nov 8, 2013, 12:35:23 AM11/8/13
to beagl...@googlegroups.com, avd...@gmail.com

Hi all,

I was reading the thread. I want to confirm this conclusion I have made:

Is BBB with linux kernel version 3.8+ is still not available with power management options enabled???

Thank you

Neilh

unread,
Dec 17, 2013, 9:17:45 PM12/17/13
to beagl...@googlegroups.com, avd...@gmail.com, rameez...@wavetec.co
 This is great thread for an overview on the power management. I've got a BBB and its now 3.8.
Has anybody tried the PM APIs or got some pointers.?
I've compiled the Ubuntu for BBB (3.8.13-bone32) and it has some options for CPU power management - though haven't got to dig into what they do yet.
Anybody tinkering in this area?
Reply all
Reply to author
Forward
0 new messages