Subject: [PATCH v3 2/4] ARM: dts: Exynos5250: add CPU OPP and regulator supply property

From: [email-masked] (Krzysztof Kozlowski)
Date: Thu, 16 Jul 2015 10:38:51 +0900

On 16.07.2015 10:34, Krzysztof Kozlowski wrote:
> On 01.07.2015 22:10, Bartlomiej Zolnierkiewicz wrote:
>> From: Thomas Abraham <[email-masked]>
>>
>> For Exynos5250 platforms, add CPU operating points and CPU
>> regulator supply properties for migrating from Exynos specific
>> cpufreq driver to using generic cpufreq driver.
>>
>> Changes by Bartlomiej:
>> - split Exynos5250 support from the original patch
>> - added CPU regulator supply property for Google Spring board
>> - put the new cpu nodes in alphabetical order
>>
>> Cc: Kukjin Kim <[email-masked]>
>> Cc: Doug Anderson <[email-masked]>
>> Cc: Javier Martinez Canillas <[email-masked]>
>> Cc: Andreas Faerber <[email-masked]>
>> Signed-off-by: Thomas Abraham <[email-masked]>
>> Signed-off-by: Bartlomiej Zolnierkiewicz <[email-masked]>
>> ---
>>  arch/arm/boot/dts/exynos5250-arndale.dts  |  4 ++++
>>  arch/arm/boot/dts/exynos5250-smdk5250.dts |  4 ++++
>>  arch/arm/boot/dts/exynos5250-snow.dts     |  4 ++++
>>  arch/arm/boot/dts/exynos5250-spring.dts   |  4 ++++
>>  arch/arm/boot/dts/exynos5250.dtsi         | 22 ++++++++++++++++++++++
>>  5 files changed, 38 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
>> index 7e728a1..db3f65f 100644
>> --- a/arch/arm/boot/dts/exynos5250-arndale.dts
>> +++ b/arch/arm/boot/dts/exynos5250-arndale.dts
>> @@ -117,6 +117,10 @@
>>  	};
>>  };
>>  
>> +&cpu0 {
>> +	cpu0-supply = <&buck2_reg>;
>> +};
>> +
>>  &dp {
>>  	status = "okay";
>>  	samsung,color-space = <0>;
>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> index 4fe186d..15aea76 100644
>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> @@ -74,6 +74,10 @@
>>  	};
>>  };
>>  
>> +&cpu0 {
>> +	cpu0-supply = <&buck2_reg>;
>> +};
>> +
>>  &dp {
>>  	samsung,color-space = <0>;
>>  	samsung,dynamic-range = <0>;
>> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
>> index b7f4122..a4133df 100644
>> --- a/arch/arm/boot/dts/exynos5250-snow.dts
>> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
>> @@ -235,6 +235,10 @@
>>  	};
>>  };
>>  
>> +&cpu0 {
>> +	cpu0-supply = <&buck2_reg>;
>> +};
>> +
>>  &dp {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>> diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
>> index d03f9b8..c1edd6d 100644
>> --- a/arch/arm/boot/dts/exynos5250-spring.dts
>> +++ b/arch/arm/boot/dts/exynos5250-spring.dts
>> @@ -65,6 +65,10 @@
>>  	};
>>  };
>>  
>> +&cpu0 {
>> +	cpu0-supply = <&buck2_reg>;
>> +};
>> +
>>  &dp {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
>> index bf9bee6..0c7ef12 100644
>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>> @@ -63,6 +63,28 @@
>>  			compatible = "arm,cortex-a15";
>>  			reg = <0>;
>>  			clock-frequency = <1700000000>;
>> +			clocks = <&clock CLK_ARM_CLK>;
>> +			clock-names = "cpu";
>> +			clock-latency = <140000>;
>> +
>> +			operating-points = <
>> +				1700000 1300000
>> +				1600000 1250000
>> +				1500000 1225000
>> +				1400000 1200000
>> +				1300000 1150000
>> +				1200000 1125000
>> +				1100000 1100000
>> +				1000000 1075000
>> +				 900000 1050000
>> +				 800000 1025000
>> +				 700000 1012500
>> +				 600000 1000000
>> +				 500000  975000
>> +				 400000  950000
>> +				 300000  937500
>> +				 200000  925000
>> +			>;
>>  			cooling-min-level = <15>;
>>  			cooling-max-level = <9>;
>>  			#cooling-cells = <2>; /* min followed by max */
>>
> 
> 
> I see you have all necessary acks so this can go through samsung-soc. I
> started applying everything. Patch 4/4 does not apply cleanly but this
> was easy to solve (I think it is better to rebase on Linus tree not on
> next in such case; subsystems cannot apply easily something depending on
> next).
> 
> Unfortunately this patch (2/4) has build errors:
> 
>   DTC     arch/arm/boot/dts/exynos5250-arndale.dtb
> Error: ../arch/arm/boot/dts/exynos5250.dtsi:65.21-22 syntax error
> FATAL ERROR: Unable to parse input tree
> make[2]: *** [arch/arm/boot/dts/exynos5250-arndale.dtb] Error 1
> make[1]: *** [dtbs] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make[1]: Leaving directory `/home/kozik/dev/linux/krzk/out'
> make: *** [sub-make] Error 2
> Fail: Make error
> 
> I tried to apply this patch on my dt-for-next branch:
> https://github.com/krzk/linux/commits/dt-for-next
> 
> I hold back other patches until this is clarified.

Stupid me, it should not be split into separate branches as it depends
on clock id from headers.

Everything is fine, I applied patchset with respective tags (Javier's
reviewed/tested, Sylwester's and Viresh's acks). I'll send later to
Kukjin for v4.3 unless he picks it also.

Best regards,
Krzysztof