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
Unknown Object (File)
Mon, Jun 15, 11:06 AM
Unknown Object (File)
Mon, Jun 15, 8:46 AM
Unknown Object (File)
Tue, Jun 9, 11:31 PM
Unknown Object (File)
Thu, Jun 4, 3:51 PM
Unknown Object (File)
Thu, Jun 4, 12:04 AM
Unknown Object (File)
Tue, Jun 2, 11:25 AM
Unknown Object (File)
Thu, May 28, 3:32 AM
Unknown Object (File)
Wed, May 27, 4:04 AM
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.Sat, May 30, 1:39 AM
This revision was automatically updated to reflect the committed changes.