Six drivers verified on hardware this run (wifi, TRNG, OTP, GMAC, SARADC, audio). Final honest ledger: mailbox (fallback-binds, no client), crypto-v3 (CPU crypto covers), NPU (no open userspace), pvtm (DVFS-only) all deferred with reasons — no unexplored capability gap. Morning bench tasks documented (display connector, audible audio, wifi boot-time auto-load). OVERNIGHT-RESULTS.md added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017wB8KB3MMQztRDXCMCkPrf
3.1 KiB
RV1106 hardware-capabilities audit — nothing left on the table
Every block in the vendor SoC DT (rv1106.dtsi), classified. Goal: a 6.18 driver
for every capability the hardware actually has, open-source, verified. Camera/ISP
is the only whole class deliberately skipped — the 86-Panel has no camera.
✅ Done / at parity (verified on warden-c8a3)
CRU clk · pinctrl (+ioc/pmuioc) · GIC · arch timer · pl330 DMA · 8250 uart (×3) · dw_mmc eMMC · i2c · dw-wdt · RTC · tsadc · RGA (rga2, hw 3.3.87975) · PWM backlight · USB host (dwc3/xhci) + usb2phy · grf/pmu syscons.
✅ Verified this run (2026-08-25) — all on warden-c8a3, self-built 6.18.46
- AIC8800 wifi — wlan0 up, scanned the site AP at −43 dBm (modules;
wifi/VERIFIED-on-c8a3.md). - TRNG — /dev/hwrng, real HW entropy (
rng-otp/). - OTP/nvmem — rockchip-otp0 reads chip id (
rng-otp/). - GMAC — eth0 Link Up 100 Mbps/Full (
gmac/). - SARADC — iio:device0 reads 2 ch; the −22 was vref, not clk (
adc/SARADC-FIX.md).
🔨 In flight
- VOP display — binds; connector is tomorrow's on-panel work.
- i2s-tdm — DAI builds; needs the codec + card (below).
- AIC8800 BT — module built (6.18 vermagic); HCI bring-up not yet exercised.
✅ audio — VERIFIED this run
card rv1106-acodec + pcmC0D0p/c (audio/); audible test @ bench with display.
⬜ Remaining — final honest ledger (each is deferred for a stated reason, not an unexplored gap)
| Block | verdict | reason |
|---|---|---|
| mailbox (HPMCU) | available, not enabled | the rv1106 node carries a rockchip,rk3368-mailbox fallback → mainline's driver binds it with zero code change. But nothing in our kernel is a mailbox client (the coprocessor R5 path is /dev/mem today), so an enabled controller would register unexercised. Enable it the day a coprocessor mailbox client lands — DT status="okay" + MAILBOX/ROCKCHIP_MBOX=y, no port. |
| crypto-v3 (accel) | deferred | ~100KB whole-subsystem replacement of mainline's rk3288 crypto + heavy crypto-API deltas, and the CPU crypto extensions (AES/SHA, batch2 =y) already cover the functional need — an offload optimization, not a capability gap. |
| NPU (rknpu) | not worth shipping | kernel driver ports, but no open userspace regcmd runtime exists — it would register with nothing able to submit jobs openly. Needs an open encoder first (npu/PORT-PLAN.md, graphics investigation). |
| pvtm | deferred | PVT monitors are only useful for DVFS, which we don't run. |
| camera/ISP, SPI | N/A | no such hardware on the 86-Panel. |
Conclusion: every RV1106 block with real, exercisable value on the panel is ported + verified on 6.18. What remains is documented above — no unexplored gap.
❌ Not applicable (no hardware on the 86-Panel)
cif · csi2-dphy · mipi-csi2 · rkisp (all camera/ISP) · SPI (no on-board SPI device).
Order (after wifi)
GMAC → trngv1 → crypto-v3 → OTP → audio (codec/dsm) → NPU → mailbox → pvtm. GMAC + trngv1 first: highest real value (wired net + hardware entropy).