| From ffe4d831f81e1bbb396173ca2146bfb7fefcf562 Mon Sep 17 00:00:00 2001 |
| From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| Date: Mon, 8 Jul 2013 18:04:58 +0200 |
| Subject: 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> |
| (cherry picked from commit b88cf6f732946874aaf3e0528459e0f0271dfcec) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | 22 ++++++++++++++++++++++ |
| arch/arm/mach-shmobile/board-ape6evm-reference.c | 2 ++ |
| 2 files changed, 24 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts |
| index 3251f059..6f4506e7 100644 |
| --- a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts |
| +++ b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts |
| @@ -31,3 +31,25 @@ |
| ranges = <0 0 0 0x80000000>; |
| }; |
| }; |
| + |
| +&i2c5 { |
| + vdd_dvfs: max8973@1b { |
| + compatible = "maxim,max8973"; |
| + reg = <0x1b>; |
| + |
| + regulator-min-microvolt = <935000>; |
| + regulator-max-microvolt = <1200000>; |
| + regulator-boot-on; |
| + regulator-always-on; |
| + }; |
| +}; |
| + |
| +&cpu0 { |
| + cpu0-supply = <&vdd_dvfs>; |
| + operating-points = < |
| + /* kHz uV */ |
| + 1950000 1115000 |
| + 1462500 995000 |
| + >; |
| + voltage-tolerance = <1>; /* 1% */ |
| +}; |
| diff --git a/arch/arm/mach-shmobile/board-ape6evm-reference.c b/arch/arm/mach-shmobile/board-ape6evm-reference.c |
| index c8288749..46b41dec 100644 |
| --- a/arch/arm/mach-shmobile/board-ape6evm-reference.c |
| +++ b/arch/arm/mach-shmobile/board-ape6evm-reference.c |
| @@ -22,6 +22,7 @@ |
| #include <linux/kernel.h> |
| #include <linux/of_platform.h> |
| #include <linux/pinctrl/machine.h> |
| +#include <linux/platform_device.h> |
| #include <linux/sh_clk.h> |
| #include <mach/common.h> |
| #include <mach/r8a73a4.h> |
| @@ -56,6 +57,7 @@ static void __init ape6evm_add_standard_devices(void) |
| r8a73a4_pinmux_init(); |
| r8a73a4_add_dt_devices(); |
| of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
| + platform_device_register_simple("cpufreq-cpu0", -1, NULL, 0); |
| } |
| |
| static const char *ape6evm_boards_compat_dt[] __initdata = { |
| -- |
| 1.8.4.3.gca3854a |
| |