Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __mcf52277inc ; avoid multiple inclusion
__mcf52277inc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File MCF52277.INC *
;* *
;* Contains SFR and Bit Definitions for ColdFire MCF52274/52277 *
;* *
;****************************************************************************
MBAR equ $fc000000
;----------------------------------------------------------------------------
; Clock Module
MBAR_CLK equ MBAR+$9000
PCR equ MBAR_CLK+0 ; PLL Control Register (32b)
PFDR cffield PCR,24,8 ; Feedback Divider for Setting the VCO Frequency
OUTDIV5 cffield PCR,16,4 ; Output Divider for Generating the USB Clock Frequency
OUTDIV3 cffield PCR,8,4 ; Output Divider for Generating the SDRAM Clock Frequency
OUTDIV2 cffield PCR,4,4 ; Output Divider for Generating the Internal Bus Clock Frequency
OUTDIV1 cffield PCR,0,4 ; Output Divider for Generating the CPU clock Frequency
PSR equ MBAR_CLK+4 ; PLL Status Register (32b)
LOLRE cfbit PSR,3 ; PLL Loss of Lock Reset Enable
LOLIRQ cfbit PSR,2 ; PLL Loss-of-Lock Interrupt Enable
LOCK cfbit PSR,1 ; PLL Lock Status
LOCKS cfbit PSR,0 ; PLL Lost Lock
;----------------------------------------------------------------------------
; Power Management
WCR equ MBAR+$40013 ; Wakeup Control Register (8b)
ENBWCR cfbit WCR,7 ; Enable low-Power Mode Entry
LPMD cffield WCR,4,2 ; Low-Power Mode Select
PRILVL cffield WCR,0,3 ; Exit Low-Power Mode Interrupt Priority Level
PPMSR equ MBAR+$4002c ; Peripheral Power Management Set Register (8b)
SAMCD cfbit PPMSR,6 ; Set all module clock disables
SMCD cffield PPMSR,0,6 ; Set module clock disable
PPMCR equ MBAR+$4002d ; Peripheral Power Management Clear Register (8b)
CAMCD cfbit PPMCR,6 ; Clear all module clock disables
CMCD cffield PPMCR,0,6 ; Clear module clock disable
PPMHR equ MBAR+$40030 ; Peripheral Power Management High Register (32b)
CD48 cfbit PPMHR,16 ; PLL
CD47 cfbit PPMHR,15 ; SSI
CD46 cfbit PPMHR,14 ; SDRAM Controller
CD44 cfbit PPMHR,12 ; USB On-the GO
CD43 cfbit PPMHR,11 ; LCD Controller
CD42 cfbit PPMHR,10 ; Touchscreen Controller
CD41 cfbit PPMHR,9 ; GPIO Module
CD40 cfbit PPMHR,8 ; CCM, Reset Controller, Power Management
CD37 cfbit PPMHR,5 ; Edge Port
CD36 cfbit PPMHR,4 ; PWM
CD33 cfbit PPMHR,1 ; PIT 1
CD32 cfbit PPMHR,0 ; PIT 0
PPMLR equ MBAR+$40034 ; Peripheral Power Management Low Register (32b)
CD31 cfbit PPMLR,31 ; DMA Timer 3
CD30 cfbit PPMLR,30 ; DMA Timer 2
CD29 cfbit PPMLR,29 ; DMA Timer 1
CD28 cfbit PPMLR,28 ; DMA Timer 0
CD26 cfbit PPMLR,26 ; UART2
CD25 cfbit PPMLR,25 ; UART1
CD24 cfbit PPMLR,24 ; UART0
CD23 cfbit PPMLR,23 ; DSPI
CD22 cfbit PPMLR,22 ; I2C
CD21 cfbit PPMLR,21 ; IACK
CD19 cfbit PPMLR,19 ; Interrupt Controller 1
CD18 cfbit PPMLR,18 ; Interrupt Controller 0
CD17 cfbit PPMLR,17 ; eDMA Controller
CD15 cfbit PPMLR,15 ; Real-Time Clock
CD8 cfbit PPMLR,12 ; FlexCAN
CD2 cfbit PPMLR,2 ; FlexBus
CDG cfbit PPMLR,1 ; Global Space
LPCR equ MBAR+$a0007 ; Low-Power Control Register (8b)
FWKUP cfbit LPCR,5 ; Fast Wake-Up
STPMD cffield LPCR,3,2 ; FB_CLK stop mode bits
MISCCR equ MBAR+$a0010 ; Miscellaneous Control Register (16b)
RTCSRC cfbit MISCCR,14 ; RTC Clock Source
USBPUE cfbit MISCCR,13 ; USB transceiver pull-up enable.
LIMP cfbit MISCCR,12 ; Limp mode enable.
BME cfbit MISCCR,11 ; Bus monitor external enable bit.
BMT cffield MISCCR,8,3 ; Bus monitor timing field.
SSIPUE cfbit MISCCR,7 ; SSI RXD/TXD pull enable.
SSIPUS cfbit MISCCR,6 ; SSI RXD/TXD pull select.
TIMDMA cfbit MISCCR,5 ; Timer DMA mux selection.
SSISRC cfbit MISCCR,4 ; SSI clock source.
LCDCHEN cfbit MISCCR,2 ; LCD internal clock enable.
USBOC cfbit MISCCR,1 ; USB VBUS over-current sense polarity.
USBSRC cfbit MISCCR,0 ; USB clock source.
CDR equ MBAR+$a0012 ; Clock Divider Register (16b)
LPDIV cffield CDR,8,4 ; Low power clock divider.
SSIDIV cffield CDR,0,8 ; SSI oversampling clock divider.
;----------------------------------------------------------------------------
; Chip Configuration
MBAR_CC equ MBAR+$a0000
CCR equ MBAR_CC+$4 ; Chip Configuration Register (16b)
DRAMSEL cfbit CCR,8 ; FlexBus/SDRAM data pin configuration.
CSC cffield CCR,6,2 ; Chip select configuration.
LIMP cfbit CCR,5 ; Limp mode bit.
LOAD cfbit CCR,4 ; Pad driver load bit.
BOOTPS cffield CCR,2,2 ; Boot port size field.
OSCMODE cfbit CCR,1 ; Oscillator clock mode bit.
RCON equ MBAR_CC+$8 ; Reset Configuration Register (16b)
CSC cffield RCON,6,2 ; Chip select configuration.
LIMP cfbit RCON,5 ; Limp mode bit.
LOAD cfbit RCON,4 ; Pad driver load bit.
BOOTPS cffield RCON,2,2 ; Boot port size field.
OSCMODE cfbit RCON,1 ; Oscillator clock mode bit.
CIR equ MBAR_CC+$a ; Chip Identification Register (16b)
PIN cffield CIR,4,12 ; Part identification number.
PRN cffield CIR,0,4 ; Part revision number.
UOCSR equ MBAR_CC+$14 ; USB On-the-Go Controller Status Register (16b)
DPPD cfbit UOCSR,13 ; D+ 15 kOhm pull-down.
DMPD cfbit UOCSR,12 ; D- 15 kOhm pull-down.
CRG_VBUS cfbit UOCSR,10 ; Charge VBUS.
DCR_VBUS cfbit UOCSR,9 ; Discharge VBUS.
DPPU cfbit UOCSR,8 ; D+ pull-up.
AVLD cfbit UOCSR,7 ; A-peripheral is valid.
BVLD cfbit UOCSR,6 ; B-peripheral is valid.
VVLD cfbit UOCSR,5 ; VBUS valid.
SEND cfbit UOCSR,4 ; Session end.
WKUP cfbit UOCSR,2 ; USB OTG controller wake-up event.
UOMIE cfbit UOCSR,1 ; USB OTG miscellaneous interrupt enable.
XPDE cfbit UOCSR,0 ; On-chip transceiver pull-down enable.
;----------------------------------------------------------------------------
; Serial Boot Facility
SBFSR equ MBAR_CC+$18 ; Serial Boot Facility Status Register (16b)
BLL cffield SBFSR,0,16 ; Boot load length.
SBFCR equ MBAR_CC+$1a ; Serial Boot Facility Control Register (16b)
FR cfbit SBFCR,4 ; Fast read.
BLDIV cffield SBFCR,0,4 ; Boot loader clock divider.
;----------------------------------------------------------------------------
; Reset Controller
RCR equ MBAR_CC+0 ; Reset Control Register (8b)
SOFTRST cfbit RCR,7 ; Allows software to request a reset.
FRCRSTOUT cfbit RCR,6 ; Allows software to assert or negate the external /RSTOUT pin.
RSR equ MBAR_CC+1 ; Reset Status Register (8b)
SOFT cfbit RSR,5 ; Software reset flag.
POR cfbit RSR,3 ; Power-on reset flag.
EXT cfbit RSR,2 ; External reset flag.
WDRCORE cfbit RSR,1 ; Core watchdog timer reset flag.
LOL cfbit RSR,0 ; Loss-of-lock reset flag.
;----------------------------------------------------------------------------
; System Control Module
MBAR_SCM equ MBAR+$0
__defmprot macro {INTLABEL},Reg,Start
__LABEL__.MTR cfbit Reg,Start+2 ; Trusted For Read
__LABEL__.MTW cfbit Reg,Start+1 ; Trusted For Writes
__LABEL__.MPL cfbit Reg,Start+0 ; Privilege Level
endm
MPR equ MBAR+$00 ; Master Privilege Register (32b)
MPROT0 __defmprot MPR,28 ; ColdFire Core
MPROT1 __defmprot MPR,24 ; eDMA Controller
MPROT4 __defmprot MPR,12 ; LCD Controller
MPROT6 __defmprot MPR,4 ; USB On-the-Go
MPROT7 __defmprot MPR,0 ; Serial Boot
__defpacr macro {INTLABEL},Reg,Start
__LABEL__.SP cfbit Reg,Start+2 ; Supervisor protect.
__LABEL__.WP cfbit Reg,Start+1 ; Write protect.
__LABEL__.TP cfbit Reg,Start+0 ; Trusted protect.
endm
PACRA equ MBAR+$20 ; Peripheral Access Control Register A (32b)
PACR0 __defpacr PACRA,28 ; SCM (MPR & PACRs)
PACR1 __defpacr PACRA,24 ; Crossbar switch
PACR2 __defpacr PACRA,20 ; FlexBus
PACRB equ MBAR+$24 ; Peripheral Access Control Register B (32b)
PACR8 __defpacr PACRB,28 ; FlexCAN
PACR15 __defpacr PACRB,0 ; Real-Time Clock
PACRC equ MBAR+$28 ; Peripheral Access Control Register C (32b)
PACR16 __defpacr PACRC,28 ; SCM (CWT & Core Fault Registers)
PACR17 __defpacr PACRC,24 ; eDMA Controller
PACR18 __defpacr PACRC,20 ; Interrupt Controller 0
PACR19 __defpacr PACRC,16 ; Interrupt Controller 1
PACR21 __defpacr PACRC,8 ; Interrupt Controller IACK
PACR22 __defpacr PACRC,4 ; I2C
PACR23 __defpacr PACRC,0 ; DSPi
PACRD equ MBAR+$2C ; Peripheral Access Control Register D (32b)
PACR24 __defpacr PACRD,28 ; UART0
PACR25 __defpacr PACRD,24 ; UART1
PACR26 __defpacr PACRD,20 ; UART2
PACR28 __defpacr PACRD,12 ; DMA Timer 0
PACR29 __defpacr PACRD,8 ; DMA Timer 1
PACR30 __defpacr PACRD,4 ; DMA Timer 2
PACR31 __defpacr PACRD,0 ; DMA Timer 3
PACRE equ MBAR+$40 ; Peripheral Access Control Register E (32b)
PACR32 __defpacr PACRE,28 ; PIT 0
PACR33 __defpacr PACRE,24 ; PIT 1
PACR36 __defpacr PACRE,12 ; PWM
PACR37 __defpacr PACRE,8 ; Edge Port
PACRF equ MBAR+$44 ; Peripheral Access Control Register F (32b)
PACR40 __defpacr PACRF,28 ; CCM, Reset Controller, Power Management
PACR41 __defpacr PACRF,24 ; GPIO Module
PACR42 __defpacr PACRF,20 ; Touchscreen Controller
PACR43 __defpacr PACRF,16 ; LCD Controller
PACR44 __defpacr PACRF,12 ; USB On-the-Go
PACR46 __defpacr PACRF,4 ; SDRAM Controller
PACR47 __defpacr PACRF,0 ; SSI
PACRG equ MBAR+$48 ; Peripheral Access Control Register G (32b)
PACR48 __defpacr PACRG,28 ; PLL
PACRI equ MBAR+$50 ; Peripheral Access Control Register I (32b)
PACR64 __defpacr PACRI,28 ; Global Space 1
PACR65 __defpacr PACRI,24 ; Global Space 2
CWCR equ MBAR_SCM+$40016 ; Core Watchdog Control Register (16b)
RO cfbit CWCR,15 ; Read-only control bit.
CWCIN16 cfbit CWCR,9 ; Force CWT carry in 16.
CWRWH cfbit CWCR,8 ; Core watchdog run while halted.
CWE cfbit CWCR,7 ; Core watchdog timer enable.
CWRI cffield CWCR,5,2 ; Core watchdog reset/interrupt.
CWT cffield CWCR,0,5 ; Core watchdog time-out period.
CWSR equ MBAR_SCM+$4001B ; Core Watchdog Service Register (8b)
SCMISR equ MBAR_SCM+$4001F ; SCM Interrupt Status Register (8b)
CFEI cfbit SCMISR,1 ; Core fault error interrupt flag.
CWIC cfbit SCMISR,0 ; Core watchdog interrupt flag.
BCR equ MBAR_SCM+$40024 ; Burst Configuration Register (32b)
GBR cfbit BCR,10 ; Global burst enable for reads.
GBW cfbit BCR,9 ; Global burst enable for writes.
SBE cffield BCR,0,8 ; Slave burst enable
CFADR equ MBAR_SCM+$40070 ; Core Fault Address Register (32b)
CFIER equ MBAR_SCM+$40075 ; Core Fault Interrupt Enable Register (8b)
ECFEI cfbit CFIER,0 ; Enable core fault error interrupt.
CFLOC equ MBAR_SCM+$40076 ; Core Fault Location Register (8b)
LOC cfbit CFLOC,7 ; The location of the last captured fault.
CFATR equ MBAR_SCM+$40077 ; Core Fault Attributes Register (8b)
WRITE cfbit CFATR,7 ; Indicates the direction of the last faulted core access.
SIZE cffield CFATR,4,3 ; Indicates the size of the last faulted core access.
MODE cfbit CFATR,1 ; Indicates the mode the device was in during the last faulted core access.
TYPE cfbit CFATR,0 ; Defines the type of last faulted core access.
CFDTR equ MBAR_SCM+$4007C ; Core Fault Data Register (32b)
;----------------------------------------------------------------------------
; Crossbar Switch
MBAR_XBS equ MBAR+$4000
__defxbs macro n,Base
XBS_PRS{n} equ Base+$00 ; Priority Register (32b)
M7 cffield XBS_PRS{n},28,3 ; Master 7 (Serial Boot) Priority
M6 cffield XBS_PRS{n},24,3 ; Master 6 (USB OTG) Priority
M4 cffield XBS_PRS{n},16,3 ; Master 4 (LCD Controller) Priority
M1 cffield XBS_PRS{n},4,3 ; Master 1 (eDMA) Priority
M0 cffield XBS_PRS{n},0,3 ; Master 0 (ColdFire core) Priority
XBS_CRS{n} equ Base+$10 ; Control Register (32b)
RO cfbit XBS_CRS{n},31 ; Read Only
ARB cfbit XBS_CRS{n},8 ; Arbitration Mode
PCTL cffield XBS_CRS{n},4,2 ; Parking Control
PARK cffield XBS_CRS{n},0,3 ; Park
endm
__defxbs "1",MBAR_XBS+$100
__defxbs "4",MBAR_XBS+$400
__defxbs "7",MBAR_XBS+$700
;----------------------------------------------------------------------------
; GPIO Module
MBAR_GPIO equ MBAR+$a4000
; Port Output Data Registers
PODR_BE equ MBAR_GPIO+$000 ; Byte Enable Output Data Register (8b)
PODR_CS equ MBAR_GPIO+$001 ; Chip Select Output Data Register (8b)
PODR_FBCTL equ MBAR_GPIO+$002 ; FlexBus Output Data Register (8b)
PODR_I2C equ MBAR_GPIO+$003 ; I2C Output Data Register (8b)
PODR_UART equ MBAR_GPIO+$005 ; UART Output Data Register (8b)
PODR_DSPI equ MBAR_GPIO+$006 ; DSPI Output Data Register (8b)
PODR_TIMER equ MBAR_GPIO+$007 ; Timer Output Data Register (8b)
PODR_LCDCTL equ MBAR_GPIO+$008 ; LCD Controller Output Data Register (8b)
PODR_LCDDATAH equ MBAR_GPIO+$009 ; LCD Controller Data High Output Data Register (8b)
PODR_LCDDATAM equ MBAR_GPIO+$00a ; LCD Controller Data Mid Output Data Register (8b)
PODR_LCDDATAL equ MBAR_GPIO+$00b ; LCD Controller Data Low Output Data Register (8b)
; Port Data Direction Registers
PDDR_BE equ MBAR_GPIO+$00c ; Byte Enable Data Direction Register (8b)
PDDR_CS equ MBAR_GPIO+$00d ; Chip Select Data Direction Register (8b)
PDDR_FBCTL equ MBAR_GPIO+$00e ; FlexBus Data Direction Register (8b)
PDDR_I2C equ MBAR_GPIO+$00f ; I2C Data Direction Register (8b)
PDDR_UART equ MBAR_GPIO+$011 ; UART Data Direction Register (8b)
PDDR_DSPI equ MBAR_GPIO+$012 ; DSPI Data Direction Register (8b)
PDDR_TIMER equ MBAR_GPIO+$013 ; Timer Data Direction Register (8b)
PDDR_LCDCTL equ MBAR_GPIO+$014 ; LCD Controller Data Direction Register (8b)
PDDR_LCDDATAH equ MBAR_GPIO+$015 ; LCD Controller Data High Data Direction Register (8b)
PDDR_LCDDATAM equ MBAR_GPIO+$016 ; LCD Controller Data Mid Output Data Register (8b)
PDDR_LCDDATAL equ MBAR_GPIO+$017 ; LCD Controller Data Low Data Direction Register (8b)
; Port Pin Data/Set Data Registers
PPDSDR_BE equ MBAR_GPIO+$018 ; Byte Enable Data Set Register (8b)
PPDSDR_CS equ MBAR_GPIO+$019 ; Chip Select Data Set Register (8b)
PPDSDR_FBCTL equ MBAR_GPIO+$01a ; FlexBus Data Set Register (8b)
PPDSDR_I2C equ MBAR_GPIO+$01b ; I2C Data Set Register (8b)
PPDSDR_UART equ MBAR_GPIO+$01d ; UART Data Set Register (8b)
PPDSDR_DSPI equ MBAR_GPIO+$01e ; DSPI Data Set Register (8b)
PPDSDR_TIMER equ MBAR_GPIO+$01f ; Timer Data Set Register (8b)
PPDSDR_LCDCTL equ MBAR_GPIO+$020 ; LCD Controller Data Set Register (8b)
PPDSDR_LCDDATAH equ MBAR_GPIO+$021 ; LCD Controller Data High Data Direction Register (8b)
PPDSDR_LCDDATAM equ MBAR_GPIO+$022 ; LCD Controller Data Mid Output Data Register (8b)
PPDSDR_LCDDATAL equ MBAR_GPIO+$023 ; LCD Controller Data Low Data Direction Register (8b)
; Port Clear Output Data Registers
PCLRR_BE equ MBAR_GPIO+$024 ; Byte Enable Data Clear Register (8b)
PCLRR_CS equ MBAR_GPIO+$025 ; Chip Select Data Clear Register (8b)
PCLRR_FBCTL equ MBAR_GPIO+$026 ; FlexBus Data Clear Register (8b)
PCLRR_I2C equ MBAR_GPIO+$027 ; I2C Data Clear Register (8b)
PCLRR_UART equ MBAR_GPIO+$029 ; UART Data Clear Register (8b)
PCLRR_DSPI equ MBAR_GPIO+$02a ; DSPI Data Clear Register (8b)
PCLRR_TIMER equ MBAR_GPIO+$02b ; Timer Data Clear Register (8b)
PCLRR_LCDCTL equ MBAR_GPIO+$02c ; LCD Controller Data Clear Register (8b)
PCLRR_LCDDATAH equ MBAR_GPIO+$02d ; LCD Controller Data High Data Clear Register (8b)
PCLRR_LCDDATAM equ MBAR_GPIO+$02e ; LCD Controller Data Mid Output Data Register (8b)
PCLRR_LCDDATAL equ MBAR_GPIO+$02f ; LCD Controller Data Low Data Clear Register (8b)
; Pin Assignment Registers
PAR_BE equ MBAR_GPIO+$030 ; Byte Enable Pin Assignment Register (8b)
PAR_BE3 cfbit PAR_BE,3 ; /FB_BE3 pin assignment.
PAR_BE2 cfbit PAR_BE,2 ; /FB_BE2 pin assignment.
PAR_BE1 cfbit PAR_BE,1 ; /FB_BE1 pin assignment.
PAR_BE0 cfbit PAR_BE,0 ; /FB_BE0 pin assignment.
PAR_CS equ MBAR_GPIO+$031 ; Chip Select Pin Assignment Register (8b)
PAR_CS3 cfbit PAR_CS,4 ; /FB_CS3 pin assignment.
PAR_CS2 cfbit PAR_CS,3 ; /FB_CS2 pin assignment.
PAR_CS1 cffield PAR_CS,1,2 ; /FB_CS1 pin assignment.
PAR_CS0 cfbit PAR_CS,0 ; /FB_CS0 pin assignment.
PAR_FBCTL equ MBAR_GPIO+$032 ; FlexBus Pin Assignment Register (8b)
PAR_OE cfbit PAR_FBCTL,7 ; /FB_OE pin assignment.
PAR_TA cfbit PAR_FBCTL,6 ; /FB_TA pin assignment.
PAR_RWB cfbit PAR_FBCTL,5 ; /FB_R/W pin assignment.
PAR_TS cffield PAR_FBCTL,3,2 ; /FB_TS pin assignment.
PAR_I2C equ MBAR_GPIO+$033 ; I2C Pin Assignment Register (8b)
PAR_SCL cffield PAR_I2C,2,2 ; I2C_SCL pin assignment.
PAR_SDA cffield PAR_I2C,0,2 ; I2C_SDA pin assignment.
PAR_UART equ MBAR_GPIO+$034 ; UART Pin Assignment Register (16b)
PAR_U1CTS cffield PAR_UART,14,2 ; UART1 CTS pin assignment.
PAR_U1RTS cffield PAR_UART,12,2 ; UART1 RTS pin assignment.
PAR_U1RXD cffield PAR_UART,10,2 ; UART1 RxD pin assignment.
PAR_U1TXD cffield PAR_UART,8,2 ; UART1 TxD pin assignment.
PAR_U0CTS cffield PAR_UART,6,2 ; UART0 CTS pin assignment.
PAR_U0RTS cffield PAR_UART,4,2 ; UART0 RTS pin assignment.
PAR_U0RXD cffield PAR_UART,2,2 ; UART0 RxD pin assignment.
PAR_U0TXD cffield PAR_UART,0,2 ; UART0 TxD pin assignment.
PAR_DSPI equ MBAR_GPIO+$036 ; DSPI Pin Assignment Register (8b)
PAR_PCS0 cffield PAR_DSPI,6,2 ; DSPI PCS0 pin assignment.
PAR_SIN cffield PAR_DSPI,4,2 ; DSPI SIN pin assignment.
PAR_SOUT cffield PAR_DSPI,2,2 ; DSPI SOUT pin assignment.
PAR_SCK cffield PAR_DSPI,0,2 ; DSPI SCK pin assignment.
PAR_TIMER equ MBAR_GPIO+$037 ; Timer Pin Assignment Register (8b)
PAR_T3IN cffield PAR_TIMER,6,2 ; Timer 3 In pin assignment.
PAR_T2IN cffield PAR_TIMER,4,2 ; Timer 2 In pin assignment.
PAR_T1IN cffield PAR_TIMER,2,2 ; Timer 1 In pin assignment.
PAR_T0IN cffield PAR_TIMER,0,2 ; Timer 0 In pin assignment.
PAR_LCDCTL equ MBAR_GPIO+$038 ; LCD Controller Pin Assignment Register (8b)
PAR_ACD_OE cffield PAR_LCDCTL,3,2 ; LCD_ACD/OE pin assignment.
PAR_FLM_VSYNC cfbit PAR_LCDCTL,2 ; LCD_FLM/VSYNC pin assignment.
PAR_LP_HSYNC cfbit PAR_LCDCTL,1 ; LCD_LP/HSYNC pin assignment.
PAR_LSCLK cfbit PAR_LCDCTL,0 ; LCD_LSCLK pin assignment.
PAR_IRQ equ MBAR_GPIO+$039 ; IRQ Pin Assignment Register (8b)
PAR_IRQ4 cffield PAR_IRQ,2,2 ; /IRQ4 pin assignment.
PAR_IRQ1 cffield PAR_IRQ,0,2 ; /IRQ1 pin assignment.
PAR_LCDH equ MBAR_GPIO+$03c ; LCD Controller Data High Pin Assignment Register (32b)
PAR_LD17 cffield PAR_LCDH,10 ; LD17 pin assignment.
PAR_LD16 cffield PAR_LCDH,8 ; LD16 pin assignment.
PAR_LD15 cffield PAR_LCDH,6 ; LD15 pin assignment.
PAR_LD14 cffield PAR_LCDH,4 ; LD14 pin assignment.
PAR_LD13 cffield PAR_LCDH,2 ; LD13 pin assignment.
PAR_LD12 cffield PAR_LCDH,0 ; LD12 pin assignment.
PAR_LCDL equ MBAR_GPIO+$040 ; LCD Controller Data Low Pin Assignment Register (32b)
PAR_LD11 cffield PAR_LCDL,30 ; LD11 pin assignment.
PAR_LD10 cffield PAR_LCDL,28 ; LD10 pin assignment.
PAR_LD9 cffield PAR_LCDL,26 ; LD9 pin assignment.
PAR_LD8 cffield PAR_LCDL,24 ; LD8 pin assignment.
PAR_LD7 cffield PAR_LCDL,22 ; LD7 pin assignment.
PAR_LD6 cffield PAR_LCDL,20 ; LD6 pin assignment.
PAR_LD5 cffield PAR_LCDL,18 ; LD5 pin assignment.
PAR_LD4 cffield PAR_LCDL,16 ; LD4 pin assignment.
PAR_LD3 cffield PAR_LCDL,14 ; LD3 pin assignment.
PAR_LD2 cffield PAR_LCDL,12 ; LD2 pin assignment.
PAR_LD1 cffield PAR_LCDL,10 ; LD1 pin assignment.
PAR_LD0 cffield PAR_LCDL,8 ; LD0 pin assignment.
; Mode Select Control Registers
MSCR_FLEXBUS equ MBAR_GPIO+$044 ; FlexBus Mode Select Control Register (8b)
MSCR_DUPPER cffield MSCR_FLEXBUS,4,2; FB_D[31:16] Mode Select Control
MSCR_DLOWER cffield MSCR_FLEXBUS,2,2; FB_D[15:0] Mode Select Control
MSCR_ADDRCTL cffield MSCR_FLEXBUS,0,2; FB_A[23:0], BE/BWE[3:0], OE, R/W, FB_CS[5:0], TA, and TS Mode Select Control
MSCR_SDRAM equ MBAR_GPIO+$045 ; SDRAM Mode Select Control Register (8b)
MSCR_SDCLKB cffield MSCR_SDRAM,4,2 ; SD_CLK Mode Select Control
MSCR_SDCLK cffield MSCR_SDRAM,2,2 ; SD_CLK Mode Select Control
MSCR_SDRAM cffield MSCR_SDRAM,0,2 ; SD_A10, SD_CAS, SD_CKE, SD_CS0, SD_DQS[3:2], SD_RAS, SD_SDRDQS, SD_WE Mode Select Control
; Drive Strength Control Registers
DSCR_DSPI equ MBAR_GPIO+$048 ; DSPI Drive Strength Register (8b)
DSE_DSPI cffield DSCR_DSPI,0,2
DSCR_TIMER equ MBAR_GPIO+$049 ; Timer Drive Strength Register (8b)
DSE_TIMER cffield DSCR_TIMER,0,2
DSCR_I2C equ MBAR_GPIO+$04a ; I2C Drive Strength Register (8b)
DSE_I2C cffield DSCR_I2C,0,2
DSCR_LCD equ MBAR_GPIO+$04b ; LCD Controller Drive Strength Register (8b)
DSE_LCD cffield DSCR_LCD,0,2
DSCR_DEBUG equ MBAR_GPIO+$04c ; Debug Drive Strength Register (8b)
DSE_DEBUG cffield DSCR_DEBUG,0,2
DSCR_CLKRST equ MBAR_GPIO+$04d ; Clock/Reset Drive Strength Register (8b)
DSE_RSTOUT cffield DSCR_CLKRST,2,2
DSE_FBCLK cffield DSCR_CLKRST,0,2
DSCR_IRQ equ MBAR_GPIO+$04e ; IRQ Pins Drive Strength Register (8b)
DSE_IRQ cffield DSCR_IRQ,0,2
DSCR_UART equ MBAR_GPIO+$04f ; UART Drive Strength Register (8b)
DSE_UART1 cffield DSCR_UART,2,2
DSE_UART0 cffield DSCR_UART,0,2
;----------------------------------------------------------------------------
; Interrupt Controllers
MBAR_INTC0 equ MBAR+$48000
MBAR_INTC1 equ MBAR+$4c000
MBAR_INTC equ MBAR+$54000
include "52xxintc.inc"
;----------------------------------------------------------------------------
; Edge Port Module
MBAR_EPORT equ MBAR+$94000
include "52xxeport.inc"
;----------------------------------------------------------------------------
; Enhanced DMA Controller
MBAR_EDMA equ MBAR+$44000
include "52xxedma.inc"
;----------------------------------------------------------------------------
; FlexBus
MBAR_FBUS equ MBAR+$8000
include "52xxfbus.inc"
;----------------------------------------------------------------------------
; SDRAM Controller
MBAR_SDRAM equ MBAR+$b8000
include "52xxdram.inc"
;----------------------------------------------------------------------------
; USB On-the-Go
include "52xxusb.inc"
MBAR_OTG equ MBAR+$b0000
__defusb "",MBAR_OTG
;----------------------------------------------------------------------------
; LCD Controller
MBAR_LCDC equ $ac000
include "52xxlcdc.inc"
;----------------------------------------------------------------------------
; Touchscreen Controller
MBAR_ASP equ MBAR+$a8000
ASP_CR equ MBAR_ASP+$000 ; ASP Control Register (32b)
ASPE cfbit ASP_CR,31 ; ASP conversion enable.
DOZE cfbit ASP_CR,23 ; Module Doze Enable.
PENE cfbit ASP_CR,20 ; Pen Detection Enable.
MDIS cfbit ASP_CR,19 ; Module Disable.
TSE cfbit ASP_CR,18 ; Touchscreen enable.
TSTYPE cffield ASP_CR,16,2 ; Touchscreen Type.
AZE cfbit ASP_CR,15 ; Auto-Zero Enable.
CALA cfbit ASP_CR,14 ; Calibration assist.
AUTO cfbit ASP_CR,10 ; Auto-round control.
MODE cffield ASP_CR,8,2 ; Auto-sampling mode.
APTN cffield ASP_CR,0,8 ; ASP sampling pattern.
ASP_SET equ MBAR_ASP+$004 ; ASP Sampling Setting Register (32b)
REFP cffield ASP_SET,28,3 ; Positive reference.
REFN cffield ASP_SET,24,3 ; Negative reference.
TRIMC cffield ASP_SET,16,8 ; Trim value for ADC.
INP cffield ASP_SET,12,3 ; Positive input.
SW cffield ASP_SET,0,9 ; Bias switch control.
ASP_TIM equ MBAR_ASP+$008 ; A/D Sampling Timing Register (32b)
RIDLECNT cffield ASP_TIM,16,16 ; Idle time setting between two rounds of measurements
MIDLECNT cffield ASP_TIM,8,8 ; Idle time setting between two successive measurements.
BIACNT cffield ASP_TIM,4,4 ; Bias phase count.
SPCNT cffield ASP_TIM,0,4 ; Sample pulse count.
ASP_ICR equ MBAR_ASP+$00C ; ASP Interrupt/DMA Control Register (32b)
FIFO_WM cffield ASP_ICR,16,6 ; FIFO watermark.
POVIE cfbit ASP_ICR,7 ; Pen FIFO overflow interrupt enable.
PUIE cfbit ASP_ICR,5 ; Pen-up interrupt enable.
PDIE cfbit ASP_ICR,4 ; Pen-down interrupt enable.
PFLDE cfbit ASP_ICR,3 ; Pen FIFO level DMA request enable.
PFLIE cfbit ASP_ICR,2 ; Pen FIFO level interrupt request enable.
PFFIE cfbit ASP_ICR,1 ; Pen FIFO full interrupt request enable.
PDRIE cfbit ASP_ICR,0 ; Pen data ready interrupt enable.
ASP_ISR equ MBAR_ASP+$010 ; ASP Interrupt Status Register (32b)
POVF cfbit ASP_ISR,7 ; Pen sample FIFO overflow flag.
PUF cfbit ASP_ISR,5 ; Pen up flag.
PDF cfbit ASP_ISR,4 ; Pen down flag.
PFLF cfbit ASP_ISR,2 ; Pen FIFO programmable level flag.
PFFF cfbit ASP_ISR,1 ; Pen FIFO full flag.
PDRF cfbit ASP_ISR,0 ; Pen data ready flag.
ASP_SFIFO equ MBAR_ASP+$014 ; ASP Sample FIFO (32b)
CHANID cffield ASP_SFIFO,12,4 ; Channel ID for corresponding sample data.
SAMPLE cffield ASP_SFIFO,0,12 ; Sample.
ASP_FIFOP equ MBAR_ASP+$018 ; ASP FIFO Pointer (32b)
FFRP cffield ASP_FIFOP,16,6 ; FIFO read pointer.
FFWP cffield ASP_FIFOP,0,6 ; FIFO write pointer.
ASP_CLKDIV equ MBAR_ASP+$01C ; ASP Clock Divider Register (32b)
CLKD cffield ASP_CLKDIV,0,7 ; ASP clock divider.
;----------------------------------------------------------------------------
; FlexCAN
MBAR_CAN equ MBAR+$20000
include "52xxcan.inc"
__N set 0
rept 16
__decstr __NS,__N
RXIMR{"\{__NS}"} equ MBAR_CAN+$880+(__N*4) ; Rx Individual Mask Registers (16*32b)
EXTID cffield RXIMR{"\{__NS}"},18,11 ; Extended ID mask bits.
STDID cffield RXIMR{"\{__NS}"},0,18 ; Standard ID mask bits.
__N set __N+1
endm
;----------------------------------------------------------------------------
; Pulse-Width Modulation Module
MBAR_PWM equ MBAR+$90000
include "52xxpwm.inc"
;----------------------------------------------------------------------------
; Synchronous Serial Interface
MBAR_SSI equ MBAR+$bc000
include "52xxssi.inc"
;----------------------------------------------------------------------------
; Real Time Clock
MBAR_RTC equ MBAR+$3c000
include "52xxrtc.inc"
RTC_GOCU equ MBAR_RTC+$034 ; RTC General Oscillator Clock Upper (32b)
CNT_UPPER cffield RTC_GOCU,0,16 ; Upper word of RTC_GOC[31:0]
RTC_GOCL equ MBAR_RTC+$038 ; RTC General Oscillator Clock Lower (32b)
CNT_LOWER cffield RTC_GOCL,0,16 ; Lower word of RTC_GOC[31:0]
;----------------------------------------------------------------------------
; Programmable Interrupt Timer
include "52xxpit.inc"
__defpit "0",MBAR+$80000
__defpit "1",MBAR+$84000
;----------------------------------------------------------------------------
; DMA Timer
include "52xxdtim.inc"
__defdtim "0",MBAR+$70000
__defdtim "1",MBAR+$74000
__defdtim "2",MBAR+$78000
__defdtim "3",MBAR+$7c000
;----------------------------------------------------------------------------
; DMA Serial Peripheral Interface
MBAR_DSPI equ MBAR+$5c000
DSPI_MCR equ MBAR_DSPI+$000 ; DSPI module configuration register (32b)
MSTR cfbit DSPI_MCR,31 ; Master/slave mode select.
CONT_SCKE cfbit DSPI_MCR,30 ; Continuous SCK enable.
DCONF cffield DSPI_MCR,28,2 ; DSPI configuration.
FRZ cfbit DSPI_MCR,27 ; Freeze.
MTFE cfbit DSPI_MCR,26 ; Modified timing format enable.
ROOE cfbit DSPI_MCR,24 ; Receive FIFO overflow overwrite enable.
PCSIS7 cfbit DSPI_MCR,23 ; Peripheral chip select inactive state n
PCSIS6 cfbit DSPI_MCR,22
PCSIS5 cfbit DSPI_MCR,21
PCSIS4 cfbit DSPI_MCR,20
PCSIS3 cfbit DSPI_MCR,19
PCSIS2 cfbit DSPI_MCR,18
PCSIS1 cfbit DSPI_MCR,17
PCSIS0 cfbit DSPI_MCR,16
MDIS cfbit DSPI_MCR,14 ; Module disable.
DIS_TXF cfbit DSPI_MCR,13 ; Disable transmit FIFO.
DIS_RXF cfbit DSPI_MCR,12 ; Disable receive FIFO.
CLR_TXF cfbit DSPI_MCR,11 ; Clear TX FIFO.
CLR_RXF cfbit DSPI_MCR,10 ; Clear RX FIFO.
SMPL_PT cffield DSPI_MCR,8,2 ; Sample point.
HALT cfbit DSPI_MCR,0 ; Halt.
DSPI_TCR equ MBAR_DSPI+$008 ; DSPI transfer count register (32b)
SPI_TCNT cffield DSPI_TCR,16,16 ; SPI transfer counter.
__N set 0
rept 8
__decstr __NS,__N
DSPI_CTAR{"\{__NS}"} equ MBAR_DSPI+$00C+(__N*4) ; DSPI clock and transfer attributes registers (8*32b)
DBR cfbit DSPI_CTAR{"\{__NS}"},31 ; Double baud rate.
FMSZ cffield DSPI_CTAR{"\{__NS}"},27,4 ; Frame size.
CPOL cfbit DSPI_CTAR{"\{__NS}"},26 ; Clock polarity.
CPHA cfbit DSPI_CTAR{"\{__NS}"},25 ; Clock phase.
LSBFE cfbit DSPI_CTAR{"\{__NS}"},24 ; LSB first enable.
PCSSCK cffield DSPI_CTAR{"\{__NS}"},22,2 ; PCS to SCK delay prescaler.
PASC cffield DSPI_CTAR{"\{__NS}"},20,2 ; After SCK delay prescaler.
PDT cffield DSPI_CTAR{"\{__NS}"},18,2 ; Delay after transfer prescaler.
PBR cffield DSPI_CTAR{"\{__NS}"},16,2 ; Baud rate prescaler.
CSSCK cffield DSPI_CTAR{"\{__NS}"},12,4 ; PCS to SCK delay scaler.
ASC cffield DSPI_CTAR{"\{__NS}"},8,4 ; After SCK delay scaler.
DT cffield DSPI_CTAR{"\{__NS}"},4,4 ; Delay after transfer scaler.
BR cffield DSPI_CTAR{"\{__NS}"},0,4 ; Baud rate scaler.
__N set __N+1
endm
DSPI_SR equ MBAR_DSPI+$02C ; DSPI status register (32b)
TCF cfbit DSPI_SR,31 ; Transfer complete flag.
TXRXS cfbit DSPI_SR,30 ; TX and RX status.
EOQF cfbit DSPI_SR,28 ; End of queue flag.
TFUF cfbit DSPI_SR,27 ; Transmit FIFO underflow flag.
TFFF cfbit DSPI_SR,25 ; Transmit FIFO fill flag.
RFOF cfbit DSPI_SR,19 ; Receive FIFO overflow flag.
RFDF cfbit DSPI_SR,17 ; Receive FIFO drain flag.
TXCTR cffield DSPI_SR,12,4 ; TX FIFO counter.
TXNXTPTR cffield DSPI_SR,8,4 ; Transmit next pointer.
RXCTR cffield DSPI_SR,4,4 ; RX FIFO counter.
POPNXTPTR cffield DSPI_SR,0,4 ; Pop next pointer.
DSPI_RSER equ MBAR_DSPI+$030 ; DSPI DMA/interrupt request select and enable register (32b)
TCF_RE cfbit DSPI_RSER,31 ; Transmission complete request enable.
EOQF_RE cfbit DSPI_RSER,28 ; DSPI finished request enable.
TFUF_RE cfbit DSPI_RSER,27 ; Transmit FIFO underflow request enable.
TFFF_RE cfbit DSPI_RSER,25 ; Transmit FIFO fill request enable.
TFFF_DIRS cfbit DSPI_RSER,24 ; Transmit FIFO fill DMA or interrupt request select.
RFOF_RE cfbit DSPI_RSER,19 ; Receive FIFO overflow request enable.
RFDF_RE cfbit DSPI_RSER,17 ; Receive FIFO drain request enable.
RFDF_DIRS cfbit DSPI_RSER,16 ; Receive FIFO drain DMA or interrupt request select.
DSPI_PUSHR equ MBAR_DSPI+$034 ; DSPI push TX FIFO register (32b)
CONT cfbit DSPI_PUSHR,31 ; Continuous peripheral chip select enable.
CTAS cffield DSPI_PUSHR,28,3 ; Clock and transfer attributes select.
EOQ cfbit DSPI_PUSHR,27 ; End of queue.
CTCNT cfbit DSPI_PUSHR,26 ; Clear SPI_TCNT.
PCS7 cfbit DSPI_PUSHR,23 ; Peripheral chip select n.
PCS6 cfbit DSPI_PUSHR,22
PCS5 cfbit DSPI_PUSHR,21
PCS4 cfbit DSPI_PUSHR,20
PCS3 cfbit DSPI_PUSHR,19
PCS2 cfbit DSPI_PUSHR,18
PCS1 cfbit DSPI_PUSHR,17
PCS0 cfbit DSPI_PUSHR,16
TXDATA cffield DSPI_PUSHR,0,16 ; Transmit Data
DSPI_POPR equ MBAR_DSPI+$038 ; DSPI pop RX FIFO register (32b)
RXDATA cffield DSPI_POPR,0,16 ; Received data.
__DSPI_TXRX macro
DSPI_TXFR{"\{__NS}"} equ MBAR_DSPI+$03C+(__N*4) ; DSPI transmit FIFO registers (32b)
TXCMD cffield DSPI_TXFR{"\{__NS}"},16,16 ; Transmit command.
TXDATA cffield DSPI_TXFR{"\{__NS}"},0,16 ; Transmit data.
DSPI_RXFR{"\{__NS}"} equ MBAR_DSPI+$07C+(__N*4) ; DSPI receive FIFO registers (32b)
RXDATA cffield DSPI_RXFR{"\{__NS}"},0,16 ; Receive data.
endm
__enumregs __DSPI_TXRX,0,15
;----------------------------------------------------------------------------
; UARTs
include "52xxuart.inc"
__defuart "0",MBAR+$60000
__defuart "1",MBAR+$64000
__defuart "2",MBAR+$68000
;----------------------------------------------------------------------------
; I2C
MBAR_I2C equ MBAR+$58000
include "52xxi2c.inc"
;----------------------------------------------------------------------------
restore ; re-enable listing
endif ; __mcf52277inc