Enable additional I2C + SPI on Rock5B+

Hello,

I am running linux kernel 6.1.84-7-rk2410 on Rock5B+ and need simultaneous access to 2 I2C busses and 2 SPI busses. I am successfully using SPI0, however SPI1 interferes with both I2C8 and I2C3.

In addition I2C0 is unusable in general, as enabling it causes a CPU error:

[ 6.778844] cpu cpu4: Failed to get reg
[ 6.778902] cpu cpu4: failed to set opp config
[ 6.778963] cpu cpu4: failed to init opp info
[ 6.778990] Failed to initialize dvfs info cpu4
[ 6.827187] systemd[1]: systemd-modules-load.service: Failed with result ‘exit-code’.
[ 6.827601] systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.

The hardware guide specifies other busses, such as SPI3, I2C7, and I2C4 as being available, however rsetup does not provide overlays from them by default.

I have found the relevant overlays in /var/lib/dkms/radxa-overlays/0.1.28/6.1.84-7-rk2410/aarch64/module/arch/arm64/boot/dts/rockchip/overlays/ however they do not work and decompiling says they are not compatible with rock 5B+. It looks like they conflict with the bluetooth controller & the es8316 codec.

Any advice here about possible solutions would be appreciated.