[AVR32] CPU frequency scaling for AT32AP
authorHans-Christian Egtvedt <hcegtvedt@atmel.com>
Mon, 4 Jun 2007 14:10:57 +0000 (16:10 +0200)
committerHaavard Skinnemoen <hskinnemoen@atmel.com>
Wed, 18 Jul 2007 18:45:51 +0000 (20:45 +0200)
commit9e58e1855c9815ad4944df90f695a7645c50f463
tree22bf85cd9a42039726de7c5250f30207dad36b5f
parent7a5b80590772c29bba1d54d3685622177d6fe39f
[AVR32] CPU frequency scaling for AT32AP

This patch enables CPU frequency scaling for AT32AP devices. This will
enable the CPU to scale between the speed of the high speed bus and
the master clock and thus save some power.

The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to
enable changing the CPU clock divider in a sane way.

The driver does not check if the given rate is 0, thus resulting in a
div by 0.  I think this check should be go into the clk_set_rate
framework, and not here.

Tested on AT32AP7000/ATSTK1000.

Hardware documentation can be found in the AT32AP7000 datasheet.

Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
arch/avr32/Kconfig
arch/avr32/mach-at32ap/Makefile
arch/avr32/mach-at32ap/at32ap7000.c
arch/avr32/mach-at32ap/cpufreq.c [new file with mode: 0644]