From patchwork Sun Mar 24 19:27:35 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 2327151 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 53A7B3FDDA for ; Sun, 24 Mar 2013 19:27:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754611Ab3CXT1q (ORCPT ); Sun, 24 Mar 2013 15:27:46 -0400 Received: from moutng.kundenserver.de ([212.227.126.187]:61385 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754577Ab3CXT1q (ORCPT ); Sun, 24 Mar 2013 15:27:46 -0400 Received: from axis700.grange (dslb-094-221-101-036.pools.arcor-ip.net [94.221.101.36]) by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis) id 0LeQDB-1V2ppl3ziv-00q9uQ; Sun, 24 Mar 2013 20:27:37 +0100 Received: from 6a.grange (6a.grange [192.168.1.11]) by axis700.grange (Postfix) with ESMTPS id 943DE40BB5; Sun, 24 Mar 2013 20:27:36 +0100 (CET) Received: from lyakh by 6a.grange with local (Exim 4.72) (envelope-from ) id 1UJqZs-0005Nr-77; Sun, 24 Mar 2013 20:27:36 +0100 From: Guennadi Liakhovetski To: linux-sh@vger.kernel.org Cc: Magnus Damm , Simon Horman , linux-arm-kernel@lists.infradead.org, "Rafael J. Wysocki" , cpufreq@vger.kernel.org, Guennadi Liakhovetski Subject: [PATCH v4 3/3] ARM: shmobile: kzm9g-reference: add CPUFreq support Date: Sun, 24 Mar 2013 20:27:35 +0100 Message-Id: <1364153255-20664-4-git-send-email-g.liakhovetski@gmx.de> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1364153255-20664-1-git-send-email-g.liakhovetski@gmx.de> References: <1364153255-20664-1-git-send-email-g.liakhovetski@gmx.de> X-Provags-ID: V02:K0:i45VKxIjC8aYi+7fhe1g2vivdpxKfVwiYx5AZ+khLYu MGoCgaLytIw1mJEpFltuNi2X7snU3GVtgpg7Z1dZfUVf9n3JK0 Q0iQA18DhqNNo0i3aFxDRFRV3Vxly+obx4rqqLLdDzAjEkziYj 1gZdwwB/LjA53JPo0Pdi3WhcjrUREaBm2hcSKdxtTQDQUv0wgS GXlmz1gdyobmVUlGGHMOuTs2vVG3nzGOCkIpnjIyh39ePNDiuY X67h3XvCZDmHl+CQbQ9ANkoblxsOGtljcGr/0/4KJe9Egyup8X D5gCzV6LuABqIbBrP0fRcTsGJO9HwERGHsn9R9hhgGZJXRvLUF s1W6BELEn7hC+9/U8QahAhROSyOc6K/9sSMb1lHbfVzc1A/uQx O8L+a8RnlgXEQ== Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org This patch enables the use of the generic cpufreq-cpu0 driver on kzm9g. 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. Signed-off-by: Guennadi Liakhovetski --- v4: add a cpufreq-cpu0 platform device for the new cpufreq-cpu0 initialisation procedure arch/arm/boot/dts/sh73a0-kzm9g-reference.dts | 6 +++--- arch/arm/mach-shmobile/Kconfig | 2 ++ arch/arm/mach-shmobile/setup-sh73a0.c | 5 +++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts index dd1cd80..b6f759e 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts @@ -78,10 +78,10 @@ reg = <0x40>; regulators { - sd1 { + vdd_dvfs: sd1 { regulator-name = "1.315V CPU"; - regulator-min-microvolt = <1315000>; - regulator-max-microvolt = <1335000>; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; }; diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index eb3a7ff..8a0420b 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig @@ -134,6 +134,8 @@ config MACH_KZM9G config MACH_KZM9G_REFERENCE bool "KZM-A9-GT board - Reference Device Tree Implementation" 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 diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c index e8cd93a..0469e84 100644 --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@ -1016,6 +1016,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(); @@ -1023,6 +1025,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 = {