I am using Orange Pi Zero2 / Zero2W / Zero3 boards with the Allwinner H618 SoC and I am encountering an issue with I2C3 (mv64xxx_i2c).
Board Details:
Board: Orange Pi Zero2 / Zero2W / Zero3
SoC: Allwinner H616
Kernel: 6.12.35-current-sunxi64 (Armbian)
Overlay: i2c3-ph (/boot/armbianEnv.txt: overlays=i2c3-ph)
Pinout: PH4 = SDA, PH5 = SCL
Problem:
After boot, /dev/i2c-2 is created, but the bus is locked
dmesg shows:
[ 0.846937] i2c_dev: i2c /dev entries driver
[ 1.479459] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI I2C bus driver
[ 1.484185] /soc/i2c@7081400/pmic@36: Fixed dependency cycle(s) with /soc/pinctrl@300b000
[ 1.501006] mv64xxx_i2c 5002c00.i2c: Error applying setting, reverse things back
[ 1.501095] axp20x-i2c 1-0036: AXP20x variant AXP313a found
[ 1.502779] axp20x-i2c 1-0036: AXP20X driver loaded
[ 53.381005] i2c i2c-2: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 55.429017] i2c i2c-2: mv64xxx: I2C bus locked, block: 1, time_left: 0
Attempting rmmod:
sudo rmmod mv64xxx_i2c
rmmod: ERROR: Module mv64xxx_i2c is not currently loaded
Bus /dev/i2c-2 remains locked
System Information:
Full system info collected via https://paste.armbian.com/vezeminihu
What I have tried:
Created a new overlay i2c3-ph for PH4/PH5
Configured /boot/armbianEnv.txt to load the overlay
Rebooted multiple times, but the bus remains locked
Verified pull-up resistors (PH4/PH5 connected to 3.3V)
Questions:
Has anyone encountered mv64xxx_i2c bus lock on H618?
How should DTS / pinctrl / PMIC be adjusted to get the bus working?
Is there a working example overlay for I2C3 on Orange Pi Zero3 / H618?