Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Bartlomiej Zolnierkiewicz and committed by
Kukjin Kim
f4499741 48816aff

+176
+81
arch/arm/boot/dts/exynos4212.dtsi
··· 30 30 device_type = "cpu"; 31 31 compatible = "arm,cortex-a9"; 32 32 reg = <0xA00>; 33 + clocks = <&clock CLK_ARM_CLK>; 34 + clock-names = "cpu"; 35 + operating-points-v2 = <&cpu0_opp_table>; 33 36 cooling-min-level = <13>; 34 37 cooling-max-level = <7>; 35 38 #cooling-cells = <2>; /* min followed by max */ ··· 42 39 device_type = "cpu"; 43 40 compatible = "arm,cortex-a9"; 44 41 reg = <0xA01>; 42 + operating-points-v2 = <&cpu0_opp_table>; 43 + }; 44 + }; 45 + 46 + cpu0_opp_table: opp_table0 { 47 + compatible = "operating-points-v2"; 48 + opp-shared; 49 + 50 + opp00 { 51 + opp-hz = /bits/ 64 <200000000>; 52 + opp-microvolt = <900000>; 53 + clock-latency-ns = <200000>; 54 + }; 55 + opp01 { 56 + opp-hz = /bits/ 64 <300000000>; 57 + opp-microvolt = <900000>; 58 + clock-latency-ns = <200000>; 59 + }; 60 + opp02 { 61 + opp-hz = /bits/ 64 <400000000>; 62 + opp-microvolt = <925000>; 63 + clock-latency-ns = <200000>; 64 + }; 65 + opp03 { 66 + opp-hz = /bits/ 64 <500000000>; 67 + opp-microvolt = <950000>; 68 + clock-latency-ns = <200000>; 69 + }; 70 + opp04 { 71 + opp-hz = /bits/ 64 <600000000>; 72 + opp-microvolt = <975000>; 73 + clock-latency-ns = <200000>; 74 + }; 75 + opp05 { 76 + opp-hz = /bits/ 64 <700000000>; 77 + opp-microvolt = <987500>; 78 + clock-latency-ns = <200000>; 79 + }; 80 + opp06 { 81 + opp-hz = /bits/ 64 <800000000>; 82 + opp-microvolt = <1000000>; 83 + clock-latency-ns = <200000>; 84 + }; 85 + opp07 { 86 + opp-hz = /bits/ 64 <900000000>; 87 + opp-microvolt = <1037500>; 88 + clock-latency-ns = <200000>; 89 + }; 90 + opp08 { 91 + opp-hz = /bits/ 64 <1000000000>; 92 + opp-microvolt = <1087500>; 93 + clock-latency-ns = <200000>; 94 + }; 95 + opp09 { 96 + opp-hz = /bits/ 64 <1100000000>; 97 + opp-microvolt = <1137500>; 98 + clock-latency-ns = <200000>; 99 + }; 100 + opp10 { 101 + opp-hz = /bits/ 64 <1200000000>; 102 + opp-microvolt = <1187500>; 103 + clock-latency-ns = <200000>; 104 + }; 105 + opp11 { 106 + opp-hz = /bits/ 64 <1300000000>; 107 + opp-microvolt = <1250000>; 108 + clock-latency-ns = <200000>; 109 + }; 110 + opp12 { 111 + opp-hz = /bits/ 64 <1400000000>; 112 + opp-microvolt = <1287500>; 113 + clock-latency-ns = <200000>; 114 + }; 115 + opp13 { 116 + opp-hz = /bits/ 64 <1500000000>; 117 + opp-microvolt = <1350000>; 118 + clock-latency-ns = <200000>; 119 + turbo-mode; 45 120 }; 46 121 }; 47 122 };
+4
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
··· 107 107 }; 108 108 }; 109 109 110 + &cpu0 { 111 + cpu0-supply = <&buck2_reg>; 112 + }; 113 + 110 114 /* RSTN signal for eMMC */ 111 115 &sd1_cd { 112 116 samsung,pin-pud = <0>;
+4
arch/arm/boot/dts/exynos4412-origen.dts
··· 78 78 }; 79 79 }; 80 80 81 + &cpu0 { 82 + cpu0-supply = <&buck2_reg>; 83 + }; 84 + 81 85 &fimd { 82 86 pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 83 87 pinctrl-names = "default";
+4
arch/arm/boot/dts/exynos4412-trats2.dts
··· 288 288 status = "okay"; 289 289 }; 290 290 291 + &cpu0 { 292 + cpu0-supply = <&buck2_reg>; 293 + }; 294 + 291 295 &csis_0 { 292 296 status = "okay"; 293 297 vddcore-supply = <&ldo8_reg>;
+83
arch/arm/boot/dts/exynos4412.dtsi
··· 30 30 device_type = "cpu"; 31 31 compatible = "arm,cortex-a9"; 32 32 reg = <0xA00>; 33 + clocks = <&clock CLK_ARM_CLK>; 34 + clock-names = "cpu"; 35 + operating-points-v2 = <&cpu0_opp_table>; 33 36 cooling-min-level = <13>; 34 37 cooling-max-level = <7>; 35 38 #cooling-cells = <2>; /* min followed by max */ ··· 42 39 device_type = "cpu"; 43 40 compatible = "arm,cortex-a9"; 44 41 reg = <0xA01>; 42 + operating-points-v2 = <&cpu0_opp_table>; 45 43 }; 46 44 47 45 cpu@A02 { 48 46 device_type = "cpu"; 49 47 compatible = "arm,cortex-a9"; 50 48 reg = <0xA02>; 49 + operating-points-v2 = <&cpu0_opp_table>; 51 50 }; 52 51 53 52 cpu@A03 { 54 53 device_type = "cpu"; 55 54 compatible = "arm,cortex-a9"; 56 55 reg = <0xA03>; 56 + operating-points-v2 = <&cpu0_opp_table>; 57 + }; 58 + }; 59 + 60 + cpu0_opp_table: opp_table0 { 61 + compatible = "operating-points-v2"; 62 + opp-shared; 63 + 64 + opp00 { 65 + opp-hz = /bits/ 64 <200000000>; 66 + opp-microvolt = <900000>; 67 + clock-latency-ns = <200000>; 68 + }; 69 + opp01 { 70 + opp-hz = /bits/ 64 <300000000>; 71 + opp-microvolt = <900000>; 72 + clock-latency-ns = <200000>; 73 + }; 74 + opp02 { 75 + opp-hz = /bits/ 64 <400000000>; 76 + opp-microvolt = <925000>; 77 + clock-latency-ns = <200000>; 78 + }; 79 + opp03 { 80 + opp-hz = /bits/ 64 <500000000>; 81 + opp-microvolt = <950000>; 82 + clock-latency-ns = <200000>; 83 + }; 84 + opp04 { 85 + opp-hz = /bits/ 64 <600000000>; 86 + opp-microvolt = <975000>; 87 + clock-latency-ns = <200000>; 88 + }; 89 + opp05 { 90 + opp-hz = /bits/ 64 <700000000>; 91 + opp-microvolt = <987500>; 92 + clock-latency-ns = <200000>; 93 + }; 94 + opp06 { 95 + opp-hz = /bits/ 64 <800000000>; 96 + opp-microvolt = <1000000>; 97 + clock-latency-ns = <200000>; 98 + }; 99 + opp07 { 100 + opp-hz = /bits/ 64 <900000000>; 101 + opp-microvolt = <1037500>; 102 + clock-latency-ns = <200000>; 103 + }; 104 + opp08 { 105 + opp-hz = /bits/ 64 <1000000000>; 106 + opp-microvolt = <1087500>; 107 + clock-latency-ns = <200000>; 108 + }; 109 + opp09 { 110 + opp-hz = /bits/ 64 <1100000000>; 111 + opp-microvolt = <1137500>; 112 + clock-latency-ns = <200000>; 113 + }; 114 + opp10 { 115 + opp-hz = /bits/ 64 <1200000000>; 116 + opp-microvolt = <1187500>; 117 + clock-latency-ns = <200000>; 118 + }; 119 + opp11 { 120 + opp-hz = /bits/ 64 <1300000000>; 121 + opp-microvolt = <1250000>; 122 + clock-latency-ns = <200000>; 123 + }; 124 + opp12 { 125 + opp-hz = /bits/ 64 <1400000000>; 126 + opp-microvolt = <1287500>; 127 + clock-latency-ns = <200000>; 128 + }; 129 + opp13 { 130 + opp-hz = /bits/ 64 <1500000000>; 131 + opp-microvolt = <1350000>; 132 + clock-latency-ns = <200000>; 133 + turbo-mode; 57 134 }; 58 135 }; 59 136