LPCOpen Platform for LPC18XX/43XX microcontrollers  18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Macros | Typedefs | Functions | Variables
aes_18xx_43xx.c File Reference
#include "chip.h"

Go to the source code of this file.

Macros

#define BOOTROM_BASE   0x10400100
 
#define AES_API_TABLE_OFFSET   0x2
 

Typedefs

typedef void(* V_FP_V )(void)
 
typedef uint32_t(* U32_FP_V )(void)
 

Functions

void Chip_AES_Init (void)
 Initialize the AES Engine function. More...
 
uint32_t Chip_AES_SetMode (CHIP_AES_OP_MODE_T AesMode)
 Set operation mode in AES Engine. More...
 
void Chip_AES_LoadKey (uint32_t keyNum)
 Load 128-bit AES user key in AES Engine. More...
 
void Chip_AES_LoadKeyRNG (void)
 Load randomly generated key in AES engine. More...
 
void Chip_AES_LoadKeySW (uint8_t *pKey)
 Load 128-bit AES software defined user key in AES Engine. More...
 
void Chip_AES_LoadIV_SW (uint8_t *pVector)
 Load 128-bit AES initialization vector in AES Engine. More...
 
void Chip_AES_LoadIV_IC (void)
 Load IC specific 128-bit AES initialization vector in AES Engine. More...
 
uint32_t Chip_AES_Operate (uint8_t *pDatOut, uint8_t *pDatIn, uint32_t Size)
 Operate AES Engine. More...
 
uint32_t Chip_AES_ProgramKey (uint32_t KeyNum, uint8_t *pKey)
 Program 128-bit AES Key in OTP. More...
 
uint32_t Chip_AES_Config_DMA (uint32_t channel_id)
 Checks for valid AES configuration of the chip and setup DMA channel to process an AES data block. More...
 
uint32_t Chip_AES_OperateDMA (uint32_t channel_id, uint8_t *dataOutAddr, uint8_t *dataInAddr, uint32_t size)
 Checks for valid AES configuration of the chip and enables DMA channel to process an AES data block. More...
 
uint32_t Chip_AES_GetStatusDMA (uint32_t channel_id)
 Read status of DMA channels that process an AES data block. More...
 

Variables

static unsigned long * BOOTROM_API_TABLE
 
static uint32_t(* aes_SetMode )(CHIP_AES_OP_MODE_T AesMode)
 
static void(* aes_LoadKey1 )(void)
 
static void(* aes_LoadKey2 )(void)
 
static void(* aes_LoadKeyRNG )(void)
 
static void(* aes_LoadKeySW )(uint8_t *pKey)
 
static void(* aes_LoadIV_SW )(uint8_t *pVector)
 
static void(* aes_LoadIV_IC )(void)
 
static uint32_t(* aes_Operate )(uint8_t *pDatOut, uint8_t *pDatIn, uint32_t size)
 
static uint32_t(* aes_ProgramKey1 )(uint8_t *pKey)
 
static uint32_t(* aes_ProgramKey2 )(uint8_t *pKey)
 
static uint32_t(* aes_Config_DMA )(uint32_t channel_id)
 
static uint32_t(* aes_Operate_DMA )(uint32_t channel_id, uint8_t *dataOutAddr, uint8_t *dataInAddr, uint32_t size)
 
static uint32_t(* aes_Get_Status_DMA )(uint32_t channel_id)
 

Macro Definition Documentation

#define AES_API_TABLE_OFFSET   0x2

Definition at line 39 of file aes_18xx_43xx.c.

#define BOOTROM_BASE   0x10400100

Definition at line 38 of file aes_18xx_43xx.c.

Typedef Documentation

typedef uint32_t(* U32_FP_V)(void)

Definition at line 42 of file aes_18xx_43xx.c.

typedef void(* V_FP_V)(void)

Definition at line 41 of file aes_18xx_43xx.c.

Variable Documentation

uint32_t(* aes_Config_DMA)(uint32_t channel_id)
static

Definition at line 64 of file aes_18xx_43xx.c.

uint32_t(* aes_Get_Status_DMA)(uint32_t channel_id)
static

Definition at line 66 of file aes_18xx_43xx.c.

void(* aes_LoadIV_IC)(void)
static

Definition at line 60 of file aes_18xx_43xx.c.

void(* aes_LoadIV_SW)(uint8_t *pVector)
static

Definition at line 59 of file aes_18xx_43xx.c.

void(* aes_LoadKey1)(void)
static

Definition at line 55 of file aes_18xx_43xx.c.

void(* aes_LoadKey2)(void)
static

Definition at line 56 of file aes_18xx_43xx.c.

void(* aes_LoadKeyRNG)(void)
static

Definition at line 57 of file aes_18xx_43xx.c.

void(* aes_LoadKeySW)(uint8_t *pKey)
static

Definition at line 58 of file aes_18xx_43xx.c.

uint32_t(* aes_Operate)(uint8_t *pDatOut, uint8_t *pDatIn, uint32_t size)
static

Definition at line 61 of file aes_18xx_43xx.c.

uint32_t(* aes_Operate_DMA)(uint32_t channel_id, uint8_t *dataOutAddr, uint8_t *dataInAddr, uint32_t size)
static

Definition at line 65 of file aes_18xx_43xx.c.

uint32_t(* aes_ProgramKey1)(uint8_t *pKey)
static

Definition at line 62 of file aes_18xx_43xx.c.

uint32_t(* aes_ProgramKey2)(uint8_t *pKey)
static

Definition at line 63 of file aes_18xx_43xx.c.

uint32_t(* aes_SetMode)(CHIP_AES_OP_MODE_T AesMode)
static

Definition at line 54 of file aes_18xx_43xx.c.

unsigned long* BOOTROM_API_TABLE
static

Definition at line 44 of file aes_18xx_43xx.c.