diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2015-08-11 18:38:45 -0400 |
---|---|---|
committer | Kukjin Kim <kgene@kernel.org> | 2015-08-13 13:06:15 -0400 |
commit | f44997412e5b39b6a1231f16555120c5b2aae0ed (patch) | |
tree | b1b733dcd06ac715fb994a65dd8f896b6eba2e4c | |
parent | 48816affd931c44045913873dff21693cd7fc948 (diff) |
ARM: dts: add CPU OPP and regulator supply property for exynos4x12
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: 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>
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
-rw-r--r-- | arch/arm/boot/dts/exynos4212.dtsi | 81 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-origen.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-trats2.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412.dtsi | 83 |
5 files changed, 176 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi index d9c8efeef208..538901123d37 100644 --- a/arch/arm/boot/dts/exynos4212.dtsi +++ b/arch/arm/boot/dts/exynos4212.dtsi | |||
@@ -30,6 +30,9 @@ | |||
30 | device_type = "cpu"; | 30 | device_type = "cpu"; |
31 | compatible = "arm,cortex-a9"; | 31 | compatible = "arm,cortex-a9"; |
32 | reg = <0xA00>; | 32 | reg = <0xA00>; |
33 | clocks = <&clock CLK_ARM_CLK>; | ||
34 | clock-names = "cpu"; | ||
35 | operating-points-v2 = <&cpu0_opp_table>; | ||
33 | cooling-min-level = <13>; | 36 | cooling-min-level = <13>; |
34 | cooling-max-level = <7>; | 37 | cooling-max-level = <7>; |
35 | #cooling-cells = <2>; /* min followed by max */ | 38 | #cooling-cells = <2>; /* min followed by max */ |
@@ -39,6 +42,84 @@ | |||
39 | device_type = "cpu"; | 42 | device_type = "cpu"; |
40 | compatible = "arm,cortex-a9"; | 43 | compatible = "arm,cortex-a9"; |
41 | reg = <0xA01>; | 44 | reg = <0xA01>; |
45 | operating-points-v2 = <&cpu0_opp_table>; | ||
46 | }; | ||
47 | }; | ||
48 | |||
49 | cpu0_opp_table: opp_table0 { | ||
50 | compatible = "operating-points-v2"; | ||
51 | opp-shared; | ||
52 | |||
53 | opp00 { | ||
54 | opp-hz = /bits/ 64 <200000000>; | ||
55 | opp-microvolt = <900000>; | ||
56 | clock-latency-ns = <200000>; | ||
57 | }; | ||
58 | opp01 { | ||
59 | opp-hz = /bits/ 64 <300000000>; | ||
60 | opp-microvolt = <900000>; | ||
61 | clock-latency-ns = <200000>; | ||
62 | }; | ||
63 | opp02 { | ||
64 | opp-hz = /bits/ 64 <400000000>; | ||
65 | opp-microvolt = <925000>; | ||
66 | clock-latency-ns = <200000>; | ||
67 | }; | ||
68 | opp03 { | ||
69 | opp-hz = /bits/ 64 <500000000>; | ||
70 | opp-microvolt = <950000>; | ||
71 | clock-latency-ns = <200000>; | ||
72 | }; | ||
73 | opp04 { | ||
74 | opp-hz = /bits/ 64 <600000000>; | ||
75 | opp-microvolt = <975000>; | ||
76 | clock-latency-ns = <200000>; | ||
77 | }; | ||
78 | opp05 { | ||
79 | opp-hz = /bits/ 64 <700000000>; | ||
80 | opp-microvolt = <987500>; | ||
81 | clock-latency-ns = <200000>; | ||
82 | }; | ||
83 | opp06 { | ||
84 | opp-hz = /bits/ 64 <800000000>; | ||
85 | opp-microvolt = <1000000>; | ||
86 | clock-latency-ns = <200000>; | ||
87 | }; | ||
88 | opp07 { | ||
89 | opp-hz = /bits/ 64 <900000000>; | ||
90 | opp-microvolt = <1037500>; | ||
91 | clock-latency-ns = <200000>; | ||
92 | }; | ||
93 | opp08 { | ||
94 | opp-hz = /bits/ 64 <1000000000>; | ||
95 | opp-microvolt = <1087500>; | ||
96 | clock-latency-ns = <200000>; | ||
97 | }; | ||
98 | opp09 { | ||
99 | opp-hz = /bits/ 64 <1100000000>; | ||
100 | opp-microvolt = <1137500>; | ||
101 | clock-latency-ns = <200000>; | ||
102 | }; | ||
103 | opp10 { | ||
104 | opp-hz = /bits/ 64 <1200000000>; | ||
105 | opp-microvolt = <1187500>; | ||
106 | clock-latency-ns = <200000>; | ||
107 | }; | ||
108 | opp11 { | ||
109 | opp-hz = /bits/ 64 <1300000000>; | ||
110 | opp-microvolt = <1250000>; | ||
111 | clock-latency-ns = <200000>; | ||
112 | }; | ||
113 | opp12 { | ||
114 | opp-hz = /bits/ 64 <1400000000>; | ||
115 | opp-microvolt = <1287500>; | ||
116 | clock-latency-ns = <200000>; | ||
117 | }; | ||
118 | opp13 { | ||
119 | opp-hz = /bits/ 64 <1500000000>; | ||
120 | opp-microvolt = <1350000>; | ||
121 | clock-latency-ns = <200000>; | ||
122 | turbo-mode; | ||
42 | }; | 123 | }; |
43 | }; | 124 | }; |
44 | }; | 125 | }; |
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi index ca7d168d1dd6..db52841297a5 100644 --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi | |||
@@ -107,6 +107,10 @@ | |||
107 | }; | 107 | }; |
108 | }; | 108 | }; |
109 | 109 | ||
110 | &cpu0 { | ||
111 | cpu0-supply = <&buck2_reg>; | ||
112 | }; | ||
113 | |||
110 | /* RSTN signal for eMMC */ | 114 | /* RSTN signal for eMMC */ |
111 | &sd1_cd { | 115 | &sd1_cd { |
112 | samsung,pin-pud = <0>; | 116 | samsung,pin-pud = <0>; |
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts index 84c76310b312..9d528af68c1a 100644 --- a/arch/arm/boot/dts/exynos4412-origen.dts +++ b/arch/arm/boot/dts/exynos4412-origen.dts | |||
@@ -78,6 +78,10 @@ | |||
78 | }; | 78 | }; |
79 | }; | 79 | }; |
80 | 80 | ||
81 | &cpu0 { | ||
82 | cpu0-supply = <&buck2_reg>; | ||
83 | }; | ||
84 | |||
81 | &fimd { | 85 | &fimd { |
82 | pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; | 86 | pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; |
83 | pinctrl-names = "default"; | 87 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 884840059018..2a1ebb76ebe0 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts | |||
@@ -288,6 +288,10 @@ | |||
288 | status = "okay"; | 288 | status = "okay"; |
289 | }; | 289 | }; |
290 | 290 | ||
291 | &cpu0 { | ||
292 | cpu0-supply = <&buck2_reg>; | ||
293 | }; | ||
294 | |||
291 | &csis_0 { | 295 | &csis_0 { |
292 | status = "okay"; | 296 | status = "okay"; |
293 | vddcore-supply = <&ldo8_reg>; | 297 | vddcore-supply = <&ldo8_reg>; |
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi index b78ada70bd05..ca0e3c15977f 100644 --- a/arch/arm/boot/dts/exynos4412.dtsi +++ b/arch/arm/boot/dts/exynos4412.dtsi | |||
@@ -30,6 +30,9 @@ | |||
30 | device_type = "cpu"; | 30 | device_type = "cpu"; |
31 | compatible = "arm,cortex-a9"; | 31 | compatible = "arm,cortex-a9"; |
32 | reg = <0xA00>; | 32 | reg = <0xA00>; |
33 | clocks = <&clock CLK_ARM_CLK>; | ||
34 | clock-names = "cpu"; | ||
35 | operating-points-v2 = <&cpu0_opp_table>; | ||
33 | cooling-min-level = <13>; | 36 | cooling-min-level = <13>; |
34 | cooling-max-level = <7>; | 37 | cooling-max-level = <7>; |
35 | #cooling-cells = <2>; /* min followed by max */ | 38 | #cooling-cells = <2>; /* min followed by max */ |
@@ -39,18 +42,98 @@ | |||
39 | device_type = "cpu"; | 42 | device_type = "cpu"; |
40 | compatible = "arm,cortex-a9"; | 43 | compatible = "arm,cortex-a9"; |
41 | reg = <0xA01>; | 44 | reg = <0xA01>; |
45 | operating-points-v2 = <&cpu0_opp_table>; | ||
42 | }; | 46 | }; |
43 | 47 | ||
44 | cpu@A02 { | 48 | cpu@A02 { |
45 | device_type = "cpu"; | 49 | device_type = "cpu"; |
46 | compatible = "arm,cortex-a9"; | 50 | compatible = "arm,cortex-a9"; |
47 | reg = <0xA02>; | 51 | reg = <0xA02>; |
52 | operating-points-v2 = <&cpu0_opp_table>; | ||
48 | }; | 53 | }; |
49 | 54 | ||
50 | cpu@A03 { | 55 | cpu@A03 { |
51 | device_type = "cpu"; | 56 | device_type = "cpu"; |
52 | compatible = "arm,cortex-a9"; | 57 | compatible = "arm,cortex-a9"; |
53 | reg = <0xA03>; | 58 | reg = <0xA03>; |
59 | operating-points-v2 = <&cpu0_opp_table>; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | cpu0_opp_table: opp_table0 { | ||
64 | compatible = "operating-points-v2"; | ||
65 | opp-shared; | ||
66 | |||
67 | opp00 { | ||
68 | opp-hz = /bits/ 64 <200000000>; | ||
69 | opp-microvolt = <900000>; | ||
70 | clock-latency-ns = <200000>; | ||
71 | }; | ||
72 | opp01 { | ||
73 | opp-hz = /bits/ 64 <300000000>; | ||
74 | opp-microvolt = <900000>; | ||
75 | clock-latency-ns = <200000>; | ||
76 | }; | ||
77 | opp02 { | ||
78 | opp-hz = /bits/ 64 <400000000>; | ||
79 | opp-microvolt = <925000>; | ||
80 | clock-latency-ns = <200000>; | ||
81 | }; | ||
82 | opp03 { | ||
83 | opp-hz = /bits/ 64 <500000000>; | ||
84 | opp-microvolt = <950000>; | ||
85 | clock-latency-ns = <200000>; | ||
86 | }; | ||
87 | opp04 { | ||
88 | opp-hz = /bits/ 64 <600000000>; | ||
89 | opp-microvolt = <975000>; | ||
90 | clock-latency-ns = <200000>; | ||
91 | }; | ||
92 | opp05 { | ||
93 | opp-hz = /bits/ 64 <700000000>; | ||
94 | opp-microvolt = <987500>; | ||
95 | clock-latency-ns = <200000>; | ||
96 | }; | ||
97 | opp06 { | ||
98 | opp-hz = /bits/ 64 <800000000>; | ||
99 | opp-microvolt = <1000000>; | ||
100 | clock-latency-ns = <200000>; | ||
101 | }; | ||
102 | opp07 { | ||
103 | opp-hz = /bits/ 64 <900000000>; | ||
104 | opp-microvolt = <1037500>; | ||
105 | clock-latency-ns = <200000>; | ||
106 | }; | ||
107 | opp08 { | ||
108 | opp-hz = /bits/ 64 <1000000000>; | ||
109 | opp-microvolt = <1087500>; | ||
110 | clock-latency-ns = <200000>; | ||
111 | }; | ||
112 | opp09 { | ||
113 | opp-hz = /bits/ 64 <1100000000>; | ||
114 | opp-microvolt = <1137500>; | ||
115 | clock-latency-ns = <200000>; | ||
116 | }; | ||
117 | opp10 { | ||
118 | opp-hz = /bits/ 64 <1200000000>; | ||
119 | opp-microvolt = <1187500>; | ||
120 | clock-latency-ns = <200000>; | ||
121 | }; | ||
122 | opp11 { | ||
123 | opp-hz = /bits/ 64 <1300000000>; | ||
124 | opp-microvolt = <1250000>; | ||
125 | clock-latency-ns = <200000>; | ||
126 | }; | ||
127 | opp12 { | ||
128 | opp-hz = /bits/ 64 <1400000000>; | ||
129 | opp-microvolt = <1287500>; | ||
130 | clock-latency-ns = <200000>; | ||
131 | }; | ||
132 | opp13 { | ||
133 | opp-hz = /bits/ 64 <1500000000>; | ||
134 | opp-microvolt = <1350000>; | ||
135 | clock-latency-ns = <200000>; | ||
136 | turbo-mode; | ||
54 | }; | 137 | }; |
55 | }; | 138 | }; |
56 | 139 | ||