Page MenuHomeFreeBSD

apple_bce/vhci: add T2 virtual USB host controller
ClosedPublic

Authored by guest-seuros on May 19 2026, 10:31 AM.
Referenced Files
F162722349: D57089.id178082.diff
Thu, Jul 16, 4:04 AM
F162715805: D57089.id179757.diff
Thu, Jul 16, 2:31 AM
Unknown Object (File)
Wed, Jul 15, 7:22 AM
Unknown Object (File)
Wed, Jul 15, 7:22 AM
Unknown Object (File)
Sun, Jul 12, 12:39 AM
Unknown Object (File)
Sat, Jul 4, 7:39 PM
Unknown Object (File)
Sat, Jul 4, 6:18 PM
Unknown Object (File)
Sat, Jul 4, 5:38 PM
Subscribers

Details

Summary

Implements a VHCI driver on top of the BCE transport:

  • Virtual USB bus registration via usb_controller
  • Port discovery and device enumeration
  • Control, interrupt, and bulk endpoint support
  • Firmware event handling with taskqueue
  • Suspend/resume via BCE mailbox

Provides keyboard, trackpad, and Touch Bar access on T2 Macs.

Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

whew this is a whole firmware data pipe and usb controller implementation! this broadly looks okay but i'd like some other usb eyeballs on it.

adrian added a project: USB.
This revision is now accepted and ready to land.May 30 2026, 1:39 AM
This revision was automatically updated to reflect the committed changes.