Files
bfe-core1106-sdk/kernel/rv1106-enablement/DRIVER-PARITY.md
T
BFE EngineeringandClaude Opus 4.8 daed33056f kernel: sweep — usb2phy port (USB host up) + saradc data port
usb2phy: ported the RV1106 inno-usb2 phy config to 6.18 (rv1106_usb2phy_cfg;
fields map 1:1 except utmi_iddig->utmi_id and chg_mode->opmode; 5.10-only
iddig_output/en/bvalid_grf_sel dropped; phy_tuning left off, guarded so safe).
With PHY_ROCKCHIP_INNO_USB2=y + the u2phy/usbdrd/dwc3 DT enabled, verified on
warden-c8a3: the DWC3 comes up as xhci-hcd @ 0xffb00000 — USB host works. eth0
gadget just needs dr_mode=peripheral.

saradc: added rv1106_saradc_data (2-ch v2, matches the vendor) + the native
compatible. Driver now matches; probe still returns -22 (a clk-rate/setup detail,
not the data) — TODO.

Also captured: the growing board dts (USB nodes), the port fragments under usb/
and adc/. DRIVER-PARITY.md updated: ~14 drivers now at parity on 6.18.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017wB8KB3MMQztRDXCMCkPrf
2026-08-24 22:23:37 -06:00

2.8 KiB
Raw Blame History

RV1106 6.18 driver parity vs the 5.10 vendor kernel

Goal: every driver the panel's 5.10 kernel runs must work at ≥ parity on our self-built 6.18. Source of truth = the running 5.10 system on warden-c8a3 (lsmod + /proc/interrupts, captured 2026-08-24). Verify each on hardware via the A/B _b-slot loop (../docs/m2-boot-on-c8a3.md); means confirmed on c8a3, not just compiled.

Driver / node 5.10 evidence mainline? 6.18 status
CRU clock (clk-rv1106) ported M2
pinctrl-rockchip (rv1106) ported M2
GIC-400 / arch_timer arch_timer mainline M2
dw_mmc (eMMC) dw-mci mainline M3
8250 uart2 (console) ttyS2 mainline M2
GPIO (rockchip, ×5 banks) gpio-rockchip mainline batch1 (chips 04)
DMA (pl330, ff420000) ff420000.dma-controller mainline batch1
uart1 / uart4 ttyS1, ttyS4 mainline batch1
I2C (dw-apb, ff460000=i2c3) ff460000.i2c mainline batch1 (i2c-3)
watchdog (dw-wdt, ff5a0000) ff5a0000.watchdog mainline batch1 (watchdog0)
thermal governor rockchip_thermal mainline 🔨 gov up; tsadc node TODO
SARADC (ff3c0000) ff3c0000.saradc ported (2-ch v2 data) 🔨 driver added; probe -22 (clk-rate)
GPIO_SYSFS (legacy /sys/class/gpio) mainline (config) goodix script needs it
PWM (rockchip) mainline (=m) batch2 =y (backlight)
RTC (rv1106-rtc) no mainline driver port (low prio)
USB2 phy (inno, rv1106) rockchip_usb2phy_* ported (data, no tuning) probes → USB up
USB host (DWC3→xhci, ffb00000) xhci-hcd:usb1 mainline xhci host registered
USB OTG gadget (DWC3, eth0) eth0 mainline dwc3 🔨 host works; eth0 needs dr_mode=peripheral
crypto (aes/ccm/ctr/arc4) modules mainline batch2 (config =y)
PSCI node (removed) deleted (no secure monitor → SMC fault)
VOP display (ff990000) ff990000.vop ported (rv1126 sibling) 🔨 binds+DRM+card0; connector WIP
PWM backlight (pwm1) mainline (rk3328 fallback) backlight up (brightness)
RGB666 720×720 panel panel-dpi 🔨 probes; bus_format + connector WIP
GT911 touch (goodix) goodix, gt911 mainline M4 (needs GPIO_SYSFS + node)
GPIO_SYSFS / crypto / CFG80211 mainline (config) =y (batch2)
AIC8800 wifi (bsp/fdrv) aic8800_* out-of-tree M5
AIC8800 BT (btlpm) aic8800_btlpm out-of-tree M5
NPU (rknpu, ff660000) rknpu, ff660000.npu out-of-tree M6
RGA 2D (rga2) rga2 rockchip M6
I2S audio i2s rockchip M6
FIQ debugger (ttyFIQ0) fiq_glue rockchip optional (we use ttyS2)

Legend: verified on hardware · 🔨 built, not yet verified · not started.