AVR32 Power control

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,
How's the AVR32 off for power support along the lines of suspend/hibernate? What kind of effort would it take to implement, anyone know? The AVR32 is of course a low power chippy, but a bit of suspend/hibernate action would be really very nice indeed :)

What kind of issues am I likely to face if I simply implement a custom syscall or ioctrl in a driver to simply enter a sleep mode? Making sure of course that anything talking to the outside world has finished doing it's thing.

Cheers,
-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been told u could run a type of "stop'n'go" operation on the CPU (halting the CPU) but I havend looked into it to mutch yet.. Anyone else? I'd love to hear more information on this thread.

Life's to short for waiting on slow CPU's

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not looked into suspend and hibernation support yet, but dynamic CPU clock and sleep 0 when idle is ready. Think they will be included in the next kernel release, and some of it are already present in the git repository for AVR32.

Hans-Christian

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hce wrote:
[...] sleep 0 when idle is ready. [...]
That could go some way to doing the job. Shall check through latest git and see how hard it's going to be to backport it to my 2.6.18 kernel. Actually it'll probably easier to forward-port my patchset.

-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Try the patch attached, sorry for it being a bit everything smacked into one patch...

I know the cpu_clk_set_rate function is a bit wrong, but it is so wrong it happens to work for low dividers :)

Attachment(s): 

Hans-Christian

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Applies to 2.6.18+bsp2.0.0 with minimal fuzz and no rejects, got it up and running now. Looks good so far. Have to do some power tests this evening and see what kind of differences can be achieved.

Many thanks :D
-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm interested in results if you wold consider posting them :)

Life's to short for waiting on slow CPU's

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I went from roughly 140 (150?) mA on Vcore to about 45 mA when idle and between 90 mA - 110 mA when decoding mpeg4 video.

But that is just measured with a Fluke, nothing fancy.

Hans-Christian

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

:) I need the Avr32 to run under 35mA in average... I haven't started the process of coding the system tests yet but are very interested in other peoples results. My system will probably stopp the CPU from running for about 500-1000mS at a time. Keep up the good work.

Life's to short for waiting on slow CPU's

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm anticipating most power in the system will be eaten by the SDRAM which is why I was kinda hoping for a hibernate option. Still, if you're sleeping for such long periods it should be doable. Shall get back to you this arvo.

-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How did I miss this thread? We need RTC ticking when our custom board is unplugged for at least a week or so. My solution for now is external RTC chip but I'd rather go with the built-in RTC and a carefully managed power control of peripherals...

So in avr32 lingo, we're very interested in examples of "Stop" and other sleep modes when using peripherals.

Sorry for stealing your thread :wink: