Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__ez80uartinc
2
__ez80uartinc	equ	1
3
 
4
__defuart       macro   NUM,Base
5
UART{NUM}_RBR	port	Base+0		; UART n Receive Buffer Register (r)
6
UART{NUM}_THR	port	Base+0		; UART n Transmit Holding Register (w)
7
UART{NUM}_BRG_L	port	Base+0		; UART n Baud Rate Generator - Low Byte (r/w)
8
UART{NUM}_BRG_H	port	Base+1		; UART n Baud Rate Generator - High Byte (r/w)
9
UART{NUM}_IER	port	Base+1		; UART n Interrupt Enable Register (r/w)
10
		if	NUM == "0"
11
MIIE		 equ	1 << 3		;  Enable edge detect modem status interrupt
12
LSIE		 equ	1 << 2		;  Enable line status interrupt
13
TIE		 equ	1 << 1		;  Enable transmit interrupt
14
RIE		 equ	1 << 0		;  Enable receive interrupt 
15
		endif
16
UART{NUM}_IIR	port	Base+2		; UART n Interrupt Identification Register (r)
17
		if	NUM == "0"
18
INTSTS_S	 equ	1		;  Interrupt Status Code
19
INTSTS_M	 equ	7 << INTSTS_S
20
INTSTS_RLS	 equ	3 << INTSTS_S	;   Receiver Line Status
21
INTSTS_RDR	 equ	2 << INTSTS_S	;   Receiver Data Ready
22
INTSTS_CTO	 equ	6 << INTSTS_S	;   Character Time out
23
INTSTS_TBE	 equ	1 << INTSTS_S	;   Transmit buffer empty
24
INTSTS_MS	 equ	0 << INTSTS_S	;   Modem Status
25
INTBIT		 equ	1 << 0		;  Active interrupt source
26
		endif
27
UART{NUM}_FCTL	port	Base+2		; UART n FIFO Control Register (w)
28
		if	NUM == "0"
29
TRIG_S		 equ	6		;  Receive FIFO Trigger Level
30
TRIG_M		 equ	3 << TRIG_S
31
CLRTXF		 equ	1 << 2		;  Clear Tx FIFO
32
CLRRXF		 equ	1 << 1		;  Clear Rx FIFO
33
FIFOEN		 equ	1 << 0		;  Enable FIFOs
34
		endif
35
UART{NUM}_LCTL	port	Base+3		; UART n Line Control Register (r/w)
36
		if	NUM == "0"
37
DLAB		 equ	1 << 7		;  Access baud rate registers
38
SB		 equ	1 << 6		;  Send break
39
FPE		 equ	1 << 5		;  Force parity error
40
EPS		 equ	1 << 4		;  Use even parity
41
PEN		 equ	1 << 3		;  Parity enable
42
CHAR_S		 equ	0		;  Data bit count
43
CHAR_M		 equ	7 << CHAR_S
44
CHAR_5_1	 equ	0 << CHAR_S	;  5x1
45
CHAR_6_1	 equ	1 << CHAR_S	;  6x1
46
CHAR_7_1	 equ	2 << CHAR_S	;  7x1
47
CHAR_8_1	 equ	3 << CHAR_S	;  8x1
48
CHAR_5_2	 equ	4 << CHAR_S	;  5x2
49
CHAR_6_2	 equ	5 << CHAR_S	;  6x2
50
CHAR_7_2	 equ	6 << CHAR_S	;  7x2
51
CHAR_8_2	 equ	7 << CHAR_S	;  8x2
52
		endif
53
UART{NUM}_MCTL	port	Base+4		; UART n Modem Control Register (r/w)
54
		if	NUM == "0"
55
LOOP		 equ	1 << 4		;  Enable Loopback
56
OUT2		 equ	1 << 3		;  DCD in loopback mode
57
OUT1		 equ	1 << 2		;  RI in loopback mode
58
RTS		 equ	1 << 1		;  set RTS
59
DTR		 equ	1 << 0		;  set DTR
60
		endif
61
UART{NUM}_LSR	port	Base+5		; UART n Line Status Register (r)
62
		if	NUM == "0"
63
ERR		 equ	1 << 7		;  Error detected in FIFO
64
TEMPT		 equ	1 << 6		;  Transmitter empty
65
THRE		 equ	1 << 5		;  Transmitter Holding Register Empty
66
BI		 equ	1 << 4		;  Break Indication
67
FE		 equ	1 << 3		;  Framing Error
68
PE		 equ	1 << 2		;  Parity Error
69
OE		 equ	1 << 1		;  Overrun Error
70
DR		 equ	1 << 0		;  Data Ready
71
		endif
72
UART{NUM}_MSR	port	Base+6		; UART n Modem Status Register (r)
73
		if	NUM == "0"
74
DCD		 equ	1 << 7		;  Carrier Detect
75
RI		 equ	1 << 6		;  Ring Indicator
76
DSR		 equ	1 << 5		;  Data Set Ready
77
CTS		 equ	1 << 4		;  Data Carrier Detect
78
DDCD		 equ	1 << 3		;  DCD status change
79
TERI		 equ	1 << 2		;  RI trailing edge
80
DDSR		 equ	1 << 1		;  DSR status change
81
DCTS		 equ	1 << 0		;  CTS status change
82
		endif
83
UART{NUM}_SPR	port	Base+7		; UART n Scratch Pad Register (r/w)
84
		endm			; __defuart
85
 
86
		endif			; __ez80uartinc