Rosenblatt Phase-1 closeout: rocket-driver substrate inventory

Phase-1 audit closes with a substantively different picture than the
original scaffold's TBDs:

- Tomeu Vizoso's RK3588 NPU work merged in Linux 6.18 (Nov 2025) under
  codename `rocket` (NOT `rknpu`).  All references updated.
- Boltzmann's `linux-rk3588-marfrit-A1` (7.0.0-rc3-ARCH+) already ships
  `drivers/accel/rocket/rocket.ko` as a built-but-not-loaded module.
- DT bindings + per-core nodes (`npu@fdab/c/d_0000`,
  compatible `rockchip,rk3588-rknn-core`) in mainline since 6.18 but
  ship `status = "disabled"` — board enable is the Phase-2 unblock,
  not a driver port.
- Mesa 25.3 ships Rocket Gallium + Teflon TFLite delegate as the
  authoritative userspace reference for the uAPI shape.
- Op coverage today is conv-centric (MobileNet-class); transformer
  matmul needs the conv-1×1 shoehorn (RKNPU2 BSP precedent) or rocket
  op-set additions.  Surfaced as Phase-2-load-bearing risk.
- IOMMU v1.0 hazard: 32 GB host needs `mem=4G` or local
  `rockchip,rk3568-iommu-v1` discriminator patches before the first
  NPU job, to avoid DMA-window faults.

Files:
- docs/npu-mainline-status.md: full audit table with upstream pointers
  (kernel.org / Mesa docs / dri-devel patch URLs / Tomeu's "we are in
  mainline" blog post).
- docs/phases.md: per-phase log entry for Phase-1 closeout.
- docs/op-coverage.md: matmul-vs-conv-vs-rocket-op-set framing.
- fleet/boltzmann.yaml: audited kernel + npu_driver + dt_npu_nodes
  state.
- kernel/dt-overlays/rk3588-rosenblatt-npu-enable.dtso: overlay to
  flip the three rknn-core nodes to "okay" (+ matching mmu nodes),
  carries the IOMMU-mitigation warning inline.
- kernel/README.md: kernel-agent scope wiring + anticipated local
  carry patches.
- README.md: phase-status table + "rknpu → rocket" rename note.
- TODO.md: Phase-2 unblock concrete steps + standing
  upstream-watch items.
This commit is contained in:
2026-05-19 12:41:31 +00:00
parent 24adc74812
commit c9a3f5c600
8 changed files with 731 additions and 61 deletions
+25 -4
View File
@@ -21,11 +21,32 @@ hardware:
local_sram_per_core_mib: 2
power_domain: pd_npu
# Phase-1 audit fills these (pending boltzmann inspection)
# Phase-1 audit (captured 2026-05-19)
kernel:
running_version: TBD # uname -r snapshot at audit time
source: TBD # mainline torvalds / mmind-rockchip / custom
npu_driver: TBD # vendor rockchip-npu / mainline rknpu / none
running_version: 7.0.0-rc3-ARCH+ # `uname -r`; built Apr 29 2026, custom marfrit-A1
image: linux-rk3588-marfrit-A1 # from BOOT_IMAGE in /proc/cmdline
source: marfrit/neutron (mainline-rc3 base, RK3588 patches)
npu_driver:
name: rocket # drivers/accel/rocket, author Tomeu Vizoso
state: built-as-module-not-loaded
module_path: /lib/modules/7.0.0-rc3-ARCH+/kernel/drivers/accel/rocket/rocket.ko
config:
CONFIG_DRM_ACCEL: 'y'
CONFIG_DRM_ACCEL_ROCKET: m
binds_compatible: rockchip,rk3588-rknn-core
depends: [gpu-sched, drm_shmem_helper]
dt_npu_nodes:
- addr: 0xfdab0000
compatible: rockchip,rk3588-rknn-core
status: disabled
- addr: 0xfdac0000
compatible: rockchip,rk3588-rknn-core
status: disabled
- addr: 0xfdad0000
compatible: rockchip,rk3588-rknn-core
status: disabled
dev_accel: /dev/accel # not present — major 261 registered in /proc/devices but no device bound
dmesg_npu_lines: 0 # zero npu/accel/rknpu lines since boot
userspace:
rknn_vendor_runtime_installed: false # commitment: stay mainline-clean