Re: [PATCH RFC] staging: Add driver to communicate with the T2 Security Chip

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Sun Mar 09 2025 - 05:16:06 EST


On Sun, Mar 09, 2025 at 09:03:29AM +0000, Aditya Garg wrote:
>
>
> > On 9 Mar 2025, at 2:24 PM, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> >
> > On Sun, Mar 09, 2025 at 08:40:31AM +0000, Aditya Garg wrote:
> >> From: Paul Pawlowski <paul@xxxxxxxx>
> >>
> >> This patch adds a driver named apple-bce, to add support for the T2
> >> Security Chip found on certain Macs.
> >>
> >> The driver has 3 main components:
> >>
> >> BCE (Buffer Copy Engine) - this is what the files in the root directory
> >> are for. This estabilishes a basic communication channel with the T2.
> >> VHCI and Audio both require this component.
> >
> > So this is a new "bus" type? Or a platform resource? Or something
> > else?
>
> It's a PCI device

Great, but then is the resources split up into smaller drivers that then
bind to it? How does the other devices talk to this?

> >> VHCI - this is a virtual USB host controller; keyboard, mouse and
> >> other system components are provided by this component (other
> >> drivers use this host controller to provide more functionality).
> >
> > I don't understand, why does a security chip have a USB virtual
> > interface in it? What "devices" hang off of it that are found and
> > enumerated by the host OS?
>
> The t2 chip not only handles security, but also has a usb hub, which connects the internal keyboard, trackpad, touchbar, webcam, and other internal devices. The external usb ports are separate.

That feels strange, but hey, we've seen worse :)

thanks,

greg k-h