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