Fix CPU operating points for Exynos5800 (it uses different
voltages than Exynos5420 and supports additional frequencies).
However don't use 2000MHz & 1900MHz OPPs (for A15 cores) and
1400MHz OPP (for A7 cores) until there is a separate DTS for
ODROID-XU3 Lite board (which doesn't support these higher
OPPs).

Based on Hardkernel's kernel for ODROID-XU3 board.

Changes by Ben Gamari:
- Port to operating-points-v2

Cc: Kukjin Kim <kgene....@samsung.com>
Cc: Doug Anderson <diand...@chromium.org>
Cc: Javier Martinez Canillas <jav...@osg.samsung.com>
Cc: Andreas Faerber <afaer...@suse.de>
Cc: Sachin Kamat <sachin.ka...@linaro.org>
Cc: Thomas Abraham <thomas...@samsung.com>
Signed-off-by: Ben Gamari <b...@smart-cactus.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnier...@samsung.com>
---
 arch/arm/boot/dts/exynos5800.dtsi | 165 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 165 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5800.dtsi 
b/arch/arm/boot/dts/exynos5800.dtsi
index c0bb356..e417218 100644
--- a/arch/arm/boot/dts/exynos5800.dtsi
+++ b/arch/arm/boot/dts/exynos5800.dtsi
@@ -17,8 +17,173 @@
 
 / {
        compatible = "samsung,exynos5800", "samsung,exynos5";
+
+       cpu0_opp_table: opp_table0 {
+               compatible = "operating-points-v2";
+               opp-shared;
+               opp00@1800000000 {
+                       opp-hz = /bits/ 64 <1800000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp01@1700000000 {
+                       opp-hz = /bits/ 64 <1700000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp02@1600000000 {
+                       opp-hz = /bits/ 64 <1600000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp03@1500000000 {
+                       opp-hz = /bits/ 64 <1500000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp04@1400000000 {
+                       opp-hz = /bits/ 64 <1400000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp05@1300000000 {
+                       opp-hz = /bits/ 64 <1300000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp06@1200000000 {
+                       opp-hz = /bits/ 64 <1200000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp07@1100000000 {
+                       opp-hz = /bits/ 64 <1100000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp08@1000000000 {
+                       opp-hz = /bits/ 64 <1000000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp09@900000000 {
+                       opp-hz = /bits/ 64 <900000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp10@800000000 {
+                       opp-hz = /bits/ 64 <800000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp11@700000000 {
+                       opp-hz = /bits/ 64 <700000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp12@600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp13@500000000 {
+                       opp-hz = /bits/ 64 <500000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp14@400000000 {
+                       opp-hz = /bits/ 64 <400000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp15@300000000 {
+                       opp-hz = /bits/ 64 <300000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp16@200000000 {
+                       opp-hz = /bits/ 64 <200000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+       };
+
+       cpu1_opp_table: opp_table1 {
+               compatible = "operating-points-v2";
+               opp-shared;
+               opp00@1300000000 {
+                       opp-hz = /bits/ 64 <1300000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp01@1200000000 {
+                       opp-hz = /bits/ 64 <1200000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp02@1100000000 {
+                       opp-hz = /bits/ 64 <1100000000>;
+                       opp-microvolt = <1250000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp03@1000000000 {
+                       opp-hz = /bits/ 64 <1000000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp04@900000000 {
+                       opp-hz = /bits/ 64 <900000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp05@800000000 {
+                       opp-hz = /bits/ 64 <800000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp06@700000000 {
+                       opp-hz = /bits/ 64 <700000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp07@600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp08@500000000 {
+                       opp-hz = /bits/ 64 <500000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp09@400000000 {
+                       opp-hz = /bits/ 64 <400000000>;
+                       opp-microvolt = <1000000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp10@300000000 {
+                       opp-hz = /bits/ 64 <300000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+               opp11@200000000 {
+                       opp-hz = /bits/ 64 <200000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <140000>;
+               };
+       };
 };
 
+&cpu0 { operating-points-v2 = <&cpu0_opp_table>; };
+&cpu1 { operating-points-v2 = <&cpu0_opp_table>; };
+&cpu2 { operating-points-v2 = <&cpu0_opp_table>; };
+&cpu3 { operating-points-v2 = <&cpu0_opp_table>; };
+
+&cpu4 { operating-points-v2 = <&cpu1_opp_table>; };
+&cpu5 { operating-points-v2 = <&cpu1_opp_table>; };
+&cpu6 { operating-points-v2 = <&cpu1_opp_table>; };
+&cpu7 { operating-points-v2 = <&cpu1_opp_table>; };
+
 &clock {
        compatible = "samsung,exynos5800-clock";
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to