aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2013-07-08 12:04:58 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-07-17 01:28:31 -0400
commitb88cf6f732946874aaf3e0528459e0f0271dfcec (patch)
tree981120d257fc50ccf30b740dd5a5ed229fff42ad
parent69f366615e950cb0d5af89da228796af5208ad8f (diff)
ARM: shmobile: ape6evm-reference: add CPUFreq support
Add CPUFreq support to ape6evm-reference, using a max8973 regulator, that is supplying V_DVFS for the 4 CA15 cores on r8a73a4. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts22
-rw-r--r--arch/arm/mach-shmobile/board-ape6evm-reference.c2
2 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
index 3251f059c25b..6f4506e737ac 100644
--- a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
+++ b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
@@ -31,3 +31,25 @@
31 ranges = <0 0 0 0x80000000>; 31 ranges = <0 0 0 0x80000000>;
32 }; 32 };
33}; 33};
34
35&i2c5 {
36 vdd_dvfs: max8973@1b {
37 compatible = "maxim,max8973";
38 reg = <0x1b>;
39
40 regulator-min-microvolt = <935000>;
41 regulator-max-microvolt = <1200000>;
42 regulator-boot-on;
43 regulator-always-on;
44 };
45};
46
47&cpu0 {
48 cpu0-supply = <&vdd_dvfs>;
49 operating-points = <
50 /* kHz uV */
51 1950000 1115000
52 1462500 995000
53 >;
54 voltage-tolerance = <1>; /* 1% */
55};
diff --git a/arch/arm/mach-shmobile/board-ape6evm-reference.c b/arch/arm/mach-shmobile/board-ape6evm-reference.c
index c828874947ba..46b41dec6345 100644
--- a/arch/arm/mach-shmobile/board-ape6evm-reference.c
+++ b/arch/arm/mach-shmobile/board-ape6evm-reference.c
@@ -22,6 +22,7 @@
22#include <linux/kernel.h> 22#include <linux/kernel.h>
23#include <linux/of_platform.h> 23#include <linux/of_platform.h>
24#include <linux/pinctrl/machine.h> 24#include <linux/pinctrl/machine.h>
25#include <linux/platform_device.h>
25#include <linux/sh_clk.h> 26#include <linux/sh_clk.h>
26#include <mach/common.h> 27#include <mach/common.h>
27#include <mach/r8a73a4.h> 28#include <mach/r8a73a4.h>
@@ -56,6 +57,7 @@ static void __init ape6evm_add_standard_devices(void)
56 r8a73a4_pinmux_init(); 57 r8a73a4_pinmux_init();
57 r8a73a4_add_dt_devices(); 58 r8a73a4_add_dt_devices();
58 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 59 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
60 platform_device_register_simple("cpufreq-cpu0", -1, NULL, 0);
59} 61}
60 62
61static const char *ape6evm_boards_compat_dt[] __initdata = { 63static const char *ape6evm_boards_compat_dt[] __initdata = {