Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __mcf5307inc ; avoid multiple inclusion
__mcf5307inc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File MCF5307.INC *
;* *
;* Contains SFR and Bit Definitions for ColdFire MCF5307 *
;* *
;****************************************************************************
ifndef MBAR
MBAR equ $fc000000
warning "MBAR not set - assume default value $fc000000"
endif
;----------------------------------------------------------------------------
; System Integration Module
RSR equ MBAR+$0 ; Reset Status Register (8b)
HRST cfbit RSR,7 ; Hardware or System Reset
SWTR cfbit RSR,5 ; Software Watchdog Timer Reset
SYPCR equ MBAR+$1 ; System Protection Control Register (8b)
SWE cfbit SYPCR,7 ; Software Watchdog Timer enable
SWRI cfbit SYPCR,6 ; Software Watchdog Reset/Interrupt Select
SWP cfbit SYPCR,5 ; Software Watchdog Prescaler
SWT cffield SYPCR,3,2 ; Software Watchdog Timing Delay
SWTA cfbit SYPCR,2 ; Software Watchdog Transfer Acknowledge Enable
SWTAVAL cfbit SYPCR,1 ; Software Watchdog Transfer Acknowledge Valid
SWIVR equ MBAR+$2 ; Software Watchdog Interrupt Vector Register (8b)
SWIV cffield SWIVR,0,7
SWSR equ MBAR+$3 ; Software Watchdog Service Register (8b)
PAR equ MBAR+$4 ; Pin Assignment Register (32b)
IRQPAR equ MBAR+$6 ; Interrupt Port Assignment Register (8b)
IRQPAR2 cfbit IRQPAR,7
IRQPAR1 cfbit IRQPAR,6
IRQPAR0 cfbit IRQPAR,5
PLLCR equ MBAR+$8 ; PLL Control (8b)
ENBSTOP cfbit PLLCR,7 ; Enable CPU STOP Instruction
PLLIPL cffield PLLCR,4,3 ; PLL Interrupt Priority Level to Wake Up from CPU STOP
MPARK equ MBAR+$c ; Default Bus Master Park Register (8b)
PARK cffield MPARK,6,2 ; Park
IARBCTRL cfbit MPARK,5 ; Internal Bus Arbitration Control
EARBCTRL cfbit MPARK,4 ; External Bus Arbitration Control
SHOWDATA cfbit MPARK,3 ; Enable Internal Register Data Bus to be Driven on External Bus
BCR24BIT cfbit MPARK,0 ; BCR and Address Mapping for DMA
;----------------------------------------------------------------------------
; I2C
MBAR_I2C equ MBAR+$280
include "52xxi2c.inc"
;----------------------------------------------------------------------------
; Interrupt Controller
MBAR_IC equ MBAR+$40
__defipmr macro {INTLABEL},Base
__LABEL__ equ Base
DMA3 cfbit __LABEL__,17 ; DMA3
DMA2 cfbit __LABEL__,16 ; DMA2
DMA1 cfbit __LABEL__,15 ; DMA1
DMA0 cfbit __LABEL__,14 ; DMA0
UART1 cfbit __LABEL__,13 ; UART1
UART0 cfbit __LABEL__,12 ; UART0
I2C cfbit __LABEL__,11 ; I2C
TIMER1 cfbit __LABEL__,10 ; Timer1
TIMER0 cfbit __LABEL__,9 ; Timer0
SWT cfbit __LABEL__,8 ; Software Watchdog Timer
EINT7 cfbit __LABEL__,7 ; External Interrupt 7
EINT6 cfbit __LABEL__,6 ; External Interrupt 6
EINT5 cfbit __LABEL__,5 ; External Interrupt 5
EINT4 cfbit __LABEL__,4 ; External Interrupt 4
EINT3 cfbit __LABEL__,3 ; External Interrupt 3
EINT2 cfbit __LABEL__,2 ; External Interrupt 2
EINT1 cfbit __LABEL__,1 ; External Interrupt 1
endm
IPR __defipmr MBAR_IC+0 ; Interrupt Pending Register (32b)
IMR __defipmr MBAR_IC+4 ; Interrupt Mask Register (32b)
AVR equ MBAR_IC+11 ; Autovector Register (8b)
AVEC cffield AVR,1,7 ; Autovector Control
BLK cfbit AVR,0 ; Block Address Strobe
__deficr macro Num,Base
ICR{Num} equ Base
AVEC cfbit ICR{Num},7 ; Autovector Enable
IL cffield ICR{Num},2,3 ; Interrupt Level
IP cffield ICR{Num},0,2 ; Interrupt Priority
endm
__deficr "0",MBAR_IC+12 ; Software Watchdog Timer
__deficr "1",MBAR_IC+13 ; Timer0
__deficr "2",MBAR_IC+14 ; Timer1
__deficr "3",MBAR_IC+15 ; I2C
__deficr "4",MBAR_IC+16 ; UART0
__deficr "5",MBAR_IC+17 ; UART1
__deficr "6",MBAR_IC+18 ; DMA0
__deficr "7",MBAR_IC+19 ; DMA1
__deficr "8",MBAR_IC+20 ; DMA2
__deficr "9",MBAR_IC+21 ; DMA3
;----------------------------------------------------------------------------
; Chip Select Module
MBAR_CS equ MBAR+$80
__N set 0
rept 8
__decstr __NS,__N
CSAR{__NS} equ MBAR_CS+(__N*12)+0 ; Chip-Select Address Register (16b)
BA cffield CSAR{__NS},0,16 ; Base Address (upper 16 bits)
CSMR{__NS} equ MBAR_CS+(__N*12)+4 ; Chip-Select Mask Register (32b)
BAM cffield CSMR{__NS},16,16 ; Base Address Mask
WP cfbit CSMR{__NS},8 ; Write Protect
AM cfbit CSMR{__NS},6 ; Alternate master
CI cfbit CSMR{__NS},5 ; CPU space and interrupt acknowledge cycle mask
SC cfbit CSMR{__NS},4 ; Supervisor Code Address Space Mask
SD cfbit CSMR{__NS},3 ; Supervisor Data Address Space Mask
UC cfbit CSMR{__NS},2 ; User Code Address Space Mask
UD cfbit CSMR{__NS},1 ; User Data Address Space Mask
V cfbit CSMR{__NS},0 ; Valid
CSCR{__NS} equ MBAR_CS+(__N*12)+8 ; Chip-Select Control Register (16b)
WS cffield CSCR{__NS},10,4 ; Wait States
AA cfbit CSCR{__NS},8 ; Auto-Acknowledge Enable
PS cffield CSCR{__NS},6,2 ; Port Size
BEM cfbit CSCR{__NS},5 ; Bus Master Emable
BSTR cfbit CSCR{__NS},4 ; Burst-Read Enable
BSTW cfbit CSCR{__NS},3 ; Burst-Write Enable
__N set __N+1
endm
;----------------------------------------------------------------------------
; DRAM Controller
MBAR_DRAM equ MBAR+$100
DCR equ MBAR_DRAM+0 ; DRAM Control Register (16b)
SO cfbit DCR,15 ; Synchronous Operation
NAM cfbit DCR,13 ; No Address Multiplexing
RRA cffield DCR,11,2 ; Refresh /RAS Asserted
RRP cffield DCR,9,2 ; Refresh /RAS Precharge
RC cffield DCR,0,9 ; Refresh Count
__defsdcs macro N,Addr
DACR{N} equ Addr+0 ; Address and Control Register (32b)
BA cffield DACR{N},18,14 ; Base Address
RE cfbit DACR{N},15 ; Refresh Enable
CAS cffield DACR{N},12,2 ; /CAS Timing
RP cfbit DACR{N},10,2 ; /RAS Precharge Timing
RNCN cffield DACR{N},9 ; /RAS-Negate-to-/CAS-Negate
RCD cfbit DACR{N},8 ; /RAS-to-/CAS Delay
EDO cfbit DACR{N},6 ; Extended Data Out
PS cffield DACR{N},4,2 ; Port Size
PM cffield DACR{N},2,2 ; Page Mode
DMR{N} equ Addr+4 ; Mask Register (32b)
BAM cffield DMR{N},18,14 ; Base Address Mask
WP cfbit DMR{N},8 ; Write Protect
CI cfbit DMR{N},6 ; CPU Space/Interrupt Acknowledge
AM cfbit DMR{N},5 ; Alternate Master
SC cfbit DMR{N},4 ; Supervisor Code
SD cfbit DMR{N},3 ; Supervisor Data
UC cfbit DMR{N},2 ; User Code
UD cfbit DMR{N},1 ; User Data
V cfbit DMR{N},0 ; Valid
endm
__defsdcs "0",MBAR_DRAM+8
__defsdcs "1",MBAR_DRAM+16
;----------------------------------------------------------------------------
; DMA Controller
MBAR_DMA equ MBAR+$300
__N set 0
rept 4
__decstr __NS,__N
SAR{__NS} equ MBAR_DMA+(__N*64)+0 ; Source Address Register (32b)
DAR{__NS} equ MBAR_DMA+(__N*64)+4 ; Destination Address Register (32b)
DCR{__NS} equ MBAR_DMA+(__N*64)+8 ; Control Register (32b)
INT cfbit DCR{__NS},31 ; Interrupt on Completion of Transfer
EEXT cfbit DCR{__NS},30 ; Enable External Request
CS cfbit DCR{__NS},29 ; Cycle Steal
AA cfbit DCR{__NS},28 ; Auto-Align
BWC cffield DCR{__NS},25,3 ; Bandwidth Control
SAA cfbit DCR{__NS},24 ; Single-Address Access
S_RW cfbit DCR{__NS},23 ; Single-Address Access Read/Write Value
SINC cfbit DCR{__NS},22 ; Source Increment
SSIZE cffield DCR{__NS},20,2 ; Source Size
DINC cfbit DCR{__NS},19 ; Destination Increment
DSIZE cffield DCR{__NS},17,2 ; Destination Size
START cfbit DCR{__NS},16 ; Start Transfer
AT cfbit DCR{__NS},15 ; DMA Acknowledge Type
BCR{__NS} equ MBAR_DMA+(__N*64)+12 ; Byte Count Register (32b)
DSR{__NS} equ MBAR_DMA+(__N*64)+16 ; Status Register (8b)
CE cfbit DSR{__NS},6 ; Configuration Error
BES cfbit DSR{__NS},5 ; Bus Error on Source
BED cfbit DSR{__NS},4 ; Bus Error on Destination
REQ cfbit DSR{__NS},2 ; Request
BSY cfbit DSR{__NS},1 ; Busy
DONE cfbit DSR{__NS},0 ; Transactions Done
DIVR{__NS} equ MBAR_DMA+(__N*64)+20 ; Interrupt Vector Register (8b)
__N set __N+1
endm
;----------------------------------------------------------------------------
; Timer
include "52xxtmr.inc"
__deftimer "0",MBAR+$140
__deftimer "1",MBAR+$180
;----------------------------------------------------------------------------
; UARTs
include "53xxuart.inc"
__defuart "0",MBAR+$140
__defuart "1",MBAR+$200
;----------------------------------------------------------------------------
; Parallel Port
PADDR equ MBAR+$244 ; Port A Data Direction Register (16b)
PADAT equ MBAR+$248 ; Port A Data Register (16b)
restore ; re-enable listing
endif ; __mcf5307inc