11-08-2020, 07:40 AM
(This post was last modified: 11-08-2020, 12:30 PM by xehartnort.
Edit Reason: typos
)
Dear pinebook pro users,
I have spent a certain amount of time reading about the pinebook pro cpu voltages (rk3399) in pine64 wiki overclocking and I have come up with two ideas:
1 - Improve battery by adding a slight undervolt:
The default cpu clocks and voltages for rk3399 big cores are the following (Extracted from https://github.com/torvalds/linux/blob/m...9-opp.dtsi):
Cpu clock - Cpu voltage
408Mhz - 800mV
600Mhz - 800mV
816Mhz - 825mV
1008MHz - 875mV
1200MHz - 950mV
1416MHz - 1025mV
1608Mhz - 1100mV
1800Mhz - 1200mV
As suggested by the wiki, more optimised voltages can be found in: https://github.com/torvalds/linux/blob/m...1-opp.dtsi which are the voltages used in some chromebooks with the rk3399:
Cpu clock - Cpu voltage
408Mhz - 800mV
600Mhz - 800mV
816Mhz - 825mV
1008MHz - 850mV
1200MHz - 900mV
1416MHz - 975mV
1608Mhz - 1050mV
1800Mhz - 1115mV
2016Mhz - 1250mV [last freq can be skipped as it requires a slight overclock]
1.1 - How to apply such improved voltages?
The default ones can be overrided in arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts . This has been already done by tsys in its kernel to overclock to 2000Mhz - 1300mV ( https://gitlab.manjaro.org/tsys/linux-pi...ok-pro.dts ):
So in our case we want to change it to the following:
then recompile the kernel, and the new values should be in place
2 - Improve CPU performance with a small overclock:
The main concern with overclocking the CPU in this laptop is that when attached to the charger, the battery will discharge when it is under a big load. My guess is that with the overclock proposed in rk3399-op1-opp.dtsi , the discharging problem can be solved as we are not exceeding the "The highest safe voltage [...] for the big cores is 1.25V" (extracted from the overclocking wiki mentioned at the beginning of the post):
2016Mhz - 1250mV
2.1 - How to apply such overclock?
Following the same guide as for the improved voltages (Section 1.1), we need to add:
As I don't own a pinebook pro, I can't test any of the proposed changes. Would anyone try them and report if they are stable?
I have spent a certain amount of time reading about the pinebook pro cpu voltages (rk3399) in pine64 wiki overclocking and I have come up with two ideas:
1 - Improve battery by adding a slight undervolt:
The default cpu clocks and voltages for rk3399 big cores are the following (Extracted from https://github.com/torvalds/linux/blob/m...9-opp.dtsi):
Cpu clock - Cpu voltage
408Mhz - 800mV
600Mhz - 800mV
816Mhz - 825mV
1008MHz - 875mV
1200MHz - 950mV
1416MHz - 1025mV
1608Mhz - 1100mV
1800Mhz - 1200mV
As suggested by the wiki, more optimised voltages can be found in: https://github.com/torvalds/linux/blob/m...1-opp.dtsi which are the voltages used in some chromebooks with the rk3399:
Cpu clock - Cpu voltage
408Mhz - 800mV
600Mhz - 800mV
816Mhz - 825mV
1008MHz - 850mV
1200MHz - 900mV
1416MHz - 975mV
1608Mhz - 1050mV
1800Mhz - 1115mV
2016Mhz - 1250mV [last freq can be skipped as it requires a slight overclock]
1.1 - How to apply such improved voltages?
The default ones can be overrided in arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts . This has been already done by tsys in its kernel to overclock to 2000Mhz - 1300mV ( https://gitlab.manjaro.org/tsys/linux-pi...ok-pro.dts ):
Code:
&cluster1_opp {
opp08 {
opp-hz = /bits/ 64 <2000000000>;
opp-microvolt = <1300000>;
};
};
So in our case we want to change it to the following:
Code:
&cluster1_opp {
opp03 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <850000>;
};
opp04 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <900000>;
};
opp05 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <975000>;
};
opp06 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <1050000>;
};
opp07 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <1150000>;
};
};
2 - Improve CPU performance with a small overclock:
The main concern with overclocking the CPU in this laptop is that when attached to the charger, the battery will discharge when it is under a big load. My guess is that with the overclock proposed in rk3399-op1-opp.dtsi , the discharging problem can be solved as we are not exceeding the "The highest safe voltage [...] for the big cores is 1.25V" (extracted from the overclocking wiki mentioned at the beginning of the post):
2016Mhz - 1250mV
2.1 - How to apply such overclock?
Following the same guide as for the improved voltages (Section 1.1), we need to add:
Code:
opp08{
opp-hz = /bits/ 64 <2016000000>;
opp-microvolt = <1250000>;
};
As I don't own a pinebook pro, I can't test any of the proposed changes. Would anyone try them and report if they are stable?