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