1 // SPDX-License-Identifier: BSD-2-Clause 2 /* 3 * Copyright 2021 NXP 4 */ 5 #include <imx.h> 6 #include <kernel/pseudo_ta.h> 7 #include <pta_imx_digprog.h> 8 9 #define DIGPROG_PTA_NAME "digprog.pta" 10 11 static TEE_Result invokeCommandEntryPoint(void *sess_ctx __unused, 12 uint32_t cmd_id __unused, 13 uint32_t param_types, 14 TEE_Param params[TEE_NUM_PARAMS]) 15 { 16 uint32_t exp_param_types = TEE_PARAM_TYPES(TEE_PARAM_TYPE_VALUE_OUTPUT, 17 TEE_PARAM_TYPE_NONE, 18 TEE_PARAM_TYPE_NONE, 19 TEE_PARAM_TYPE_NONE); 20 21 if (param_types != exp_param_types) 22 return TEE_ERROR_BAD_PARAMETERS; 23 24 params[0].value.a = imx_get_digprog(); 25 params[0].value.b = 0; 26 27 return TEE_SUCCESS; 28 } 29 30 pseudo_ta_register(.uuid = PTA_DIGPROG_UUID, .name = DIGPROG_PTA_NAME, 31 .flags = PTA_DEFAULT_FLAGS, 32 .invoke_command_entry_point = invokeCommandEntryPoint); 33