1 /*
2  * Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*!
8  @addtogroup ext_dma_errors
9  @{
10  */
11 
12 /*!
13  @file
14  @brief This file contains the error definitions of the CryptoCell external
15  DMA APIs.
16  */
17 
18 #ifndef _MBEDTLS_EXT_DMA_ERROR_H
19 #define _MBEDTLS_EXT_DMA_ERROR_H
20 
21 #include "cc_error.h"
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27 
28 /************************ Defines ******************************/
29 
30 /* The base address for errors of the CryptoCell external DMA. CC_EXT_DMA_MODULE_ERROR_BASE = 0x00F02D00 */
31 /* AES errors */
32 /*! Illegal mode. */
33 #define EXT_DMA_AES_ILLEGAL_OPERATION_MODE_ERROR        (CC_EXT_DMA_MODULE_ERROR_BASE + 0x00UL)
34 /*! Illegal encryption mode. */
35 #define EXT_DMA_AES_INVALID_ENCRYPT_MODE_ERROR      (CC_EXT_DMA_MODULE_ERROR_BASE + 0x01UL)
36 /*! Illegal decryption mode. */
37 #define EXT_DMA_AES_DECRYPTION_NOT_ALLOWED_ON_THIS_MODE             (CC_EXT_DMA_MODULE_ERROR_BASE + 0x02UL)
38 /*! Illegal key size. */
39 #define EXT_DMA_AES_ILLEGAL_KEY_SIZE_ERROR              (CC_EXT_DMA_MODULE_ERROR_BASE + 0x03UL)
40 /*! Illegal IV. */
41 #define EXT_DMA_AES_INVALID_IV_OR_TWEAK_PTR_ERROR       (CC_EXT_DMA_MODULE_ERROR_BASE + 0x04UL)
42 
43 /* Hash errors */
44 /*! Illegal hash operation mode. */
45 #define EXT_DMA_HASH_ILLEGAL_OPERATION_MODE_ERROR   (CC_EXT_DMA_MODULE_ERROR_BASE + 0x05UL)
46 /*! Illegal result buffer. */
47 #define EXT_DMA_HASH_INVALID_RESULT_BUFFER_POINTER_ERROR    (CC_EXT_DMA_MODULE_ERROR_BASE + 0x06UL)
48 /*! Illegal parameters. */
49 #define EXT_DMA_HASH_ILLEGAL_PARAMS_ERROR   (CC_EXT_DMA_MODULE_ERROR_BASE + 0x07UL)
50 
51 /* Chacha errors */
52 /*! Invalid nonce. */
53 #define EXT_DMA_CHACHA_INVALID_NONCE_PTR_ERROR          (CC_EXT_DMA_MODULE_ERROR_BASE + 0x08UL)
54 /*! Invalid encrypt or decrypt mode. */
55 #define EXT_DMA_CHACHA_INVALID_ENCRYPT_MODE_ERROR       (CC_EXT_DMA_MODULE_ERROR_BASE + 0x09UL)
56 /*! Invalid key pointer. */
57 #define EXT_DMA_CHACHA_INVALID_KEY_POINTER_ERROR        (CC_EXT_DMA_MODULE_ERROR_BASE + 0xAUL)
58 /*! Invalid key size. */
59 #define EXT_DMA_CHACHA_ILLEGAL_KEY_SIZE_ERROR           (CC_EXT_DMA_MODULE_ERROR_BASE + 0xBUL)
60 /*! Invalid nonce size flag. */
61 #define EXT_DMA_CHACHA_INVALID_NONCE_ERROR              (CC_EXT_DMA_MODULE_ERROR_BASE + 0xCUL)
62 /*! Illegal input size. */
63 #define EXT_DMA_CHACHA_ILLEGAL_INPUT_SIZE_ERROR         (CC_EXT_DMA_MODULE_ERROR_BASE + 0xDUL)
64 
65 /* External DMA modules errors */
66 /*! Illegal input size. */
67 #define EXT_DMA_ILLEGAL_INPUT_SIZE_ERROR                (CC_EXT_DMA_MODULE_ERROR_BASE + 0xF0UL)
68 
69 /************************ Public Functions *********************/
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 /*!
76  @}
77  */
78 #endif // _MBEDTLS_EXT_DMA_ERROR_H
79