Difference between revisions of "Overclocking"

From PINE64
Jump to navigation Jump to search
Line 44: Line 44:


The <code>assigned-clock-rates</code> line is set to <code>432000000</code>, this means that the GPU is clocked at 432MHz. So if you want 500MHz, set the value to <code>500000000</code>.
The <code>assigned-clock-rates</code> line is set to <code>432000000</code>, this means that the GPU is clocked at 432MHz. So if you want 500MHz, set the value to <code>500000000</code>.
Save the dtsi file, and recompile the DTB.


{{note|Danct12 has found on his Pinetab that 562 MHz is the limit for stable operation.}}
{{note|Danct12 has found on his Pinetab that 562 MHz is the limit for stable operation.}}
Save the dtsi file, and recompile the DTB.
{{note|Remember to run a benchmark tool (such as glmark2-es2) to make sure that it's stable! If it's not, then lower the clock speed until you can get a stable clock speed.}}
{{note|Remember to run a benchmark tool (such as glmark2-es2) to make sure that it's stable! If it's not, then lower the clock speed until you can get a stable clock speed.}}



Revision as of 19:17, 27 May 2020

This might damage your equipment or may result in a unstable system, so do this at your own risk!
This page is incomplete, you're welcome to improve it.
All information regarding clock speeds, voltages and more are stored in the DTB (Device Tree Blob). You can learn more about it here.

Overclocking is a way to get more and better performance out of the system by running it at higher clock speeds than the factory default.

Preparation

TODO, requires a compatible cross compiler (usually aarch64-linux-gnu), and clone the pine64 kernel repository.

Then after that just setup the variables for make.

A64-based boards

GPU

Open arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi in a text editor.

Look for

		mali: gpu@1c40000 {
			compatible = "allwinner,sun50i-a64-mali", "arm,mali-400";
			reg = <0x01c40000 0x10000>;
			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "gp",
					  "gpmmu",
					  "pp0",
					  "ppmmu0",
					  "pp1",
					  "ppmmu1",
					  "pmu";
			clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
			clock-names = "bus", "core";
			resets = <&ccu RST_BUS_GPU>;

			assigned-clocks = <&ccu CLK_GPU>;
			assigned-clock-rates = <432000000>;
		};

The assigned-clock-rates line is set to 432000000, this means that the GPU is clocked at 432MHz. So if you want 500MHz, set the value to 500000000.

Save the dtsi file, and recompile the DTB.

Danct12 has found on his Pinetab that 562 MHz is the limit for stable operation.
Remember to run a benchmark tool (such as glmark2-es2) to make sure that it's stable! If it's not, then lower the clock speed until you can get a stable clock speed.

CPU

TODO

DRAM

It is not recommended to exceed 672 MHz clockspeed on the DRAM.

When overclocking the GPU, it is a good idea to also overclock the DRAM, as the main bottleneck of the A64 SOC is the memory.

Rockchip

TODO