[PATCH v4 3/3] ARM: shmobile: kzm9g-reference: add CPUFreq support
Guennadi Liakhovetski
g.liakhovetski at gmx.de
Thu Apr 4 17:54:20 EDT 2013
Hi Simon
Thanks for the review
On Thu, 4 Apr 2013, Simon Horman wrote:
> On Sun, Mar 24, 2013 at 08:27:35PM +0100, Guennadi Liakhovetski wrote:
> > 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.
>
> I wonder if it would be possible to re-arange this patch a little.
>
> 1) vdd_dvfs is added in this patch but it appears to be used in the
> previous patch in the series. I wonder if this can be resolved
> by re-ordering the patches.
Right, I'll change that.
> 2) It includes both kzm9g board and sh73a0 SoC changes.
> I would prefer if the sh73a0 SoC portion (setup-sh73a0.c)
> was moved into a separate patch. The arm-soc people
> like to have separate board and SoC branches.
Yes, I'll probably just merge the sh73a0-kzm9g-reference.dts hunk into the
previous patch.
Thanks
Guennadi
>
> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas at gmail.com>
> > ---
> >
> > 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 = {
> > --
> > 1.7.2.5
> >
>
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
More information about the linux-arm-kernel
mailing list