diff mbox

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

Message ID 1435756238-845-3-git-send-email-b.zolnierkie@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bartlomiej Zolnierkiewicz July 1, 2015, 1:10 p.m. UTC
From: Thomas Abraham <thomas.ab@samsung.com>

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 <kgene.kim@samsung.com>
Cc: Doug Anderson <dianders@chromium.org>
Cc: Javier Martinez Canillas <javier@dowhile0.org>
Cc: Andreas Faerber <afaerber@suse.de>
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
---
 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(+)

Comments

Krzysztof Kozlowski July 1, 2015, 11:53 p.m. UTC | #1
On 01.07.2015 22:10, Bartlomiej Zolnierkiewicz wrote:
> From: Thomas Abraham <thomas.ab@samsung.com>
> 
> 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 <kgene.kim@samsung.com>
> Cc: Doug Anderson <dianders@chromium.org>
> Cc: Javier Martinez Canillas <javier@dowhile0.org>
> Cc: Andreas Faerber <afaerber@suse.de>
> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> ---
>  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(+)

Looks good, thanks!

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Best regards,
Krzysztof
Javier Martinez Canillas July 2, 2015, 11:14 a.m. UTC | #2
On Thu, Jul 2, 2015 at 1:53 AM, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> On 01.07.2015 22:10, Bartlomiej Zolnierkiewicz wrote:
>> From: Thomas Abraham <thomas.ab@samsung.com>
>>
>> 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 <kgene.kim@samsung.com>
>> Cc: Doug Anderson <dianders@chromium.org>
>> Cc: Javier Martinez Canillas <javier@dowhile0.org>
>> Cc: Andreas Faerber <afaerber@suse.de>
>> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
>> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
>> ---
>>  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(+)
>
> Looks good, thanks!
>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>

Reviewed-by: Javier Martinez Canillas <javier@dowhile0.org>

and on an Exynos5250 Snow Chromebook:

Tested-by: Javier Martinez Canillas <javier@dowhile0.org>

Best regards,
Javier
Krzysztof Kozlowski July 16, 2015, 1:34 a.m. UTC | #3
On 01.07.2015 22:10, Bartlomiej Zolnierkiewicz wrote:
> From: Thomas Abraham <thomas.ab@samsung.com>
> 
> 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 <kgene.kim@samsung.com>
> Cc: Doug Anderson <dianders@chromium.org>
> Cc: Javier Martinez Canillas <javier@dowhile0.org>
> Cc: Andreas Faerber <afaerber@suse.de>
> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> ---
>  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.

Best regards,
Krzysztof
Krzysztof Kozlowski July 16, 2015, 1:38 a.m. UTC | #4
On 16.07.2015 10:34, Krzysztof Kozlowski wrote:
> On 01.07.2015 22:10, Bartlomiej Zolnierkiewicz wrote:
>> From: Thomas Abraham <thomas.ab@samsung.com>
>>
>> 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 <kgene.kim@samsung.com>
>> Cc: Doug Anderson <dianders@chromium.org>
>> Cc: Javier Martinez Canillas <javier@dowhile0.org>
>> Cc: Andreas Faerber <afaerber@suse.de>
>> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
>> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
>> ---
>>  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
diff mbox

Patch

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 */