missing CFCR flag in sioreg.h

Robert Garrett rg70 at sbcglobal.net
Wed Jan 21 20:11:22 PST 2004


Jeroen Ruigrok/asmodai wrote:

> -On [20040121 23:22], Robert Garrett (rg70 at xxxxxxxxxxxxx) wrote:
>>oops david told me to go ahead and add it back in.
>>Then what is the purpose of having the CFCR stuff in
>>both ns16550.h and sioreg.h
> 
> That's why CVS has history:
> 
> Tue Sep 16 08:08:08 2003 UTC (4 months ago) by bde:
> 
> Moved the definitions of the bits in the ns*50 registers from sioreg.h
> to ns16550.h.  The organization of these files was sort of backwards.
> The bits in the registers have no driver or bus dependencies but they
> but the offsets of the registers in bus space are very bus-dependent.
> However, it does no harm to keep the definitions of the register offsets
> in ns16550.h provided they are thought of as internal ns*50 offsets.
> 

then why didn't they finish it.. ?
ns16550.h and sioreg.h are almost exact duplicates there are a couple of
symantic changes in ns16550.h and a few declarations that should be left
in sioreg.h or perhaps sio.h would be a better place to define things
such as default console speed..

the attached patch demonstrates the difference between what sioreg 
contains and what ns16550.h contains. 

if one removed the duplicate entries from sioreg.h this is what he
would end up with

Robert GarrettIndex: sioreg.h
===================================================================
RCS file: /usr/home/dcvs/src/sys/dev/serial/sio/sioreg.h,v
retrieving revision 1.4
diff -u -u -r1.4 sioreg.h
--- sioreg.h	21 Jan 2004 21:33:19 -0000	1.4
+++ sioreg.h	22 Jan 2004 04:01:31 -0000
@@ -32,97 +32,13 @@
  *
  *	from: @(#)comreg.h	7.2 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/isa/sioreg.h,v 1.15.2.3 2003/04/04 08:42:17 sobomax Exp $
- * $DragonFly$
+ * $DragonFly: src/sys/dev/serial/sio/sioreg.h,v 1.4 2004/01/21 21:33:19 rob Exp $
  */
 
 /* Receiver clock frequency for "standard" pc serial ports. */
 #define	DEFAULT_RCLK	1843200
-
-/* interrupt enable register */
-#define	IER_ERXRDY	0x1
-#define	IER_ETXRDY	0x2
-#define	IER_ERLS	0x4
-#define	IER_EMSC	0x8
-
-/* interrupt identification register */
-#define	IIR_IMASK	0xf
-#define	IIR_RXTOUT	0xc
-#define	IIR_RLS		0x6
-#define	IIR_RXRDY	0x4
-#define	IIR_TXRDY	0x2
-#define	IIR_NOPEND	0x1
-#define	IIR_MLSC	0x0
-#define	IIR_FIFO_MASK	0xc0	/* set if FIFOs are enabled */
-
-/* fifo control register */
-#define	FIFO_ENABLE	0x01
-#define	FIFO_RCV_RST	0x02
-#define	FIFO_XMT_RST	0x04
-#define	FIFO_DMA_MODE	0x08
-#define	FIFO_RX_LOW	0x00
-#define	FIFO_RX_MEDL	0x40
-#define	FIFO_RX_MEDH	0x80
-#define	FIFO_RX_HIGH	0xc0
-
-/* character format control register (aka line control register) */
-#define CFCR_DLAB	0x80
-#define	CFCR_SBREAK	0x40
-#define	CFCR_PZERO	0x30
-#define	CFCR_PONE	0x20
-#define	CFCR_PEVEN	0x10
-#define	CFCR_PODD	0x00
-#define	CFCR_PENAB	0x08
-#define	CFCR_STOPB	0x04
-#define	CFCR_8BITS	0x03
-#define	CFCR_7BITS	0x02
-#define	CFCR_6BITS	0x01
-#define	CFCR_5BITS	0x00
-
-/* modem control register */
-#define	MCR_PRESCALE	0x80		/* only available on 16650 up */
-#define	MCR_LOOPBACK	0x10
-#define	MCR_IENABLE	0x08
-#define	MCR_DRS		0x04
-#define	MCR_RTS		0x02
-#define	MCR_DTR		0x01
-
-/* line status register */
-#define	LSR_RCV_FIFO	0x80
-#define	LSR_TSRE	0x40
-#define	LSR_TXRDY	0x20
-#define	LSR_BI		0x10
-#define	LSR_FE		0x08
-#define	LSR_PE		0x04
-#define	LSR_OE		0x02
-#define	LSR_RXRDY	0x01
-#define	LSR_RCV_MASK	0x1f
-
-/* modem status register */
-#define	MSR_DCD		0x80
-#define	MSR_RI		0x40
-#define	MSR_DSR		0x20
-#define	MSR_CTS		0x10
-#define	MSR_DDCD	0x08
-#define	MSR_TERI	0x04
-#define	MSR_DDSR	0x02
-#define	MSR_DCTS	0x01
-
-/* enhanced feature register (only available on 16650 up) */
-#define	EFR_EFE		0x10		/* enhanced functions enable */
-
-#ifdef PC98
-/* Hardware extension mode register for RSB-2000/3000. */
-#define	EMR_EXBUFF	0x04
-#define	EMR_CTSFLW	0x08
-#define	EMR_DSRFLW	0x10
-#define	EMR_RTSFLW	0x20
-#define	EMR_DTRFLW	0x40
-#define	EMR_EFMODE	0x80
-#endif
-
 /* speed to initialize to during chip tests */
 #define SIO_TEST_SPEED	9600
-
 /* default serial console speed if not set with sysctl or probed from boot */
 #ifndef CONSPEED
 #define CONSPEED 9600




More information about the Bugs mailing list