blob: f47968671ae7cfede80dacbfbda8c1b236014d75 [file] [log] [blame]
Jordan Crouse9fe757b2006-10-04 18:48:57 +10001/* Copyright (C) 2003-2006, Advanced Micro Devices, Inc.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 */
8
9#ifndef _GEODE_AES_H_
10#define _GEODE_AES_H_
11
12#define AES_KEY_LENGTH 16
13#define AES_IV_LENGTH 16
14
15#define AES_MIN_BLOCK_SIZE 16
16
17#define AES_MODE_ECB 0
18#define AES_MODE_CBC 1
19
20#define AES_DIR_DECRYPT 0
21#define AES_DIR_ENCRYPT 1
22
Jordan Crouse761e7842007-05-24 21:23:24 +100023#define AES_FLAGS_HIDDENKEY (1 << 0)
Jordan Crouse9fe757b2006-10-04 18:48:57 +100024
25struct geode_aes_op {
26
27 void *src;
28 void *dst;
29
30 u32 mode;
31 u32 dir;
32 u32 flags;
33 int len;
34
35 u8 key[AES_KEY_LENGTH];
36 u8 iv[AES_IV_LENGTH];
37};
38
Jordan Crouse9fe757b2006-10-04 18:48:57 +100039#endif