summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h
diff options
context:
space:
mode:
authoryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2020-01-10 07:53:14 +0000
committeryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2020-01-10 07:53:14 +0000
commit50ff3134dc87e8a059ea6f4a8cefdb85f2f6fd17 (patch)
tree7fe982d669c06b755140b122e86c21b16b34ffe5 /FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h
parentc454f6e231815e0188e205731952ac758e1d955a (diff)
downloadfreertos-50ff3134dc87e8a059ea6f4a8cefdb85f2f6fd17.tar.gz
Introduce a port for T-HEAD CK802. A simple demo for T-HEAD CB2201 is also included.
git-svn-id: http://svn.code.sf.net/p/freertos/code/trunk@2802 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h')
-rw-r--r--FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h b/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h
new file mode 100644
index 000000000..976ccad61
--- /dev/null
+++ b/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/aes/ck_aes.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2017 C-SKY Microsystems Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/******************************************************************************
+ * @file ck_aes.h
+ * @brief header file for aes driver
+ * @version V1.0
+ * @date 02. June 2017
+ ******************************************************************************/
+#ifndef _CK_AES_H_
+#define _CK_AES_H_
+
+#include <stdio.h>
+#include "drv_aes.h"
+#include "soc.h"
+
+#define AES_LITTLE_ENDIAN 0x00000100
+
+#define AES_MAX_KEY_LENGTH 32
+#define AES_IT_DATAINT 0x4
+#define AES_IT_KEYINT 0x2
+#define AES_IT_BUSY 0x1
+#define AES_IT_ALL 0x7
+#define AES_CRYPTO_KEYEXP 0x2
+
+#define AES_WORK_ENABLE_OFFSET 0
+#define AES_INT_ENABLE_OFFSET 2
+#define AES_MODE_OFFSET 3
+#define AES_KEY_LEN_OFFSET 4
+#define AES_OPCODE_OFFSET 6
+
+typedef struct {
+ __IOM uint32_t datain[4]; /* Offset: 0x000 (R/W) Data input 0~127 */
+ __IOM uint32_t key[8]; /* Offset: 0x010 (R/W) Key 0~255 */
+ __IOM uint32_t iv[4]; /* Offset: 0x030 (R/W) Initial Vector: 0~127 */
+ __IOM uint32_t ctrl; /* Offset: 0x040 (R/W) AES Control Register */
+ __IOM uint32_t state; /* Offset: 0x044 (R/W) AES State Register */
+ __IOM uint32_t dataout[4]; /* Offset: 0x048 (R/W) Data Output 0~31 */
+} ck_aes_reg_t;
+
+#endif