Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1201752

[PATCH v4 3/6] ARM: dts: Exynos4x12: add CPU OPP and regulator supply property

From Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Newsgroups linux.kernel
Subject [PATCH v4 3/6] ARM: dts: Exynos4x12: add CPU OPP and regulator supply property
Date 2015-08-06 15:50 +0200
Message-ID <pUtIu-271-13@gated-at.bofh.it> (permalink)
References <pUtIu-271-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


For Exynos4x12 platforms, add CPU operating points (using
opp-v2 bindings) and CPU regulator supply properties for
migrating from Exynos specific cpufreq driver to using
generic cpufreq driver.

Based on the earlier work by Thomas Abraham.

Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Doug Anderson <dianders@chromium.org>
Cc: Andreas Faerber <afaerber@suse.de>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
---
 arch/arm/boot/dts/exynos4212.dtsi               | 81 ++++++++++++++++++++++++
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi |  4 ++
 arch/arm/boot/dts/exynos4412-origen.dts         |  4 ++
 arch/arm/boot/dts/exynos4412-trats2.dts         |  4 ++
 arch/arm/boot/dts/exynos4412.dtsi               | 83 +++++++++++++++++++++++++
 5 files changed, 176 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi
index d9c8efee..5389011 100644
--- a/arch/arm/boot/dts/exynos4212.dtsi
+++ b/arch/arm/boot/dts/exynos4212.dtsi
@@ -30,6 +30,9 @@
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA00>;
+			clocks = <&clock CLK_ARM_CLK>;
+			clock-names = "cpu";
+			operating-points-v2 = <&cpu0_opp_table>;
 			cooling-min-level = <13>;
 			cooling-max-level = <7>;
 			#cooling-cells = <2>; /* min followed by max */
@@ -39,6 +42,84 @@
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA01>;
+			operating-points-v2 = <&cpu0_opp_table>;
+		};
+	};
+
+	cpu0_opp_table: opp_table0 {
+		compatible = "operating-points-v2";
+		opp-shared;
+
+		opp00 {
+			opp-hz = /bits/ 64 <200000000>;
+			opp-microvolt = <900000>;
+			clock-latency-ns = <200000>;
+		};
+		opp01 {
+			opp-hz = /bits/ 64 <300000000>;
+			opp-microvolt = <900000>;
+			clock-latency-ns = <200000>;
+		};
+		opp02 {
+			opp-hz = /bits/ 64 <400000000>;
+			opp-microvolt = <925000>;
+			clock-latency-ns = <200000>;
+		};
+		opp03 {
+			opp-hz = /bits/ 64 <500000000>;
+			opp-microvolt = <950000>;
+			clock-latency-ns = <200000>;
+		};
+		opp04 {
+			opp-hz = /bits/ 64 <600000000>;
+			opp-microvolt = <975000>;
+			clock-latency-ns = <200000>;
+		};
+		opp05 {
+			opp-hz = /bits/ 64 <700000000>;
+			opp-microvolt = <987500>;
+			clock-latency-ns = <200000>;
+		};
+		opp06 {
+			opp-hz = /bits/ 64 <800000000>;
+			opp-microvolt = <1000000>;
+			clock-latency-ns = <200000>;
+		};
+		opp07 {
+			opp-hz = /bits/ 64 <900000000>;
+			opp-microvolt = <1037500>;
+			clock-latency-ns = <200000>;
+		};
+		opp08 {
+			opp-hz = /bits/ 64 <1000000000>;
+			opp-microvolt = <1087500>;
+			clock-latency-ns = <200000>;
+		};
+		opp09 {
+			opp-hz = /bits/ 64 <1100000000>;
+			opp-microvolt = <1137500>;
+			clock-latency-ns = <200000>;
+		};
+		opp10 {
+			opp-hz = /bits/ 64 <1200000000>;
+			opp-microvolt = <1187500>;
+			clock-latency-ns = <200000>;
+		};
+		opp11 {
+			opp-hz = /bits/ 64 <1300000000>;
+			opp-microvolt = <1250000>;
+			clock-latency-ns = <200000>;
+		};
+		opp12 {
+			opp-hz = /bits/ 64 <1400000000>;
+			opp-microvolt = <1287500>;
+			clock-latency-ns = <200000>;
+		};
+		opp13 {
+			opp-hz = /bits/ 64 <1500000000>;
+			opp-microvolt = <1350000>;
+			clock-latency-ns = <200000>;
+			turbo-mode;
 		};
 	};
 };
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index ca7d168..db52841 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -107,6 +107,10 @@
 	};
 };
 
+&cpu0 {
+	cpu0-supply = <&buck2_reg>;
+};
+
 /* RSTN signal for eMMC */
 &sd1_cd {
 	samsung,pin-pud = <0>;
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
index 84c7631..9d528af 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -78,6 +78,10 @@
 	};
 };
 
+&cpu0 {
+	cpu0-supply = <&buck2_reg>;
+};
+
 &fimd {
 	pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
 	pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
index 8848400..2a1ebb7 100644
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -288,6 +288,10 @@
 	status = "okay";
 };
 
+&cpu0 {
+	cpu0-supply = <&buck2_reg>;
+};
+
 &csis_0 {
 	status = "okay";
 	vddcore-supply = <&ldo8_reg>;
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index b78ada7..ca0e3c1 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -30,6 +30,9 @@
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA00>;
+			clocks = <&clock CLK_ARM_CLK>;
+			clock-names = "cpu";
+			operating-points-v2 = <&cpu0_opp_table>;
 			cooling-min-level = <13>;
 			cooling-max-level = <7>;
 			#cooling-cells = <2>; /* min followed by max */
@@ -39,18 +42,98 @@
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA01>;
+			operating-points-v2 = <&cpu0_opp_table>;
 		};
 
 		cpu@A02 {
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA02>;
+			operating-points-v2 = <&cpu0_opp_table>;
 		};
 
 		cpu@A03 {
 			device_type = "cpu";
 			compatible = "arm,cortex-a9";
 			reg = <0xA03>;
+			operating-points-v2 = <&cpu0_opp_table>;
+		};
+	};
+
+	cpu0_opp_table: opp_table0 {
+		compatible = "operating-points-v2";
+		opp-shared;
+
+		opp00 {
+			opp-hz = /bits/ 64 <200000000>;
+			opp-microvolt = <900000>;
+			clock-latency-ns = <200000>;
+		};
+		opp01 {
+			opp-hz = /bits/ 64 <300000000>;
+			opp-microvolt = <900000>;
+			clock-latency-ns = <200000>;
+		};
+		opp02 {
+			opp-hz = /bits/ 64 <400000000>;
+			opp-microvolt = <925000>;
+			clock-latency-ns = <200000>;
+		};
+		opp03 {
+			opp-hz = /bits/ 64 <500000000>;
+			opp-microvolt = <950000>;
+			clock-latency-ns = <200000>;
+		};
+		opp04 {
+			opp-hz = /bits/ 64 <600000000>;
+			opp-microvolt = <975000>;
+			clock-latency-ns = <200000>;
+		};
+		opp05 {
+			opp-hz = /bits/ 64 <700000000>;
+			opp-microvolt = <987500>;
+			clock-latency-ns = <200000>;
+		};
+		opp06 {
+			opp-hz = /bits/ 64 <800000000>;
+			opp-microvolt = <1000000>;
+			clock-latency-ns = <200000>;
+		};
+		opp07 {
+			opp-hz = /bits/ 64 <900000000>;
+			opp-microvolt = <1037500>;
+			clock-latency-ns = <200000>;
+		};
+		opp08 {
+			opp-hz = /bits/ 64 <1000000000>;
+			opp-microvolt = <1087500>;
+			clock-latency-ns = <200000>;
+		};
+		opp09 {
+			opp-hz = /bits/ 64 <1100000000>;
+			opp-microvolt = <1137500>;
+			clock-latency-ns = <200000>;
+		};
+		opp10 {
+			opp-hz = /bits/ 64 <1200000000>;
+			opp-microvolt = <1187500>;
+			clock-latency-ns = <200000>;
+		};
+		opp11 {
+			opp-hz = /bits/ 64 <1300000000>;
+			opp-microvolt = <1250000>;
+			clock-latency-ns = <200000>;
+		};
+		opp12 {
+			opp-hz = /bits/ 64 <1400000000>;
+			opp-microvolt = <1287500>;
+			clock-latency-ns = <200000>;
+		};
+		opp13 {
+			opp-hz = /bits/ 64 <1500000000>;
+			opp-microvolt = <1350000>;
+			clock-latency-ns = <200000>;
+			turbo-mode;
 		};
 	};
 
-- 
1.9.1

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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
  [PATCH v4 4/6] ARM: Exynos: switch to using generic cpufreq driver for  Exynos4x12 Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
  [PATCH v4 2/6] clk: samsung: exynos4x12: add cpu clock configuration  data and instantiate cpu clock Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
  [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr available  when boost is enabled Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
    Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 05:50 +0200
      Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-07 12:40 +0200
        Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 12:50 +0200
          Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-07 13:20 +0200
            Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 13:40 +0200
              Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr available when boost is enabled "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2015-08-08 00:00 +0200
                Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr  available when boost is enabled Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-08 04:10 +0200
  [PATCH v4 6/6] cpufreq: remove no longer needed CPU_FREQ_BOOST_SW  config option Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
    Re: [PATCH v4 6/6] cpufreq: remove no longer needed  CPU_FREQ_BOOST_SW config option Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 06:40 +0200
  [PATCH v4 5/6] cpufreq: exynos: remove Exynos4x12 specific cpufreq  driver support Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
  [PATCH v4 3/6] ARM: dts: Exynos4x12: add CPU OPP and regulator supply  property Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-06 15:50 +0200
  RE: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Kukjin Kim <kgene@kernel.org> - 2015-08-07 02:00 +0200
    Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 06:00 +0200
      Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 06:00 +0200
        Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-08-07 06:20 +0200
          Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 06:40 +0200
            Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-08-07 07:00 +0200
              Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 07:20 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-07 13:40 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 13:50 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2015-08-07 13:50 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-07 14:00 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12 platform "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2015-08-08 00:00 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-08 04:10 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-08-08 09:30 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for  Exynos4x12 platform Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-08 16:00 +0200
                RE: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Kukjin Kim <kgene@kernel.org> - 2015-08-10 03:30 +0200
                Re: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-08-11 04:30 +0200
                RE: [PATCH v4 0/6] cpufreq: use generic cpufreq drivers for Exynos4x12  platform Kukjin Kim <kgene@kernel.org> - 2015-08-11 10:00 +0200

csiph-web