I’m working on overclocking my Orange Pi Zero 3 (Allwinner H618) running DietPi (kernel 6.6.44-current-sunxi64) by editing the Device Tree (.dtb) to include higher CPU frequencies beyond the default maximum of 1.512GHz.
Here’s what I’ve done so far:
Decompiled sun50i-h618-orangepi-zero3.dtb from /boot/dtb-*/allwinner/
Added new OPP entries up to 2.0GHz (e.g. 1600000000, 1700000000…) with matching format and safe voltage values
Recompiled and placed the updated .dtb back in the correct /boot/dtb-*/allwinner/ directory
Verified that the system uses the correct DTB (strings /proc/device-tree/compatible shows sun50i-h618)
Despite all of this:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies still shows only up to 1512000
The new OPPs are not being registered by the kernel
I’ve tried opp-supported-hw, voltage variations, and matching opp-microvolt-speedX formatting with no success
I suspect the kernel may be hard-limiting the max frequency via cpufreq-dt or some regulator constraint.
Questions:
Has anyone successfully enabled custom OPPs on this board?
Is there a kernel patch or build config that allows additional OPPs for the H618?
Are there any logs or dmesg indicators I should focus on?
Any insights or working examples would be really appreciated
Thanks in advance!
I don’t remember exactly, I think so. I was also tinkering on the @CPU section, but I think that was wrong, if I remember well.
This is a comparison between an ancient version and the one I edited, it seems so. dts-diff2.txt (4.8 KB)
PS: Indeed it was unstable and freezing. I got it from someone (AngryMiner) from the Orange Pi-zero discord, but he was indeed mentioning about the possible improvements on the voltages. If there is more info, I can run tests.
my problem is when i do it more than 1512 the pi didnt start
opp-1600000000 {
clock-latency-ns = <0x3b9b0>;
opp-hz = <0x00 0x5f5e1000>;
opp-microvolt-speed0 = <0x10c8e0 0x10c8e0 0x10c8e0>;
opp-microvolt-speed1 = <0x10c8e0 0x10c8e0 0x10c8e0>;
opp-microvolt-speed2 = <0x10c8e0 0x10c8e0 0x10c8e0>;
opp-supported-hw = <0x3f>;
};
but this ddidnt work what i am doing wrong ?
Where are the opp-microvolt speeds coming from? Those should be essential for stability as well. The chip uses “speed2” by default, and the Orange Pi Zero 2W device tree does not override it: Making sure you're not a bot!
Not sure whether 1.2V for 1.6 GHz and 1.7V for 1.7 GHz makes sense, usually I would assign higher voltage for higher clock rate, of course, but there can be reasonable exceptions in rare cases.