1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2b9eebfadSRuchika Gupta /* 3b9eebfadSRuchika Gupta * Copyright 2014 Freescale Semiconductor, Inc. 4b9eebfadSRuchika Gupta * 5b9eebfadSRuchika Gupta */ 6b9eebfadSRuchika Gupta 7b9eebfadSRuchika Gupta #ifndef __JOBDESC_H 8b9eebfadSRuchika Gupta #define __JOBDESC_H 9b9eebfadSRuchika Gupta 10b9eebfadSRuchika Gupta #include <common.h> 11b9eebfadSRuchika Gupta #include <asm/io.h> 1234276478SRuchika Gupta #include "rsa_caam.h" 13b9eebfadSRuchika Gupta 14c5de15cbSRuchika Gupta #define KEY_IDNFR_SZ_BYTES 16 15c5de15cbSRuchika Gupta 160200020bSRaul Cardenas #ifdef CONFIG_CMD_DEKBLOB 170200020bSRaul Cardenas /* inline_cnstr_jobdesc_blob_dek: 180200020bSRaul Cardenas * Intializes and constructs the job descriptor for DEK encapsulation 190200020bSRaul Cardenas * using the given parameters. 200200020bSRaul Cardenas * @desc: reference to the job descriptor 210200020bSRaul Cardenas * @plain_txt: reference to the DEK 220200020bSRaul Cardenas * @enc_blob: reference where to store the blob 230200020bSRaul Cardenas * @in_sz: size in bytes of the DEK 240200020bSRaul Cardenas * @return: 0 on success, ECONSTRJDESC otherwise 250200020bSRaul Cardenas */ 260200020bSRaul Cardenas int inline_cnstr_jobdesc_blob_dek(uint32_t *desc, const uint8_t *plain_txt, 270200020bSRaul Cardenas uint8_t *enc_blob, uint32_t in_sz); 280200020bSRaul Cardenas #endif 290200020bSRaul Cardenas 30b9eebfadSRuchika Gupta void inline_cnstr_jobdesc_hash(uint32_t *desc, 31b9eebfadSRuchika Gupta const uint8_t *msg, uint32_t msgsz, uint8_t *digest, 32b9eebfadSRuchika Gupta u32 alg_type, uint32_t alg_size, int sg_tbl); 33b9eebfadSRuchika Gupta 34c5de15cbSRuchika Gupta void inline_cnstr_jobdesc_blob_encap(uint32_t *desc, uint8_t *key_idnfr, 35c5de15cbSRuchika Gupta uint8_t *plain_txt, uint8_t *enc_blob, 36c5de15cbSRuchika Gupta uint32_t in_sz); 37c5de15cbSRuchika Gupta 38c5de15cbSRuchika Gupta void inline_cnstr_jobdesc_blob_decap(uint32_t *desc, uint8_t *key_idnfr, 39c5de15cbSRuchika Gupta uint8_t *enc_blob, uint8_t *plain_txt, 40c5de15cbSRuchika Gupta uint32_t out_sz); 41c5de15cbSRuchika Gupta 42dfaec760SLukas Auer void inline_cnstr_jobdesc_rng_instantiation(uint32_t *desc, int handle); 4334276478SRuchika Gupta 4434276478SRuchika Gupta void inline_cnstr_jobdesc_pkha_rsaexp(uint32_t *desc, 4534276478SRuchika Gupta struct pk_in_params *pkin, uint8_t *out, 4634276478SRuchika Gupta uint32_t out_siz); 47b9eebfadSRuchika Gupta #endif 48