Skip to content

docs: visual driver primer — the vendor-driver machinery as a picture book#283

Merged
josephnef merged 2 commits into
masterfrom
docs/driver-primer
Jul 12, 2026
Merged

docs: visual driver primer — the vendor-driver machinery as a picture book#283
josephnef merged 2 commits into
masterfrom
docs/driver-primer

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

Sibling of rf-primer.md for the silicon/software side: where the RF primer teaches the radio physics, this one teaches the vendor-driver vocabulary a newcomer needs before touching a Realtek tree or devourer's HALs.

What's inside

docs/driver-primer.md — thirteen animated sections, ordered from the silicon up:

  1. Chip anatomy — USB IF / MAC(+WCPU) / BB / RF / PA-LNA, the A-die/D-die split
  2. Registers — control vs bulk URBs, the address map, the Wi-Fi 6 +0x10000 BB window
  3. Chip identity — chip id, cut, RFE type: why one binary serves many boards
  4. efuse — header-chain physical map → logical map, what's burned where
  5. FWDL — the WCPU, blob → IMEM/DMEM → checksum → ready
  6. H2C / C2H — firmware mailboxes, plus fw IO-offload (batched write-lists)
  7. The MAC — DMAC/CMAC, DLE pages, RX-DMA aggregation, NIC HFC credits
  8. PHY tables — phy_reg / AGC / radio A/B, check_positive per-cut/per-RFE gating
  9. LSSI + RF windows — 3-wire serial vs the G6 DAV(a-die)/DDV(d-die) doors
  10. Channel tuning — RF18, band/BW, LCK
  11. Calibration — DACK, RX-DCK, IQK, thermal tracking
  12. BB DM — the watchdog loops; DIG as the AGC's starting-gain dial
  13. Coexistence — BT TDMA arbitration, LTE handshake

Capped by a three-generation vendor-tree map (rtl8812au monolith → halmac → G6 phl/mac_ax/halbb/halrf) with navigation habits, and a ~50-term glossary table (term → vendor path → devourer path → section).

Each section opens with a new animation in the established DEVOURER live-monitor style — 13 new self-contained Pillow generators under tools/*_gif.py (deterministic, seeded, same monitor_style.py chrome as the rf-primer set).

Cross-linked from the README (intro + Going deeper), the RF primer's Where to go next, and the 8822e quirks doc header.

Validation

  • All 13 generators render clean and deterministically (python3 tools/X_gif.py -o docs/img/X.gif); frames visually inspected for text collisions.
  • Every markdown link and image target in the touched docs resolves; every cited reference//src/ path exists on master.
  • Glossary coverage checked against the full term list that motivated the doc.

🤖 Generated with Claude Code

josephnef and others added 2 commits July 12, 2026 21:18
… book

Sibling of rf-primer.md for the silicon/software side: thirteen animated
sections walking a newcomer from chip anatomy and register access through
efuse, FWDL/WCPU, H2C/C2H (incl. fw IO-offload), DMAC/CMAC/DLE/NIC-HFC,
the BB/RF register tables and check_positive gating, LSSI + DAV/DDV RF
windows, RF18/LCK channel tuning, halrf calibration (DACK/RX-DCK/IQK),
the BB dynamic mechanisms (DIG), and coexistence — capped by a
three-generation vendor-tree map (rtl8812au -> halmac -> G6 phl) and a
term -> vendor-path -> devourer-path glossary. Thirteen new
monitor-style Pillow generators under tools/, one per section.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@josephnef josephnef force-pushed the docs/driver-primer branch from ee19a6d to 5a517bc Compare July 12, 2026 18:18
@josephnef josephnef merged commit 1b0b4b8 into master Jul 12, 2026
15 checks passed
@josephnef josephnef deleted the docs/driver-primer branch July 12, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant