Hello Sumit, if this doc is for driver developers it might be useful to add some code examples how to register drivers on tee bus. Best regards, Maxim. On Wed, 3 Jun 2020 at 14:31, Sumit Garg <sumit.garg@xxxxxxxxxx> wrote: > > Update documentation with TEE bus infrastructure which provides an > interface for kernel client drivers to communicate with corresponding > Trusted Application. > > Signed-off-by: Sumit Garg <sumit.garg@xxxxxxxxxx> > --- > Documentation/tee.txt | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/Documentation/tee.txt b/Documentation/tee.txt > index c8fad81..428d3b5 100644 > --- a/Documentation/tee.txt > +++ b/Documentation/tee.txt > @@ -53,6 +53,28 @@ clients, forward them to the TEE and send back the results. In the case of > supplicants the communication goes in the other direction, the TEE sends > requests to the supplicant which then sends back the result. > > +The TEE kernel interface > +======================== > + > +Kernel provides a TEE bus infrastructure where a Trusted Application is > +represented as a device identified via Universally Unique Identifier (UUID) and > +client drivers register a table of supported device UUIDs. > + > +TEE bus infrastructure registers following APIs: > +- match(): iterates over the client driver UUID table to find a corresponding > + match for device UUID. If a match is found, then this particular device is > + probed via corresponding probe API registered by the client driver. This > + process happens whenever a device or a client driver is registered with TEE > + bus. > +- uevent(): notifies user-space (udev) whenever a new device is registered on > + TEE bus for auto-loading of modularized client drivers. > + > +TEE bus device enumeration is specific to underlying TEE implementation, so it > +is left open for TEE drivers to provide corresponding implementation. > + > +Then TEE client driver can talk to a matched Trusted Application using APIs > +listed in include/linux/tee_drv.h. > + > OP-TEE driver > ============= > > @@ -112,6 +134,14 @@ kernel are handled by the kernel driver. Other RPC messages will be forwarded to > tee-supplicant without further involvement of the driver, except switching > shared memory buffer representation. > > +OP-TEE device enumeration > +------------------------- > + > +OP-TEE provides a pseudo Trusted Application: drivers/tee/optee/device.c in > +order to support device enumeration. In other words, OP-TEE driver invokes this > +application to retrieve a list of Trusted Applications which can be registered > +as devices on the TEE bus. > + > AMD-TEE driver > ============== > > -- > 2.7.4 >