1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2022-2024, HiSilicon Technologies Co., Ltd. 4 */ 5 6 #ifndef __HPRE_DH_H__ 7 #define __HPRE_DH_H__ 8 9 #include <stdint.h> 10 #include <tee_api_types.h> 11 #include <types_ext.h> 12 13 #define HPRE_DH_MAX_KEY_BYTES 512 14 #define HPRE_DH_TOTAL_BUF_SIZE(key_bytes) ((key_bytes) * 4) 15 16 struct hpre_dh_msg { 17 uint8_t *x_p; /* X and p data in order */ 18 paddr_t x_p_dma; 19 uint8_t *g; 20 paddr_t g_dma; 21 uint8_t *out; 22 paddr_t out_dma; 23 uint32_t alg_type; 24 uint32_t key_bytes; 25 uint32_t xbytes; 26 uint32_t pbytes; 27 uint32_t gbytes; 28 uint32_t out_bytes; 29 }; 30 31 TEE_Result hpre_dh_init(void); 32 33 #endif 34