1		ifndef	__52xxcaninc		; avoid multiple inclusion
2__52xxcaninc	equ	1
3
4		save
5		listing	off			; no listing over this file
6
7;****************************************************************************
8;*                                                                          *
9;*   AS 1.42 - File 52XXCAN.INC                                             *
10;*                                                                          *
11;*   Contains SFR and Bit Definitions for ColdFire MCF52xx CAN              *
12;*                                                                          *
13;****************************************************************************
14
15CANMCR		equ		MBAR_CAN+$000	; FlexCAN Module Configuration Register (32b)
16MDIS		cfbit		CANMCR,31	;  Module disable.
17FRZ		cfbit		CANMCR,30	;  Freeze mode enable.
18HALT		cfbit		CANMCR,28	;  Halt FlexCAN.
19NOTRDY		cfbit		CANMCR,27	;  FlexCAN not ready.
20SOFTRST		cfbit		CANMCR,25	;  Soft reset.
21FRZACK		cfbit		CANMCR,24	;  Freeze acknowledge.
22SUPV		cfbit		CANMCR,23	;  Supervisor/user data space.
23LPMACK		cfbit		CANMCR,20	;  Low power mode acknowledge.
24BCC		cfbit		CANMCR,16	;  Backwards compatibility configuration.
25MAXMB		cffield		CANMCR,0,4	;  Maximum number of message buffers.
26CANCTRL		equ		MBAR_CAN+$004	; FlexCAN Control Register (32b)
27PRESDIV		cffield		CANCTRL,24,8	;  Prescaler division factor.
28RJW		cffield		CANCTRL,22,2	;  Resynchronization jump width.
29PSEG1		cffield		CANCTRL,19,3	;  Phase buffer segment 1.
30PSEG2		cffield		CANCTRL,16,3	;  Phase buffer segment 2.
31BOFFMSK		cfbit		CANCTRL,15	;  Bus off interrupt mask.
32ERRMSK		cfbit		CANCTRL,14	;  Error interrupt mask.
33CLK_SRC		cfbit		CANCTRL,13	;  Clock source.
34LPB		cfbit		CANCTRL,12	;  Loop back.
35SMP		cfbit		CANCTRL,7	;  Sampling mode.
36BOFFREC		cfbit		CANCTRL,6	;  Bus off recovery mode.
37TSYN		cfbit		CANCTRL,5	;  Timer synchronize mode.
38LBUF		cfbit		CANCTRL,4	;  Lowest buffer transmitted first.
39LOM		cfbit		CANCTRL,3	;  Listen-only mode.
40PROPSEG		cffield		CANCTRL,0,3	;  Propagation segment.
41TIMER		equ		MBAR_CAN+$008	; Free Running Timer (32b)
42RXGMASK		equ		MBAR_CAN+$010	; Rx Global Mask (32b)
43RX14MASK	equ		MBAR_CAN+$014	; Rx Buffer 14 Mask (32b)
44RX15MASK	equ		MBAR_CAN+$018	; Rx Buffer 15 Mask (32b)
45ERRCNT		equ		MBAR_CAN+$01C	; Error Counter Register (32b)
46RXECTR		cffield		ERRCNT,8,8	;  Receive error counter.
47TXECTR		cffield		ERRCNT,0,8	;  Transmit error counter.
48ERRSTAT		equ		MBAR_CAN+$020	; Error and Status Register (32b)
49BIT1ERR		cfbit		ERRSTAT,15	;  Bit1 error.
50BIT0ERR		cfbit		ERRSTAT,14	;  Bit0 error.
51ACKERR		cfbit		ERRSTAT,13	;  Acknowledge error.
52CRCERR		cfbit		ERRSTAT,12	;  Cyclic redundancy check error.
53FRMERR		cfbit		ERRSTAT,11	;  Message form error.
54STFERR		cfbit		ERRSTAT,10	;  Bit stuff error.
55TXWRN		cfbit		ERRSTAT,9	;  Transmit error status flag.
56RXWRN		cfbit		ERRSTAT,8	;  Receiver error status flag.
57IDLE		cfbit		ERRSTAT,7	;  Idle status.
58TXRX		cfbit		ERRSTAT,6	;  Transmit/receive status.
59FLTCONF		cffield		ERRSTAT,4,2	;  Fault confinement state.
60BOFFINT		cfbit		ERRSTAT,2	;  Bus off interrupt.
61ERRINT		cfbit		ERRSTAT,1	;  Error interrupt.
62IMASK		equ		MBAR_CAN+$028	; Interrupt Mask Register (32b)
63BUF15M		cfbit		IMASK,15	;  Buffer interrupt mask.
64BUF14M		cfbit		IMASK,14
65BUF13M		cfbit		IMASK,13
66BUF12M		cfbit		IMASK,12
67BUF11M		cfbit		IMASK,11
68BUF10M		cfbit		IMASK,10
69BUF9M		cfbit		IMASK,9
70BUF8M		cfbit		IMASK,8
71BUF7M		cfbit		IMASK,7
72BUF6M		cfbit		IMASK,6
73BUF5M		cfbit		IMASK,5
74BUF4M		cfbit		IMASK,4
75BUF3M		cfbit		IMASK,3
76BUF2M		cfbit		IMASK,2
77BUF1M		cfbit		IMASK,1
78BUF0M		cfbit		IMASK,0
79IFLAG		equ		MBAR_CAN+$030	; Interrupt Flag Register (32b)
80BUF15I		cfbit		IFLAG,15	; Buffer interrupt flag.
81BUF14I		cfbit		IFLAG,14
82BUF13I		cfbit		IFLAG,13
83BUF12I		cfbit		IFLAG,12
84BUF11I		cfbit		IFLAG,11
85BUF10I		cfbit		IFLAG,10
86BUF9I		cfbit		IFLAG,9
87BUF8I		cfbit		IFLAG,8
88BUF7I		cfbit		IFLAG,7
89BUF6I		cfbit		IFLAG,6
90BUF5I		cfbit		IFLAG,5
91BUF4I		cfbit		IFLAG,4
92BUF3I		cfbit		IFLAG,3
93BUF2I		cfbit		IFLAG,2
94BUF1I		cfbit		IFLAG,1
95BUF0I		cfbit		IFLAG,0
96__N		set		0
97		rept		16
98		__decstr	__NS,__N
99MB{"\{__NS}"}	equ		MBAR_CAN+$080+(__N*16)	; Message Buffers 0-15 (16*128b)
100CODE		cffield		MB{"\{__NS}"},24,4	;  Message buffer code.
101SRR		cfbit		MB{"\{__NS}"},22	;  Substitute remote request.
102IDE		cfbit		MB{"\{__NS}"},21	;  ID extended bit.
103RTR		cfbit		MB{"\{__NS}"},20	;  Remote transmission request.
104LENGTH		cffield		MB{"\{__NS}"},16,4	;  Length of data in bytes.
105TIMESTAMP	cffield		MB{"\{__NS}"},0,16	;  Free-running counter time stamp.
106MB{"\{__NS}"}ID	equ		MB{"\{__NS}"}+4
107EXTENDED	cffield		MB{"\{__NS}"}ID,18,11	;  Extended frame identifier.
108STANDARD	cffield		MB{"\{__NS}"}ID,0,18	;  Standard frame identifier.
109__N		set		__N+4
110		endm
111
112		restore				; re-enable listing
113
114                endif                           ; __52xxcaninc
115