[PATCH 0/8] arm64: dts: allwinner: h616: Orange Pi Zero2 fixes, GPU DVFS and GPU cooling

From: Arun Iyengar via B4 Relay

Date: Tue Nov 10 2026 - 00:37:38 EST


This series collects the device tree changes we carry for the Orange
Pi Zero2 (H616):

- Patch 1 makes the H616 codec node cover the DAC RAMP register that
the driver uses (it currently works only because ioremap() rounds up).
- Patch 2 fixes intermittent dead-RX boots of the Zero2's Ethernet by
letting the RTL8211F add the RX delay ("rgmii-rxid"), as the Zero3
already does.
- Patches 3 and 4 add an H616 GPU OPP table and make the Mali-G31 a
cooling device of the GPU thermal zone, with a passive trip point.
- Patches 5 and 6 enable GPU DVFS on the Zero2. Patch 5 first raises the
floor of the GPU supply to 900 mV, because on this board the rail is
shared with VDD-SYS and the video engine corrupts decoded frames at
810 mV.
- Patch 7 describes the SPI NOR supply, patch 8 adds i2c aliases so the
header buses keep the controller's number.

Testing, on an Orange Pi Zero2 with a v7.3-based kernel carrying the
same DT content:
- RGMII: 10 of 10 cold boots with a working receive path (the problem
showed up as intermittent dead-RX boots before); iperf3 853/873 Mbit/s
and 86 minutes of traffic without loss.
- VDD-SYS: with the VE at 600 MHz, only 6 of 13 4K H.265 decodes were
bit-exact with the rail at 810 mV; 3 of 3 at 890 mV and 3 of 3 at
950 mV. With the 900 mV floor, a 70-minute decode soak (H.265 and VP9)
had 42 of 42 runs correct.
- GPU DVFS: panfrost devfreq scales 306-600 MHz and the vdd-gpu-sys
voltage follows the OPPs within [900, 990] mV.
- GPU cooling: the gpu-thermal zone binds the panfrost devfreq cooling
device. The 85 C trip itself was not reached on this board (it peaked
at about 70 C).
- SPI NOR: the "supply vcc not found, using dummy regulator" message is
gone; the flash reads back correctly.
- i2c aliases: TWI3 enabled by an overlay shows up as i2c-3.
- Codec: analog line-out playback works.

The series is based on sunxi/dt-for-7.5. "make CHECK_DTBS=y W=1" gives
no new warnings for the H616/H618 boards. The Zero3 shares the GPU
supply design, but I have no Zero3 to test, so it is left out.

These patches were developed with Claude (Anthropic) as a
coding assistant: it investigated the problem, wrote the code and
the commit messages. I reviewed them, and they were tested on an
Orange Pi Zero2 (H616) as described above.

---
Arun Iyengar (8):
arm64: dts: allwinner: h616: Cover the codec RAMP register
arm64: dts: allwinner: orangepi-zero2: Let the PHY add the RX delay
arm64: dts: allwinner: h616: Add GPU OPP table
arm64: dts: allwinner: h616: Throttle the GPU from the GPU thermal zone
arm64: dts: allwinner: orangepi-zero2: Keep VDD-SYS at or above 900 mV
arm64: dts: allwinner: orangepi-zero2: Enable GPU DVFS
arm64: dts: allwinner: orangepi-zero2: Describe the SPI NOR supply
arm64: dts: allwinner: orangepi-zero2: Add i2c aliases

.../boot/dts/allwinner/sun50i-h616-gpu-opp.dtsi | 62 ++++++++++++++++++++++
.../dts/allwinner/sun50i-h616-orangepi-zero2.dts | 22 ++++++--
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 17 +++++-
3 files changed, 96 insertions(+), 5 deletions(-)
---
base-commit: a7f6e476aaedba0d8ec575acaeb3257f900a592f
change-id: 20261110-h616-zero2-dt-acb4ccecaa0f

Best regards,
--
Arun Iyengar <aiyengar1990@xxxxxxxxx>