Blame | Last modification | View Log | Download | RSS feed
ifndef __mcf5407inc ; avoid multiple inclusion__mcf5407inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File MCF5407.INC *;* *;* Contains SFR and Bit Definitions for ColdFire MCF5407 *;* *;****************************************************************************ifndef MBARMBAR equ $fc000000warning "MBAR not set - assume default value $fc000000"endif;----------------------------------------------------------------------------; System Integration ModuleRSR equ MBAR+$000 ; Reset status register (8b)HRST cfbit RSR,7 ; Hardware or system resetSWTR cfbit RSR,5 ; Software watchdog timer resetSYPCR equ MBAR+$001 ; System protection control register (8b)SWE cfbit SYPCR,7 ; Software watchdog timer enableSWRI cfbit SYPCR,6 ; Software watchdog reset/interrupt selectSWP cfbit SYPCR,5 ; Software watchdog prescalerSWT cffield SYPCR,3,2 ; Software watchdog timing delaySWTA cfbit SYPCR,2 ; Software watchdog transfer acknowledge enableSWTAVAL cfbit SYPCR,1 ; Software watchdog transfer acknowledge validSWIVR equ MBAR+$002 ; Software watchdog interrupt vector register (8b)SWIV cffield SWIVR,0,8 ; VectorSWSR equ MBAR+$003 ; Software watchdog service register (8b)PAR equ MBAR+$004 ; Pin assignment register (16b)PAR15 cfbit PAR,15 ; PP15/A31PAR14 cfbit PAR,14 ; PP14/A30PAR13 cfbit PAR,13 ; PP13/A29PAR12 cfbit PAR,12 ; PP12/A28PAR11 cfbit PAR,11 ; PP11/A27PAR10 cfbit PAR,10 ; PP10/A26PAR9 cfbit PAR,9 ; PP9/A25PAR8 cfbit PAR,8 ; PP8/A24PAR7 cfbit PAR,7 ; PP7/-TIPPAR6 cfbit PAR,6 ; PP6/-DREQ0PAR5 cfbit PAR,5 ; PP5/-DREQ1PAR4 cfbit PAR,4 ; PP4/TM2PAR3 cfbit PAR,3 ; PP3/TM1/-DACK1PAR2 cfbit PAR,2 ; PP2/TM0/-DACK0PAR1 cfbit PAR,1 ; PP1/TT1PAR0 cfbit PAR,0 ; PP0/TT0IRQPAR equ MBAR+$006 ; Interrupt port assignment register (16b)IRQPAR2 cfbit IRQPAR,7 ; Configures the IRQ pin assignments and prioritiesIRQPAR1 cfbit IRQPAR,6IRQPAR0 cfbit IRQPAR,5ENBDACK1 cfbit IRQPAR,1 ; Enable DACK1.ENBDACK0 cfbit IRQPAR,0 ; Enable DACK0.PLLCR equ MBAR+$008 ; 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.DISBCLKO cfbit PLLCR,3 ; BCLKO disable.MPARK equ MBAR+$00c ; Default bus master park register (8b)PARK cffield PARK,6,2 ; Park.IARBCTRL cfbit PARK,5 ; Internal bus arbitration control.EARBCTRL cfbit PARK,4 ; External bus arbitration control.Enable internal register data bus to be driven on external bus.SHOWDATA cfbit PARK,3 ; Enable internal register data bus to be driven on external bus.;----------------------------------------------------------------------------; I2CMBAR_I2C equ MBAR+$280include "52xxi2c.inc";----------------------------------------------------------------------------; Interrupt Controller (like 5307)MBAR_IC equ MBAR+$40__defipmr macro {INTLABEL},Base__LABEL__ equ BaseDMA3 cfbit __LABEL__,17 ; DMA3DMA2 cfbit __LABEL__,16 ; DMA2DMA1 cfbit __LABEL__,15 ; DMA1DMA0 cfbit __LABEL__,14 ; DMA0UART1 cfbit __LABEL__,13 ; UART1UART0 cfbit __LABEL__,12 ; UART0I2C cfbit __LABEL__,11 ; I2CTIMER2 cfbit __LABEL__,10 ; Timer2TIMER1 cfbit __LABEL__,9 ; Timer1SWT cfbit __LABEL__,8 ; Software Watchdog TimerEINT7 cfbit __LABEL__,7 ; External Interrupt 7EINT6 cfbit __LABEL__,6 ; External Interrupt 6EINT5 cfbit __LABEL__,5 ; External Interrupt 5EINT4 cfbit __LABEL__,4 ; External Interrupt 4EINT3 cfbit __LABEL__,3 ; External Interrupt 3EINT2 cfbit __LABEL__,2 ; External Interrupt 2EINT1 cfbit __LABEL__,1 ; External Interrupt 1endmIPR __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 ControlBLK cfbit AVR,0 ; Block Address Strobe__deficr macro Num,BaseICR{Num} equ BaseAVEC cfbit ICR{Num},7 ; Autovector EnableIL cffield ICR{Num},2,3 ; Interrupt LevelIP cffield ICR{Num},0,2 ; Interrupt Priorityendm__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 ModuleMBAR_CS equ MBAR+$80__N set 0rept 8__decstr __NS,__NCSAR{__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 MaskWP cfbit CSMR{__NS},8 ; Write ProtectAM cfbit CSMR{__NS},6 ; Alternate masterCI cfbit CSMR{__NS},5 ; CPU space and interrupt acknowledge cycle maskSC cfbit CSMR{__NS},4 ; Supervisor Code Address Space MaskSD cfbit CSMR{__NS},3 ; Supervisor Data Address Space MaskUC cfbit CSMR{__NS},2 ; User Code Address Space MaskUD cfbit CSMR{__NS},1 ; User Data Address Space MaskV cfbit CSMR{__NS},0 ; ValidCSCR{__NS} equ MBAR_CS+(__N*12)+8 ; Chip-Select Control Register (16b)WS cffield CSCR{__NS},10,4 ; Wait StatesAA cfbit CSCR{__NS},8 ; Auto-Acknowledge EnablePS cffield CSCR{__NS},6,2 ; Port SizeBEM cfbit CSCR{__NS},5 ; Bus Master EmableBSTR cfbit CSCR{__NS},4 ; Burst-Read EnableBSTW cfbit CSCR{__NS},3 ; Burst-Write Enable__N set __N+1endm;----------------------------------------------------------------------------; DRAM Controller (like 5307)MBAR_DRAM equ MBAR+$100DCR equ MBAR_DRAM+0 ; DRAM Control Register (16b)SO cfbit DCR,15 ; Synchronous OperationNAM cfbit DCR,13 ; No Address MultiplexingRRA cffield DCR,11,2 ; Refresh /RAS AssertedRRP cffield DCR,9,2 ; Refresh /RAS PrechargeRC cffield DCR,0,9 ; Refresh Count__defsdcs macro N,AddrDACR{N} equ Addr+0 ; Address and Control Register (32b)BA cffield DACR{N},18,14 ; Base AddressRE cfbit DACR{N},15 ; Refresh EnableCAS cffield DACR{N},12,2 ; /CAS TimingRP cfbit DACR{N},10,2 ; /RAS Precharge TimingRNCN cffield DACR{N},9 ; /RAS-Negate-to-/CAS-NegateRCD cfbit DACR{N},8 ; /RAS-to-/CAS DelayEDO cfbit DACR{N},6 ; Extended Data OutPS cffield DACR{N},4,2 ; Port SizePM cffield DACR{N},2,2 ; Page Mode (32b)DMR{N} equ Addr+4 ; Mask RegisterBAM cffield DMR{N},18,14 ; Base Address MaskWP cfbit DMR{N},8 ; Write ProtectCI cfbit DMR{N},6 ; CPU Space/Interrupt AcknowledgeAM cfbit DMR{N},5 ; Alternate MasterSC cfbit DMR{N},4 ; Supervisor CodeSD cfbit DMR{N},3 ; Supervisor DataUC cfbit DMR{N},2 ; User CodeUD cfbit DMR{N},1 ; User DataV cfbit DMR{N},0 ; Validendm__defsdcs "0",MBAR_DRAM+8__defsdcs "1",MBAR_DRAM+16;----------------------------------------------------------------------------; DMA Controller (like 5307)MBAR_DMA equ MBAR+$300__N set 0rept 4__decstr __NS,__NSAR{__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 TransferEEXT cfbit DCR{__NS},30 ; Enable External RequestCS cfbit DCR{__NS},29 ; Cycle StealAA cfbit DCR{__NS},28 ; Auto-AlignBWC cffield DCR{__NS},25,3 ; Bandwidth ControlSAA cfbit DCR{__NS},24 ; Single-Address AccessS_RW cfbit DCR{__NS},23 ; Single-Address Access Read/Write ValueSINC cfbit DCR{__NS},22 ; Source IncrementSSIZE cffield DCR{__NS},20,2 ; Source SizeDINC cfbit DCR{__NS},19 ; Destination IncrementDSIZE cffield DCR{__NS},17,2 ; Destination SizeSTART cfbit DCR{__NS},16 ; Start TransferAT cfbit DCR{__NS},15 ; DMA Acknowledge TypeBCR{__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 ErrorBES cfbit DSR{__NS},5 ; Bus Error on SourceBED cfbit DSR{__NS},4 ; Bus Error on DestinationREQ cfbit DSR{__NS},2 ; RequestBSY cfbit DSR{__NS},1 ; BusyDONE cfbit DSR{__NS},0 ; Transactions DoneDIVR{__NS} equ MBAR_DMA+(__N*64)+20 ; Interrupt Vector Register (8b)__N set __N+1endm;----------------------------------------------------------------------------; Timerinclude "52xxtmr.inc"__deftimer "0",MBAR+$140__deftimer "1",MBAR+$180;----------------------------------------------------------------------------; UARTsinclude "53xxuart.inc"__defuart "0",MBAR+$140__defuart "1",MBAR+$200RXLVL equ UMR11+1 ; Rx FIFO threshold register (8b) (UART1 only)MODCTL equ UMR11+2 ; Modem control register (8b) (UART1 only)ACRB cfbit MODCTL,7 ; AC `97 cold resetAWR cfbit MODCTL,6 ; AC `97 warm resetDSL cffield MODCTL,4,2 ; Channel select for DMA channels 2 and 3.DTS1 cfbit MODCTL,3 ; Delay of time slot 1.SHDIR cfbit MODCTL,2 ; Shift direction.MODE cffield MODCTL,0,2 ; Mode select for UART1.TXLXL equ UMR11+3 ; Tx FIFO threshold register (8b) (UART1 only)RSMP equ USR1+2 ; Rx samples available (8b) (UART1 only)TSPC equ USR1+3 ; Tx space available (8b) (UART1 only);----------------------------------------------------------------------------; Parallel PortPADDR equ MBAR+$244 ; Port A Data Direction Register (16b)PADAT equ MBAR+$248 ; Port A Data Register (16b);----------------------------------------------------------------------------restore ; re-enable listingendif ; __mcf5407inc