]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: shmobile: sh73a0: add CPUFreq support
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Fri, 5 Apr 2013 10:00:38 +0000 (12:00 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 22 Apr 2013 05:52:00 +0000 (14:52 +0900)
This patch enables the use of the generic cpufreq-cpu0 driver on sh73a0.
Providing a regulator, a list of OPPs in DT, combined with a virtual
cpufreq-cpu0 platform device and a clock, attached to it is everything,
the cpufreq-cpu0 driver needs. The first sh73a0 platform, implementing
such CPUFreq support is kzm9g-reference.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/setup-sh73a0.c

index ff674c5f2d03798f6ca5ffc6c3b3760828e3df86..8158cd6422294df029b5bee97797d2a8795c3c8e 100644 (file)
@@ -139,6 +139,8 @@ config MACH_KZM9D
 config MACH_KZM9G
        bool "KZM-A9-GT board"
        depends on ARCH_SH73A0
+       select ARCH_HAS_CPUFREQ
+       select ARCH_HAS_OPP
        select ARCH_REQUIRE_GPIOLIB
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
        select SND_SOC_AK4642 if SND_SIMPLE_CARD
index 024b7a6ee28db4b1a54dd2d222e4f0c2d93223bc..658c0ad9197d7c244e25df64633d3a7674961253 100644 (file)
@@ -971,6 +971,8 @@ static const struct of_dev_auxdata sh73a0_auxdata_lookup[] __initconst = {
 
 void __init sh73a0_add_standard_devices_dt(void)
 {
+       struct platform_device_info devinfo = { .name = "cpufreq-cpu0", .id = -1, };
+
        /* clocks are setup late during boot in the case of DT */
        sh73a0_clock_init();
 
@@ -978,6 +980,9 @@ void __init sh73a0_add_standard_devices_dt(void)
                             ARRAY_SIZE(sh73a0_devices_dt));
        of_platform_populate(NULL, of_default_bus_match_table,
                             sh73a0_auxdata_lookup, NULL);
+
+       /* Instantiate cpufreq-cpu0 */
+       platform_device_register_full(&devinfo);
 }
 
 static const char *sh73a0_boards_compat_dt[] __initdata = {