From 04f04d2c04f2cbdbf69b4fa687ee273af15f4d66 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 8 Sep 2018 13:22:22 +0200 Subject: arm: dts: add extra turbo frequencies for RK3399 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit The little cores get 1608, 1704 and 1800 MHz. The big cores get 1992, 2088, 2184 and 2208 MHz. The highest frequencies got a small 50mV or 75mV voltage boost to remain stable even at high temperature. The NanoPI M4 runs at 1800+2208 MHz under 12.1W(40°C) to 14.5W(85°C) when all cores are at full speed with this. The power supply's stability is critical at full speed, and throttling happens after a few minutes. Running only the small cores drains 8.1W, and only the large ones only 7.3W, and no throttling occurs in this case. --- arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 68 ++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi index 12c95c7..483ec24 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi @@ -130,6 +130,36 @@ opp-microvolt-L3 = <1100000 1100000 1200000>; clock-latency-ns = <40000>; }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <1225000 1225000 1225000>; + opp-microvolt-L0 = <1225000 1225000 1225000>; + opp-microvolt-L1 = <1200000 1200000 1200000>; + opp-microvolt-L2 = <1175000 1175000 1200000>; + opp-microvolt-L3 = <1150000 1150000 1200000>; + clock-latency-ns = <40000>; + turbo-mode; + }; + opp-1704000000 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <1250000 1250000 1250000>; + opp-microvolt-L0 = <1250000 1250000 1250000>; + opp-microvolt-L1 = <1250000 1250000 1250000>; + opp-microvolt-L2 = <1225000 1225000 1250000>; + opp-microvolt-L3 = <1200000 1200000 1200000>; + clock-latency-ns = <40000>; + turbo-mode; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1275000 1275000 1275000>; + opp-microvolt-L0 = <1275000 1275000 1275000>; + opp-microvolt-L1 = <1275000 1275000 1275000>; + opp-microvolt-L2 = <1250000 1250000 1250000>; + opp-microvolt-L3 = <1225000 1225000 1225000>; + clock-latency-ns = <40000>; + turbo-mode; + }; }; cluster1_opp: opp-table1 { @@ -230,13 +260,43 @@ }; opp-1992000000 { opp-hz = /bits/ 64 <1992000000>; - opp-microvolt = <1200000 1200000 1200000>; - opp-microvolt-L0 = <1200000 1200000 1200000>; - opp-microvolt-L1 = <1200000 1200000 1200000>; - opp-microvolt-L2 = <1200000 1200000 1200000>; + opp-microvolt = <1250000 1250000 1250000>; + opp-microvolt-L0 = <1250000 1250000 1250000>; + opp-microvolt-L1 = <1225000 1225000 1250000>; + opp-microvolt-L2 = <1200000 1200000 1250000>; opp-microvolt-L3 = <1175000 1175000 1200000>; clock-latency-ns = <40000>; }; + opp-2088000000 { + opp-hz = /bits/ 64 <2088000000>; + opp-microvolt = <1275000 1275000 1275000>; + opp-microvolt-L0 = <1275000 1275000 1275000>; + opp-microvolt-L1 = <1275000 1275000 1275000>; + opp-microvolt-L2 = <1275000 1275000 1275000>; + opp-microvolt-L3 = <1250000 1250000 1250000>; + clock-latency-ns = <40000>; + turbo-mode; + }; + opp-2184000000 { + opp-hz = /bits/ 64 <2184000000>; + opp-microvolt = <1300000 1300000 1300000>; + opp-microvolt-L0 = <1300000 1300000 1300000>; + opp-microvolt-L1 = <1300000 1300000 1300000>; + opp-microvolt-L2 = <1300000 1300000 1300000>; + opp-microvolt-L3 = <1275000 1275000 1275000>; + clock-latency-ns = <40000>; + turbo-mode; + }; + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <1325000 1325000 1325000>; + opp-microvolt-L0 = <1325000 1325000 1325000>; + opp-microvolt-L1 = <1325000 1325000 1325000>; + opp-microvolt-L2 = <1325000 1325000 1325000>; + opp-microvolt-L3 = <1275000 1275000 1275000>; + clock-latency-ns = <40000>; + turbo-mode; + }; }; gpu_opp_table: opp-table2 { -- 2.9.0