ARM: shmobile: ape6evm-reference: add CPUFreq support
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Mon, 8 Jul 2013 16:04:58 +0000 (18:04 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Wed, 17 Jul 2013 05:28:31 +0000 (14:28 +0900)
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>
arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
arch/arm/mach-shmobile/board-ape6evm-reference.c

index 3251f05..6f4506e 100644 (file)
                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% */
+};
index c828874..46b41de 100644 (file)
@@ -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 = {