Epic: #113 · Milestone: MC3 — Pi 5 platform drivers
Why
drivers/cyw43455.home (594), bluetooth*.home (three overlapping files, 2,362 lines) have no transport beneath them and no firmware loader. The chip needs a vendor firmware blob + NVRAM upload over SDIO (Wi-Fi) and a second blob over the UART (BT). Ethernet (#69) is the v1 link; Bluetooth is the one piece here that v1 UI wants (BT remotes, #99), so BT-over-UART is split out as the first deliverable.
Tasks
- BT first: PL011 (RP1 uart) to the CYW43455 BT core, HCI reset, firmware download (
.hcdblob shipped in the boot partition, licensed as firmware, not code), H4 transport, L2CAP, HID-over-GATT/BLE HID and classic HID profiles minimal path for remotes; pairing store. - Wi-Fi later: SDIO host (the second SDHCI instance), BCDC/SDPCM protocol, firmware + NVRAM upload, scan/join WPA2 (needs S5 crypto for the 4-way handshake), DHCP over it.
- Settings UI entries deferred to #95.
Acceptance
BT: a Bluetooth remote pairs and its keys reach the focus engine. Wi-Fi: DHCP lease over WLAN (post-v1 gate).
Size: XL · Depends on: #67, #66, #107 · Blocks: #99 (BT half)