1b9eebfadSRuchika Gupta /* 2b9eebfadSRuchika Gupta * Copyright 2014 Freescale Semiconductor, Inc. 3b9eebfadSRuchika Gupta * 4b9eebfadSRuchika Gupta * SPDX-License-Identifier: GPL-2.0+ 5b9eebfadSRuchika Gupta * 6b9eebfadSRuchika Gupta */ 7b9eebfadSRuchika Gupta 8b9eebfadSRuchika Gupta #ifndef __JOBDESC_H 9b9eebfadSRuchika Gupta #define __JOBDESC_H 10b9eebfadSRuchika Gupta 11b9eebfadSRuchika Gupta #include <common.h> 12b9eebfadSRuchika Gupta #include <asm/io.h> 1334276478SRuchika Gupta #include "rsa_caam.h" 14b9eebfadSRuchika Gupta 15c5de15cbSRuchika Gupta #define KEY_IDNFR_SZ_BYTES 16 16c5de15cbSRuchika Gupta 17*0200020bSRaul Cardenas #ifdef CONFIG_CMD_DEKBLOB 18*0200020bSRaul Cardenas /* inline_cnstr_jobdesc_blob_dek: 19*0200020bSRaul Cardenas * Intializes and constructs the job descriptor for DEK encapsulation 20*0200020bSRaul Cardenas * using the given parameters. 21*0200020bSRaul Cardenas * @desc: reference to the job descriptor 22*0200020bSRaul Cardenas * @plain_txt: reference to the DEK 23*0200020bSRaul Cardenas * @enc_blob: reference where to store the blob 24*0200020bSRaul Cardenas * @in_sz: size in bytes of the DEK 25*0200020bSRaul Cardenas * @return: 0 on success, ECONSTRJDESC otherwise 26*0200020bSRaul Cardenas */ 27*0200020bSRaul Cardenas int inline_cnstr_jobdesc_blob_dek(uint32_t *desc, const uint8_t *plain_txt, 28*0200020bSRaul Cardenas uint8_t *enc_blob, uint32_t in_sz); 29*0200020bSRaul Cardenas #endif 30*0200020bSRaul Cardenas 31b9eebfadSRuchika Gupta void inline_cnstr_jobdesc_hash(uint32_t *desc, 32b9eebfadSRuchika Gupta const uint8_t *msg, uint32_t msgsz, uint8_t *digest, 33b9eebfadSRuchika Gupta u32 alg_type, uint32_t alg_size, int sg_tbl); 34b9eebfadSRuchika Gupta 35c5de15cbSRuchika Gupta void inline_cnstr_jobdesc_blob_encap(uint32_t *desc, uint8_t *key_idnfr, 36c5de15cbSRuchika Gupta uint8_t *plain_txt, uint8_t *enc_blob, 37c5de15cbSRuchika Gupta uint32_t in_sz); 38c5de15cbSRuchika Gupta 39c5de15cbSRuchika Gupta void inline_cnstr_jobdesc_blob_decap(uint32_t *desc, uint8_t *key_idnfr, 40c5de15cbSRuchika Gupta uint8_t *enc_blob, uint8_t *plain_txt, 41c5de15cbSRuchika Gupta uint32_t out_sz); 42c5de15cbSRuchika Gupta 43c5de15cbSRuchika Gupta void inline_cnstr_jobdesc_rng_instantiation(uint32_t *desc); 4434276478SRuchika Gupta 4534276478SRuchika Gupta void inline_cnstr_jobdesc_pkha_rsaexp(uint32_t *desc, 4634276478SRuchika Gupta struct pk_in_params *pkin, uint8_t *out, 4734276478SRuchika Gupta uint32_t out_siz); 48b9eebfadSRuchika Gupta #endif 49