Rockchip "Rocket" NPU kernel driver & mesa teflon delegate by @tomeu on v6.18 - I made a docker image with the userspace needed for quick testing at https://github.com/rpardini/mesa-teflon-etnaviv-rocket-docker
Hey @hrw could I bother you to carry those upstream in your next batch, please? https://github.com/rpardini/linux/commit/168dae7fa459bd5f49fb67c0fe7e7d504b969fd5.patch and https://github.com/rpardini/linux/commit/0cdfd8dd3644b76c94952b0971eaa665160bad30.patch - NPU enablement for T6(+lts) and CM3588-NAS.

@rpardini let me be honest, ok?

I have NanoPC-T6 LTS on my desk. I sorted out several things in its DeviceTree files.

But I do not feel like maintainer for this board. I do not even use it for anything.

I bought it to check edk2 on some physical hardware, I did it, played a bit and reflashed it with U-Boot to make it work better when it comes to mainline Linux.

So, please go ahead and submit them on your own. I do not even know how to test does it NPU works.

@hrw sure. I only asked as you've 4 out the last 5 commits on the .dtsi. I'll pester @tonymac32 instead... πŸ˜… btw, how to test: https://docs.mesa3d.org/teflon.html (official) or https://github.com/rpardini/mesa-teflon-etnaviv-rocket-docker (easy; docker or such)
TensorFlow Lite delegate β€” The Mesa 3D Graphics Library latest documentation

@rpardini @hrw

Wait. The NPU needs to be enabled in the DT for each individual board? Why not at the SoC level? Is this a thing about external dedicated power supplies being board-specific?

@skandalfo @rpardini

Yes, you are right - NPU looks like integral part of SoC which is always present on RK3588(s). So it feels like 'enable in rk3588-base and let all have it'.

Probably the problem is VDD_NPU_S0 which may be connected in a board specific way.

@hrw @skandalfo indeed. "most" boards have a second rk8602 regulator for the NPU (my guess it's rk reference design), but its i2c varies. Eg in FriendElec's rk3588 boards its i2c2, but Radxa used i2c1, etc. So it ends up being per-board, just like the HDMI-RX vs the detection pin. Also: some (vendor) u-boot's bring up that regulator early, so it might work by accident in certain cases.