AnilKumar Chimata | 4cf128e | 2017-07-13 01:22:31 +0530 | [diff] [blame] | 1 | Introduction: |
| 2 | ============= |
| 3 | Invoke driver is a misc driver which helps communication between non secure |
| 4 | and secure world. Invoke driver communicates with secure side using SCM |
| 5 | driver. To use invoke driver, open must be called on invoke device i.e. |
| 6 | /dev/invoke. Invoke driver exposes only one IOCTL invoke which passes |
| 7 | userspace request to TZ. |
| 8 | |
| 9 | SW Architecture |
| 10 | =============== |
| 11 | Following is SW stack for Invoke driver. |
| 12 | |
| 13 | +++++++++++++++++++++++++++++++++++++++++ |
| 14 | + Applications + |
| 15 | +++++++++++++++++++++++++++++++++++++++++ |
| 16 | + System Layer + |
| 17 | +++++++++++++++++++++++++++++++++++++++++ |
| 18 | + Kernel + |
| 19 | + +++++++++++++++++++ + |
| 20 | + + Invoke driver + + |
| 21 | + +++++++++++++++++++ + |
| 22 | + + SCM Driver + + |
| 23 | +++++++++++++++++++++++++++++++++++++++++ |
| 24 | || |
| 25 | || |
| 26 | \/ |
| 27 | +++++++++++++++++++++++++++++++++++++++++ |
| 28 | + Trust Zone + |
| 29 | + +++++++++++ +++++++++++ + |
| 30 | + + TZ App1 + + TZ App2 + + |
| 31 | +++++++++++++++++++++++++++++++++++++++++ |
| 32 | |
| 33 | |
| 34 | Interfaces |
| 35 | ========== |
| 36 | Invoke driver exposes INVOKE_IOCTL_INVOKE_REQ IOCTL for userspace to |
| 37 | communicate with driver. More details of IOCTL are avilable in |
| 38 | corresponding header file. |
| 39 | |
| 40 | |
| 41 | Driver Parameters |
| 42 | ================= |
| 43 | This driver is built and statically linked into the kernel; therefore, |
| 44 | there are no module parameters supported by this driver. |
| 45 | |
| 46 | There are no kernel command line parameters supported by this driver. |
| 47 | |
| 48 | Power Management |
| 49 | ================ |
| 50 | TBD |
| 51 | |
| 52 | Dependencies |
| 53 | ============ |
| 54 | Invoke driver depends on SCM driver to communicate with TZ. |