xref: /optee_os/lib/libutee/include/pta_rng.h (revision e27e865a6695ed84783eea86d2d3820cf5af238c)
1*e27e865aSEtienne Carriere /* SPDX-License-Identifier: BSD-2-Clause */
2*e27e865aSEtienne Carriere /*
3*e27e865aSEtienne Carriere  * Copyright (C) 2018, Linaro Limited
4*e27e865aSEtienne Carriere  */
5*e27e865aSEtienne Carriere 
6*e27e865aSEtienne Carriere #ifndef __PTA_RNG_H
7*e27e865aSEtienne Carriere #define __PTA_RNG_H
8*e27e865aSEtienne Carriere 
9*e27e865aSEtienne Carriere #define PTA_RNG_UUID { 0xab7a617c, 0xb8e7, 0x4d8f, \
10*e27e865aSEtienne Carriere 		{ 0x83, 0x01, 0xd0, 0x9b, 0x61, 0x03, 0x6b, 0x64 } }
11*e27e865aSEtienne Carriere 
12*e27e865aSEtienne Carriere #define TEE_ERROR_HEALTH_TEST_FAIL	0x00000001
13*e27e865aSEtienne Carriere 
14*e27e865aSEtienne Carriere /*
15*e27e865aSEtienne Carriere  * PTA_CMD_GET_ENTROPY - Get Entropy from RNG using Thermal Sensor
16*e27e865aSEtienne Carriere  *
17*e27e865aSEtienne Carriere  * [in/out]   memref[0] - Entropy buffer memory reference
18*e27e865aSEtienne Carriere  * param[1] unused
19*e27e865aSEtienne Carriere  * param[2] unused
20*e27e865aSEtienne Carriere  * param[3] unused
21*e27e865aSEtienne Carriere  *
22*e27e865aSEtienne Carriere  * Result:
23*e27e865aSEtienne Carriere  * TEE_SUCCESS - Invoke command success
24*e27e865aSEtienne Carriere  * TEE_ERROR_BAD_PARAMETERS - Incorrect input param
25*e27e865aSEtienne Carriere  * TEE_ERROR_NOT_SUPPORTED - Requested entropy size greater than size of pool
26*e27e865aSEtienne Carriere  * TEE_ERROR_HEALTH_TEST_FAIL - Continuous health testing failed
27*e27e865aSEtienne Carriere  */
28*e27e865aSEtienne Carriere #define PTA_CMD_GET_ENTROPY		0x0
29*e27e865aSEtienne Carriere 
30*e27e865aSEtienne Carriere /*
31*e27e865aSEtienne Carriere  * PTA_CMD_GET_RNG_INFO - Get RNG information
32*e27e865aSEtienne Carriere  *
33*e27e865aSEtienne Carriere  * [out]     value[0].a - RNG data-rate in bytes per second
34*e27e865aSEtienne Carriere  * [out]     value[0].b - Quality/Entropy per 1024 bit of data
35*e27e865aSEtienne Carriere  * param[1] unused
36*e27e865aSEtienne Carriere  * param[2] unused
37*e27e865aSEtienne Carriere  * param[3] unused
38*e27e865aSEtienne Carriere  *
39*e27e865aSEtienne Carriere  * Result:
40*e27e865aSEtienne Carriere  * TEE_SUCCESS - Invoke command success
41*e27e865aSEtienne Carriere  * TEE_ERROR_BAD_PARAMETERS - Incorrect input param
42*e27e865aSEtienne Carriere  */
43*e27e865aSEtienne Carriere #define PTA_CMD_GET_RNG_INFO		0x1
44*e27e865aSEtienne Carriere 
45*e27e865aSEtienne Carriere #endif /* __PTA_RNG_H */
46