android13/kernel-5.10/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi

358 lines
10 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd
*/
#include "rk3399-sched-energy.dtsi"
/ {
cluster0_opp: opp-table0 {
compatible = "operating-points-v2";
opp-shared;
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <10000>;
rockchip,low-temp-min-volt = <900000>;
nvmem-cells = <&cpul_leakage>, <&specification_serial_number>,
<&customer_demand>;
nvmem-cell-names = "cpu_leakage",
"specification_serial_number",
"customer_demand";
clocks = <&cru PLL_APLLL>;
rockchip,avs-scale = <20>;
rockchip,bin-scaling-sel = <
0 30
1 34
>;
rockchip,pvtm-voltage-sel = <
0 143500 0
143501 148500 1
148501 152000 2
152001 999999 3
>;
rockchip,pvtm-freq = <408000>;
rockchip,pvtm-volt = <1000000>;
rockchip,pvtm-ch = <0 0>;
rockchip,pvtm-sample-time = <1000>;
rockchip,pvtm-number = <10>;
rockchip,pvtm-error = <1000>;
rockchip,pvtm-ref-temp = <41>;
rockchip,pvtm-temp-prop = <115 66>;
rockchip,pvtm-thermal-zone = "soc-thermal";
opp-408000000 {
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <825000 825000 1250000>;
opp-microvolt-L0 = <825000 825000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <825000 825000 1250000>;
opp-microvolt-L0 = <825000 825000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <850000 850000 1250000>;
opp-microvolt-L0 = <850000 850000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <925000 925000 1250000>;
opp-microvolt-L0 = <925000 925000 1250000>;
opp-microvolt-L1 = <900000 900000 1250000>;
opp-microvolt-L2 = <875000 875000 1250000>;
opp-microvolt-L3 = <850000 850000 1250000>;
clock-latency-ns = <40000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <1000000 1000000 1250000>;
opp-microvolt-L0 = <1000000 1000000 1250000>;
opp-microvolt-L1 = <975000 975000 1250000>;
opp-microvolt-L2 = <950000 950000 1250000>;
opp-microvolt-L3 = <925000 925000 1250000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <1125000 1125000 1250000>;
opp-microvolt-L0 = <1125000 1125000 1250000>;
opp-microvolt-L1 = <1100000 1100000 1250000>;
opp-microvolt-L2 = <1075000 1075000 1200000>;
opp-microvolt-L3 = <1050000 1050000 1250000>;
clock-latency-ns = <40000>;
};
};
cluster1_opp: opp-table1 {
compatible = "operating-points-v2";
opp-shared;
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <10000>;
rockchip,low-temp-min-volt = <900000>;
nvmem-cells = <&cpub_leakage>, <&specification_serial_number>,
<&customer_demand>;
nvmem-cell-names = "cpu_leakage",
"specification_serial_number",
"customer_demand";
clocks = <&cru PLL_APLLB>;
rockchip,avs-scale = <8>;
rockchip,bin-scaling-sel = <
0 8
1 17
>;
rockchip,pvtm-voltage-sel = <
0 149000 0
149001 155000 1
155001 159000 2
159001 161000 3
161001 999999 4
>;
rockchip,pvtm-freq = <408000>;
rockchip,pvtm-volt = <1000000>;
rockchip,pvtm-ch = <1 0>;
rockchip,pvtm-sample-time = <1000>;
rockchip,pvtm-number = <10>;
rockchip,pvtm-error = <1000>;
rockchip,pvtm-ref-temp = <41>;
rockchip,pvtm-temp-prop = <71 35>;
rockchip,pvtm-thermal-zone = "soc-thermal";
opp-408000000 {
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <825000 825000 1250000>;
opp-microvolt-L0 = <825000 825000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
opp-microvolt-L4 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <825000 825000 1250000>;
opp-microvolt-L0 = <825000 825000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
opp-microvolt-L4 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <825000 825000 1250000>;
opp-microvolt-L0 = <825000 825000 1250000>;
opp-microvolt-L1 = <825000 825000 1250000>;
opp-microvolt-L2 = <825000 825000 1250000>;
opp-microvolt-L3 = <825000 825000 1250000>;
opp-microvolt-L4 = <825000 825000 1250000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <875000 875000 1250000>;
opp-microvolt-L0 = <875000 875000 1250000>;
opp-microvolt-L1 = <850000 850000 1250000>;
opp-microvolt-L2 = <850000 850000 1250000>;
opp-microvolt-L3 = <850000 850000 1250000>;
opp-microvolt-L4 = <850000 850000 1250000>;
clock-latency-ns = <40000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <950000 950000 1250000>;
opp-microvolt-L0 = <950000 950000 1250000>;
opp-microvolt-L1 = <925000 925000 1250000>;
opp-microvolt-L2 = <900000 900000 1250000>;
opp-microvolt-L3 = <875000 875000 1250000>;
opp-microvolt-L4 = <875000 875000 1250000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <1025000 1025000 1250000>;
opp-microvolt-L0 = <1025000 1025000 1250000>;
opp-microvolt-L1 = <1000000 1000000 1250000>;
opp-microvolt-L2 = <1000000 1000000 1250000>;
opp-microvolt-L3 = <975000 975000 1250000>;
opp-microvolt-L4 = <975000 975000 1250000>;
clock-latency-ns = <40000>;
};
opp-1608000000 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <1100000 1100000 1250000>;
opp-microvolt-L0 = <1100000 1100000 1250000>;
opp-microvolt-L1 = <1075000 1075000 1250000>;
opp-microvolt-L2 = <1050000 1050000 1250000>;
opp-microvolt-L3 = <1025000 1025000 1250000>;
opp-microvolt-L4 = <1025000 1025000 1250000>;
clock-latency-ns = <40000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <1200000 1200000 1250000>;
opp-microvolt-L0 = <1200000 1200000 1250000>;
opp-microvolt-L1 = <1175000 1175000 1250000>;
opp-microvolt-L2 = <1150000 1150000 1250000>;
opp-microvolt-L3 = <1125000 1125000 1250000>;
opp-microvolt-L4 = <1100000 1100000 1250000>;
clock-latency-ns = <40000>;
};
};
gpu_opp_table: opp-table2 {
compatible = "operating-points-v2";
rockchip,thermal-zone = "soc-thermal";
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <10000>;
rockchip,low-temp-min-volt = <900000>;
nvmem-cells = <&gpu_leakage>;
nvmem-cell-names = "gpu_leakage";
rockchip,pvtm-voltage-sel = <
0 121000 0
121001 125500 1
125501 128500 2
128501 999999 3
>;
rockchip,pvtm-freq = <200000>;
rockchip,pvtm-volt = <900000>;
rockchip,pvtm-ch = <3 0>;
rockchip,pvtm-sample-time = <1000>;
rockchip,pvtm-number = <10>;
rockchip,pvtm-error = <1000>;
rockchip,pvtm-ref-temp = <41>;
rockchip,pvtm-temp-prop = <46 12>;
rockchip,pvtm-thermal-zone = "gpu-thermal";
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <825000>;
opp-microvolt-L0 = <825000>;
opp-microvolt-L1 = <825000>;
opp-microvolt-L2 = <825000>;
opp-microvolt-L3 = <825000>;
};
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <825000>;
opp-microvolt-L0 = <825000>;
opp-microvolt-L1 = <825000>;
opp-microvolt-L2 = <825000>;
opp-microvolt-L3 = <825000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <825000>;
opp-microvolt-L0 = <825000>;
opp-microvolt-L1 = <825000>;
opp-microvolt-L2 = <825000>;
opp-microvolt-L3 = <825000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <925000>;
opp-microvolt-L0 = <925000>;
opp-microvolt-L1 = <925000>;
opp-microvolt-L2 = <900000>;
opp-microvolt-L3 = <900000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <1100000>;
opp-microvolt-L0 = <1100000>;
opp-microvolt-L1 = <1075000>;
opp-microvolt-L2 = <1050000>;
opp-microvolt-L3 = <1025000>;
};
};
dmc_opp_table: opp-table3 {
compatible = "operating-points-v2";
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <900000>;
};
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <900000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <900000>;
};
opp-528000000 {
opp-hz = /bits/ 64 <528000000>;
opp-microvolt = <900000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <900000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <900000>;
};
};
};
&cpu_l0 {
operating-points-v2 = <&cluster0_opp>;
sched-energy-costs = <&RK3399_CPU_COST_0 &RK3399_CLUSTER_COST_0>;
};
&cpu_l1 {
operating-points-v2 = <&cluster0_opp>;
sched-energy-costs = <&RK3399_CPU_COST_0 &RK3399_CLUSTER_COST_0>;
};
&cpu_l2 {
operating-points-v2 = <&cluster0_opp>;
sched-energy-costs = <&RK3399_CPU_COST_0 &RK3399_CLUSTER_COST_0>;
};
&cpu_l3 {
operating-points-v2 = <&cluster0_opp>;
sched-energy-costs = <&RK3399_CPU_COST_0 &RK3399_CLUSTER_COST_0>;
};
&cpu_b0 {
operating-points-v2 = <&cluster1_opp>;
sched-energy-costs = <&RK3399_CPU_COST_1 &RK3399_CLUSTER_COST_1>;
};
&cpu_b1 {
operating-points-v2 = <&cluster1_opp>;
sched-energy-costs = <&RK3399_CPU_COST_1 &RK3399_CLUSTER_COST_1>;
};
&dmc {
operating-points-v2 = <&dmc_opp_table>;
};
&gpu {
operating-points-v2 = <&gpu_opp_table>;
};