[PATCH 0/2] arm64: dts: allwinner: fix Orange Pi Zero 3 PMIC interrupt routing

From: Michal Piekos

Date: Sun Mar 08 2026 - 00:18:11 EST


This fixes a kernel hang during boot on the Orange Pi Zero 3 caused by
incorrect interrupt routing for the AXP313A PMIC.

The PMIC interrupt on is connected to PL bank GPIO handled by the R_PIO
controller. However current dts routes the interrupts to PIO controller.
This causes the kernel to select wrong pinctrl instance when configuring
the interrupt which leads to invalid register access and a kernel hang
during boot.

The problem existed previously but became visible after the commit
01e10d0272b9 (pinctrl: sunxi: Implement gpiochip::get_direction()),
which causes gpiolib to call the gpiochip::get_direction() callback
during interrupt setup.

Patch 1 declares R_PIO node as interrupt controller so it can be used as
interrupt parrent.

Patch 2 fixes the board device tree by routing the interrupt to R_PIO

---
Michal Piekos (2):
arm64: dts: allwinner: h616: declare r_pio as interrupt controller
arm64: dts: allwinner: orangepi-zero3: fix axp313 interrupt parrent

arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 2 ++
arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
---
base-commit: 4ae12d8bd9a830799db335ee661d6cbc6597f838
change-id: 20260308-rc2-boot-hang-269e8546635b

Best regards,
--
Michal Piekos <michal.piekos@xxxxxxxxxxxxx>