Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __54xxsecinc ; avoid multiple inclusion
__54xxsecinc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File 54XXSEC.INC *
;* *
;* Contains SFR and Bit Definitions for ColdFire MCF54xx Security Engine *
;* *
;****************************************************************************
; Arbiter/Controller Control register space
MBAR_SCTRL equ MBAR_SEC+$1000
EUACRH equ MBAR_SCTRL+$00 ; EU Assignment Control Register High (32b)
RNG cffield EUACRH,24,4 ; RNG Assignment
MDEU cffield EUACRH,8,4 ; MDEU Assignment
AFEU cffield EUACRH,0,4 ; AFEU Assignment
EUACRL equ MBAR_SCTRL+$04 ; EU Assignment Control Register Low (32b)
DEU cffield EUACRL,24,4 ; DEU Assignment
AESU cffield EUACRL,16,4 ; AESU Assignment
SIMRH equ MBAR_SCTRL+$08 ; SEC Interrupt Mask Register High (32b)
CHA_1_ERR cfbit SIMRH,31 ; Channel 1 Error Interrupt Mask
CHA_1_DN cfbit SIMRH,30 ; Channel 1 Done Interrupt Mask
CHA_0_ERR cfbit SIMRH,29 ; Channel 0 Error Interrupt Mask
CHA_0_DN cfbit SIMRH,28 ; Channel 0 Done Interrupt Mask
AERR cfbit SIMRH,27 ; Assignment Error Interrupt Mask
SIMRL equ MBAR_SCTRL+$0C ; SEC Interrupt Mask Register Low (32b)
RNG_ERR cfbit SIMRL,25 ; RNG Error Interrupt Mask
RNG_DN cfbit SIMRL,24 ; RNG Done Interrupt Mask
AFEU_ERR cfbit SIMRL,21 ; AFEU Error Interrupt Mask
AFEU_DN cfbit SIMRL,20 ; AFEU Done Interrupt Mask
MDEU_ERR cfbit SIMRL,17 ; MDEU Error Interrupt Mask
MDEU_DN cfbit SIMRL,16 ; MDEU Done Interrupt Mask
AESU_ERR cfbit SIMRL,13 ; AESU Error Interrupt Mask
AESU_DN cfbit SIMRL,12 ; AESU Done Interrupt Mask
DEU_ERR cfbit SIMRL,9 ; DEU Error Interrupt Mask
DEU_DN cfbit SIMRL,8 ; DEU Done Interrupt Mask
TEA cfbit SIMRL,6 ; Transfer Error Acknowledge Mask
SISRH equ MBAR_SCTRL+$10 ; SEC Interrupt Status Register High (32b)
CHA_1_ERR cfbit SISRH,31 ; Channel 1 Error Interrupt Status
CHA_1_DN cfbit SISRH,30 ; Channel 1 Done Interrupt Status
CHA_0_ERR cfbit SISRH,29 ; Channel 0 Error Interrupt Status
CHA_0_DN cfbit SISRH,28 ; Channel 0 Done Interrupt Status
AERR cfbit SISRH,27 ; Assignment Error Interrupt Status
SISRL equ MBAR_SCTRL+$14 ; SEC Interrupt Status Register Low (32b)
RNG_ERR cfbit SISRL,25 ; RNG Error Interrupt Status
RNG_DN cfbit SISRL,24 ; RNG Done Interrupt Status
AFEU_ERR cfbit SISRL,21 ; AFEU Error Interrupt Status
AFEU_DN cfbit SISRL,20 ; AFEU Done Interrupt Status
MDEU_ERR cfbit SISRL,17 ; MDEU Error Interrupt Status
MDEU_DN cfbit SISRL,16 ; MDEU Done Interrupt Status
AESU_ERR cfbit SISRL,13 ; AESU Error Interrupt Status
AESU_DN cfbit SISRL,12 ; AESU Done Interrupt Status
DEU_ERR cfbit SISRL,9 ; DEU Error Interrupt Status
DEU_DN cfbit SISRL,8 ; DEU Done Interrupt Status
TEA cfbit SISRL,6 ; Transfer Error Acknowledge Status
SICRH equ MBAR_SCTRL+$18 ; SEC Interrupt Control Register High (32b)
CHA_1_ERR cfbit SICRH,31 ; Channel 1 Error Interrupt Control
CHA_1_DN cfbit SICRH,30 ; Channel 1 Done Interrupt Control
CHA_0_ERR cfbit SICRH,29 ; Channel 0 Error Interrupt Control
CHA_0_DN cfbit SICRH,28 ; Channel 0 Done Interrupt Control
AERR cfbit SICRH,27 ; Assignment Error Interrupt Control
SICRL equ MBAR_SCTRL+$1C ; SEC Interrupt Control Register Low (32b)
RNG_ERR cfbit SICRL,25 ; RNG Error Interrupt Control
RNG_DN cfbit SICRL,24 ; RNG Done Interrupt Control
AFEU_ERR cfbit SICRL,21 ; AFEU Error Interrupt Control
AFEU_DN cfbit SICRL,20 ; AFEU Done Interrupt Control
MDEU_ERR cfbit SICRL,17 ; MDEU Error Interrupt Control
MDEU_DN cfbit SICRL,16 ; MDEU Done Interrupt Control
AESU_ERR cfbit SICRL,13 ; AESU Error Interrupt Control
AESU_DN cfbit SICRL,12 ; AESU Done Interrupt Control
DEU_ERR cfbit SICRL,9 ; DEU Error Interrupt Control
DEU_DN cfbit SICRL,8 ; DEU Done Interrupt Control
TEA cfbit SICRL,6 ; Transfer Error Acknowledge Control
SIDR equ MBAR_SCTRL+$20 ; SEC ID Register (32b)
VERSION cffield SIDR,0,32 ; Version of the SEC
EUASRH equ MBAR_SCTRL+$28 ; EU Assignment Status Register High (32b)
RNG cffield EUASRH,24,4 ; Actual RNG Assignment
MDEU cffield EUASRH,8,4 ; Actual MDEU Assignment
AFEU cffield EUASRH,0,4 ; Actual AFEU Assignment
EUASRL equ MBAR_SCTRL+$2C ; EU Assignment Status Register Low (32b)
DESU cffield EUASRL,24,4 ; Actual DEU Assignment
AESU cffield EUASRL,16,4 ; Actual AESU Assignment
SMCR equ MBAR_SCTRL+$30 ; SEC Master Control Register (32b)
SWR cfbit SMCR,24 ; Software Reset
CURR_CHAN cffield SMCR,4,4 ; Current Channel.
MEAR equ MBAR_SCTRL+$38 ; Master Error Address Register (32b)
ADDRESS cffield MEAR,0,32 ; Target address of the transaction when TEA was received.
; Crypto-channels
__defsecchan macro N,Base
CCCR{N} equ Base+$0c ; Crypto-Channel Configuration Register n (32b)
BURST_SIZE cffield CCCR{N},8,3 ; Burst Size
WE cfbit CCCR{N},4 ; Writeback Enable.
NE cfbit CCCR{N},3 ; Fetch Next Descriptor Enable.
NT cfbit CCCR{N},2 ; Channel DONE Notification Type.
CDIE cfbit CCCR{N},1 ; Channel DONE Interrupt Enable.
RST cfbit CCCR{N},0 ; Reset Crypto-Channel.
CCPSRH{N} equ Base+$10 ; Crypto-Channel Pointer Status Register High n (32b)
STATE cffield CCPSRH{N},0,8 ; State of the crypto-channel state machine.
CCPSRL{N} equ Base+$14 ; Crypto-Channel Pointer Status Register Low n (32b)
STAT cfbit CCPSRL{N},26 ; Crypto-Channel Static Mode Enable.
MI cfbit CCPSRL{N},25 ; Multi_EU_IN.
MO cfbit CCPSRL{N},24 ; Multi_EU_OUT.
PR cfbit CCPSRL{N},23 ; Primary request.
SR cfbit CCPSRL{N},22 ; Secondary request.
PG cfbit CCPSRL{N},21 ; Primary EU granted.
SG cfbit CCPSRL{N},20 ; Secondary EU granted.
PRD cfbit CCPSRL{N},19 ; Primary EU reset done.
SRD cfbit CCPSRL{N},18 ; Secondary EU reset done.
PD cfbit CCPSRL{N},17 ; Primary EU done.
SD cfbit CCPSRL{N},16 ; Secondary EU done.
TEA cfbit CCPSRL{N},13 ; Transfer error acknowledge.
PERR cfbit CCPSRL{N},12 ; Pointer not complete error.
DERR cfbit CCPSRL{N},10 ; Descriptor error. The
SERR cfbit CCPSRL{N},9 ; Static assignment error.
EUERR cfbit CCPSRL{N},8 ; EU error.
PAIR_PTR cffield CCPSRL{N},0,8 ; Descriptor buffer register length/pointer pair
CDPR{N} equ Base+$44 ; Crypto-Channel Current Descriptor Pointer Register n (32b)
FR{N} equ Base+$4c ; Fetch Register n (32b)
FETCH_ADDR cffield FR{N},0,32 ; Fetch address.
CDBUF{N} equ Base+$80 ; Crypto-Channel Descriptor Buffer n (8*32b)
endm
MBAR_SCHAN0 equ MBAR_SEC+$2000
__defsecchan "0",MBAR_SCHAN0
; Crypto-channel 2
MBAR_SCHAN1 equ MBAR_SEC+$3000
__defsecchan "1",MBAR_SCHAN1
; ArcFour Execution Unit
MBAR_AFEU equ MBAR_SEC+$8000
AFRCR equ MBAR_AFEU+$18 ; AFEU Reset Control Register (32b)
AFSR equ MBAR_AFEU+$28 ; AFEU Status Register (32b)
AFISR equ MBAR_AFEU+$30 ; AFEU Interrupt Status Register (32b)
AFIMR equ MBAR_AFEU+$38 ; AFEU Interrupt Mask Register (32b)
irp Reg,AFISR,AFIMR
ME cfbit Reg,31 ; Mode error.
AE cfbit Reg,30 ; Address error.
OFE cfbit Reg,29 ; Output FIFO error.
IFE cfbit Reg,28 ; Input FIFO error.
IFO cfbit Reg,26 ; Input FIFO overflow.
OFU cfbit Reg,25 ; Output FIFO underflow.
IE cfbit Reg,20 ; Internal error.
ERE cfbit Reg,19 ; Early read error.
CE cfbit Reg,18 ; Context error.
KSE cfbit Reg,17 ; Key size error.
DSE cfbit Reg,16 ; Data size error.
endm
; DES Execution Unit
MBAR_DEU equ MBAR_SEC+$a000
DRCR equ MBAR_DEU+$18 ; DEU Reset Control Register (32b)
DEU_DSR equ MBAR_DEU+$28 ; DEU Status Register (32b)
DISR equ MBAR_DEU+$30 ; DEU Interrupt Status Register (32b)
DEU_DIMR equ MBAR_DEU+$38 ; DEU Interrupt Mask Register (32b)
irp Reg,DISR,DIMR
ME cfbit Reg,31 ; Mode error.
AE cfbit Reg,30 ; Address error.
OFE cfbit Reg,29 ; Output FIFO error.
IFE cfbit Reg,28 ; Input FIFO error.
IFO cfbit Reg,26 ; Input FIFO overflow.
OFU cfbit Reg,25 ; Output FIFO underflow.
KPE cfbit Reg,21 ; Key Parity Error.
IE cfbit Reg,20 ; Internal error.
ERE cfbit Reg,19 ; Early read error.
CE cfbit Reg,18 ; Context error.
KSE cfbit Reg,17 ; Key size error.
DSE cfbit Reg,16 ; Data size error.
endm
; Message Digest Execution Unit
MBAR_MDEU equ MBAR_SEC+$c000
MDRCR equ MBAR_MDEU+$18 ; MDEU Reset Control Register (32b)
MDSR equ MBAR_MDEU+$28 ; MDEU Status Register (32b)
MDISR equ MBAR_MDEU+$30 ; MDEU Interrupt Status Register (32b)
MDIMR equ MBAR_MDEU+$38 ; MDEU Interrupt Mask Register (32b)
irp Reg,MDISR,MDIMR
ME cfbit Reg,31 ; Mode Error.
AE cfbit Reg,30 ; Address Error.
IFO cfbit Reg,26 ; Input FIFO Overflow.
IE cfbit Reg,20 ; Internal Error.
ERE cfbit Reg,19 ; Early Read Error.
CE cfbit Reg,18 ; Context Error.
KSE cfbit Reg,17 ; Key Size Error.
DSE cfbit Reg,16 ; Data Size Error.
endm
; Random Number Generator
MBAR_RNG equ MBAR_SEC+$e000
RNGRCR equ MBAR_RNG+$18 ; RNG Reset Control Register (32b)
RNGSR equ MBAR_RNG+$28 ; RNG Status Register (32b)
RNGISR equ MBAR_RNG+$30 ; RNG Interrupt Status Register (32b)
RNGIMR equ MBAR_RNG+$38 ; RNG Interrupt Mask Register (32b)
irp Reg,RNGISR,RNGIMR
ME cfbit Reg,31 ; Mode Error.
AE cfbit Reg,30 ; Address Error.
OFU cfbit Reg,25 ; Output FIFO underflow.
IE cfbit Reg,20 ; Internal error.
endm
; AES Execution Unit
MBAR_AESU equ MBAR_SEC+$12000
AESRCR equ MBAR_AESU+$18 ; AESU Reset Control Register (32b)
AESSR equ MBAR_AESU+$28 ; AESU Status Register (32b)
AESISR equ MBAR_AESU+$30 ; AESU Interrupt Status Register (32b)
AESIMR equ MBAR_AESU+$38 ; AESU Interrupt Mask Register (32b)
irp Reg,AESISR,AESIMR
ME cfbit Reg,31 ; Mode Error.
AE cfbit Reg,30 ; Address Error.
OFE cfbit Reg,29 ; Output FIFO error.
IFE cfbit Reg,28 ; Input FIFO error.
IFO cfbit Reg,26 ; Input FIFO Overflow.
OFU cfbit Reg,25 ; Output FIFO underflow.
IE cfbit Reg,20 ; Internal Error.
ERE cfbit Reg,19 ; Early Read Error.
CE cfbit Reg,18 ; Context Error.
KSE cfbit Reg,17 ; Key Size Error.
DSE cfbit Reg,16 ; Data Size Error.
endm
; Common Bits in all EUs
irp Reg,AFRCR,DRCR,MDRCR,RNGRCR,AESRCR
RI cfbit Reg,26 ; Reset interrupt.
MI cfbit Reg,25 ; Module initialization.
SR cfbit Reg,24 ; Software reset.
endm
irp Reg,AFSR,DSR,MDSR,RNGSR,AESSR
HALT cfbit Reg,29 ; Halt.
IFW cfbit Reg,28 ; Input FIFO writable. (not on RNG)
OFR cfbit Reg,27 ; Output FIFO readable. (not on MDEEU)
IE cfbit Reg,26 ; Interrupt error.
ID cfbit Reg,25 ; Interrupt done. (not on RNG)
RD cfbit Reg,24 ; Reset done.
endm
restore ; re-enable listing
endif ; __54xxsecinc