| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * Copyright 2014 Freescale Semiconductor, Inc. |
| * |
| */ |
| |
| #ifndef __JOBDESC_H |
| #define __JOBDESC_H |
| |
| #include <asm/io.h> |
| #include "rsa_caam.h" |
| |
| #define KEY_IDNFR_SZ_BYTES 16 |
| |
| #ifdef CONFIG_CMD_DEKBLOB |
| /* inline_cnstr_jobdesc_blob_dek: |
| * Intializes and constructs the job descriptor for DEK encapsulation |
| * using the given parameters. |
| * @desc: reference to the job descriptor |
| * @plain_txt: reference to the DEK |
| * @enc_blob: reference where to store the blob |
| * @in_sz: size in bytes of the DEK |
| * @return: 0 on success, ECONSTRJDESC otherwise |
| */ |
| int inline_cnstr_jobdesc_blob_dek(uint32_t *desc, const uint8_t *plain_txt, |
| uint8_t *enc_blob, uint32_t in_sz); |
| #endif |
| |
| void inline_cnstr_jobdesc_hash(uint32_t *desc, |
| const uint8_t *msg, uint32_t msgsz, uint8_t *digest, |
| u32 alg_type, uint32_t alg_size, int sg_tbl); |
| |
| void inline_cnstr_jobdesc_blob_encap(uint32_t *desc, uint8_t *key_idnfr, |
| uint8_t *plain_txt, uint8_t *enc_blob, |
| uint32_t in_sz); |
| |
| void inline_cnstr_jobdesc_blob_decap(uint32_t *desc, uint8_t *key_idnfr, |
| uint8_t *enc_blob, uint8_t *plain_txt, |
| uint32_t out_sz); |
| |
| void inline_cnstr_jobdesc_rng_instantiation(u32 *desc, int handle, int do_sk); |
| |
| void inline_cnstr_jobdesc_rng_deinstantiation(u32 *desc, int handle); |
| |
| void inline_cnstr_jobdesc_rng(u32 *desc, void *data_out, u32 size); |
| |
| void inline_cnstr_jobdesc_pkha_rsaexp(uint32_t *desc, |
| struct pk_in_params *pkin, uint8_t *out, |
| uint32_t out_siz); |
| |
| #endif |