Hi Guennadi,

Thank you for the patch.

On Thursday 26 September 2013 19:21:00 Guennadi Liakhovetski wrote:
> The Lager board uses a DA9210 voltage regulator to supply DVFS power to the
> CA15 cores on the r8a7790 SoC. This patch adds CPUFreq support for that
> board using the cpufreq-cpu0 driver.
> 
> Signed-off-by: Guennadi Liakhovetski <[email protected]>
> ---
> 
> v2: added 'status = "okay";' to the i2c bus
> 
>  arch/arm/boot/dts/r8a7790-lager-reference.dts  |   33 +++++++++++++++++++++
>  arch/arm/mach-shmobile/board-lager-reference.c |    4 ++-
>  2 files changed, 36 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/r8a7790-lager-reference.dts
> b/arch/arm/boot/dts/r8a7790-lager-reference.dts index c462ef1..1ce0a97
> 100644
> --- a/arch/arm/boot/dts/r8a7790-lager-reference.dts
> +++ b/arch/arm/boot/dts/r8a7790-lager-reference.dts
> @@ -43,3 +43,36 @@
>               };
>       };
>  };
> +
> +&i2c3 {
> +     status = "okay";
> +     pinctrl-names = "default";
> +     pinctrl-0 = <&i2c3_pins>;
> +
> +     vdd_dvfs: da9210@68 {
> +             compatible = "diasemi,da9210";
> +             reg = <0x68>;
> +
> +             regulator-min-microvolt = <900000>;
> +             regulator-max-microvolt = <1000000>;
> +             regulator-boot-on;
> +             regulator-always-on;
> +     };
> +};
> +
> +&cpu0 {
> +     cpu0-supply = <&vdd_dvfs>;
> +     operating-points = <
> +             /* kHz  uV - OPs unknown yet */
> +             1300000 1000000
> +             1000000  900000
> +     >;
> +     voltage-tolerance = <1>; /* 1% */
> +};
> +
> +&pfc {
> +     i2c3_pins: i2c3 {
> +             renesas,groups = "i2c3";
> +             renesas,function = "i2c3";
> +     };
> +};
> diff --git a/arch/arm/mach-shmobile/board-lager-reference.c
> b/arch/arm/mach-shmobile/board-lager-reference.c index 1a1a4a8..2bc8bae
> 100644
> --- a/arch/arm/mach-shmobile/board-lager-reference.c
> +++ b/arch/arm/mach-shmobile/board-lager-reference.c
> @@ -20,6 +20,7 @@
> 
>  #include <linux/init.h>
>  #include <linux/of_platform.h>
> +#include <linux/platform_device.h>
>  #include <mach/r8a7790.h>
>  #include <asm/mach/arch.h>
> 
> @@ -29,7 +30,8 @@ static void __init lager_add_standard_devices(void)
>       r8a7790_clock_init();
> 
>       r8a7790_add_dt_devices();
> -        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +     of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +     platform_device_register_simple("cpufreq-cpu0", -1, NULL, 0);

Out of curiosity, could you explain how this cpufreq-cpu0 platform device gets 
associated with the cpu0 DT node ? The cpufreq-cpu0 driver requires a DT node 
(its probe function returns -ENOENT if pdev->dev.of_node is NULL), and I don't 
see how the of_node gets set as the platform device is registered through 
board code. I might of course be missing something obvious :-)

>  }
> 
>  static const char *lager_boards_compat_dt[] __initdata = {
-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to