Home | History | Annotate | Line # | Download | only in ic
mc6854reg.h revision 1.1.212.1
      1  1.1.212.1  christos /*	$NetBSD: mc6854reg.h,v 1.1.212.1 2019/06/10 22:07:10 christos Exp $	*/
      2        1.1     bjh21 
      3        1.1     bjh21 /*
      4        1.1     bjh21  * Ben Harris, 2001
      5        1.1     bjh21  *
      6        1.1     bjh21  * This file is in the public domain.
      7        1.1     bjh21  */
      8        1.1     bjh21 
      9        1.1     bjh21 /* mc6854reg.h - Motorola 6854 Advanced Data Link Controller registers */
     10        1.1     bjh21 
     11        1.1     bjh21 /*
     12        1.1     bjh21  * The 6854 has two address lines, and uses one of the bits of CR1 as
     13        1.1     bjh21  * an additional register select.
     14        1.1     bjh21  */
     15        1.1     bjh21 #define MC6854_CR1	0 /* Control Register #1 (W) */
     16        1.1     bjh21 #define MC6854_CR2	1 /* Control Register #2 (W) (AC = 0) */
     17        1.1     bjh21 #define MC6854_CR3	1 /* Control Register #3 (W) (AC = 1) */
     18        1.1     bjh21 #define MC6854_TXFIFOFC	2 /* Transmit FIFO (Frame Continue) (W) */
     19        1.1     bjh21 #define MC6854_TXFIFOFT	3 /* Transmit FIFO (Frame Terminate) (W) (AC = 0) */
     20        1.1     bjh21 #define MC6854_CR4	3 /* Control Register #4 (W) (AC = 1) */
     21        1.1     bjh21 
     22        1.1     bjh21 #define MC6854_SR1	0 /* Status Register #1 (R) */
     23        1.1     bjh21 #define MC6854_SR2	1 /* Status Register #2 (R) */
     24        1.1     bjh21 #define MC6854_RXFIFO	2 /* Receiver FIFO (R) */
     25        1.1     bjh21 
     26  1.1.212.1  christos /* Control Register #1 bits */
     27        1.1     bjh21 #define MC6854_CR1_AC		0x01 /* Address Control */
     28        1.1     bjh21 #define MC6854_CR1_RIE		0x02 /* Receiver Interrupt Enable */
     29        1.1     bjh21 #define MC6854_CR1_TIE		0x04 /* Transmitter Interrupt Enable */
     30        1.1     bjh21 #define MC6854_CR1_RDSR_MODE	0x08 /* Receiver Data Service Request Mode */
     31        1.1     bjh21 #define MC6854_CR1_TDSR_MODE	0x10 /* Transmitter Data Service Request Mode*/
     32        1.1     bjh21 #define MC6854_CR1_DISCONTINUE	0x20 /* Rx Frame Discontinue */
     33        1.1     bjh21 #define MC6854_CR1_RX_RS	0x40 /* Receiver Reset */
     34        1.1     bjh21 #define MC6854_CR1_TX_RS	0x80 /* Transmitter Reset */
     35        1.1     bjh21 #define MC6854_CR1_BITS \
     36        1.1     bjh21 	"\20\1AC\2RIE\3TIE\4RDSR_MODE\5TDSR_MODE\6DISCONTINUE\7RX_RS\10TX_RS"
     37        1.1     bjh21 
     38        1.1     bjh21 /* Control Register #2 bits */
     39        1.1     bjh21 #define MC6854_CR2_PSE		0x01 /* Prioritized Status Enable */
     40        1.1     bjh21 #define MC6854_CR2_2_1_BYTE	0x02 /* 2-Byte/1-Byte Transfer */
     41        1.1     bjh21 #define MC6854_CR2_F_M_IDLE	0x04 /* Flag/Mark Idle Select */
     42        1.1     bjh21 #define MC6854_CR2_FC_TDRA_SEL	0x08 /* Frame Complete/TDRA Select */
     43        1.1     bjh21 #define MC6854_CR2_TX_LAST	0x10 /* Transmit Last Data */
     44        1.1     bjh21 #define MC6854_CR2_CLR_RX_ST	0x20 /* Clear Receiver Status */
     45        1.1     bjh21 #define MC6854_CR2_CLR_TX_ST	0x40 /* Clear Transmitter Status */
     46        1.1     bjh21 #define MC6854_CR2_RTS		0x80 /* Request-to-Send Control */
     47        1.1     bjh21 #define MC6854_CR2_BITS \
     48        1.1     bjh21 	"\20\1PSE\22_1_BYTE\3F_M_IDLE\4RC_TDRA_SEL"	\
     49        1.1     bjh21 	"\5TX_LAST\6CLR_RX_ST\7CLR_TX_ST\10RTS"
     50        1.1     bjh21 
     51        1.1     bjh21 /* Control Register #3 bits */
     52        1.1     bjh21 #define MC6854_CR3_LCF		0x01 /* Logical Control Field Select */
     53        1.1     bjh21 #define MC6854_CR3_CEX		0x02 /* Extended Control Field Select */
     54        1.1     bjh21 #define MC6854_CR3_AEX		0x04 /* Auto/Address Extend Mode */
     55        1.1     bjh21 #define MC6854_CR3_00_01_IDLE	0x08 /* 00/01 Idle */
     56        1.1     bjh21 #define MC6854_CR3_FDSE		0x10 /* Flag Detect Status Enable */
     57        1.1     bjh21 #define MC6854_CR3_LOOP		0x20 /* LOOP/NON-LOOP Mode */
     58        1.1     bjh21 #define MC6854_CR3_GAP_TST	0x40 /* Go Active On Poll/Test */
     59        1.1     bjh21 #define MC6854_CR3_LOC_DTR	0x80 /* Loop On-Line Control/DTR Control */
     60        1.1     bjh21 #define MC6854_CR3_BITS \
     61        1.1     bjh21 	"\20\1LCF\2CEX\3AEX\400_01_IDLE\5FDSE\6LOOP\7GAP_TST\10LOC_DTR"
     62        1.1     bjh21 
     63        1.1     bjh21 /* Control Register #4 bits */
     64        1.1     bjh21 #define MC6854_CR4_FF_F		0x01 /* Double/Single Flag Interframe Control*/
     65        1.1     bjh21 #define MC6854_CR4_TX_WL_MASK	0x06 /* Transmitter Word Length Select: */
     66        1.1     bjh21 #define MC6854_CR4_TX_WL_5BITS	0x00 /*   5 bits */
     67        1.1     bjh21 #define MC6854_CR4_TX_WL_6BITS	0x02 /*   6 bits */
     68        1.1     bjh21 #define MC6854_CR4_TX_WL_7BITS	0x04 /*   7 bits */
     69        1.1     bjh21 #define MC6854_CR4_TX_WL_8BITS	0x06 /*   8 bits */
     70        1.1     bjh21 #define MC6854_CR4_RX_WL_MASK	0x18 /* Receiver Word Length Select: */
     71        1.1     bjh21 #define MC6854_CR4_RX_WL_5BITS	0x00 /*   5 bits */
     72        1.1     bjh21 #define MC6854_CR4_RX_WL_6BITS	0x08 /*   6 bits */
     73        1.1     bjh21 #define MC6854_CR4_RX_WL_7BITS	0x10 /*   7 bits */
     74        1.1     bjh21 #define MC6854_CR4_RX_WL_8BITS	0x18 /*   8 bits */
     75        1.1     bjh21 #define MC6854_CR4_ABT		0x20 /* Transmit Abort */
     76        1.1     bjh21 #define MC6854_CR4_ABTEX	0x40 /* Abort Extend */
     77        1.1     bjh21 #define MC6854_CR4_NRZI_NRZ	0x80 /* NRZI (Zero Complement)/NRZ Select */
     78        1.1     bjh21 
     79        1.1     bjh21 /* Status Register #1 bits */
     80        1.1     bjh21 #define MC6854_SR1_RDA		0x01 /* Receiver Data Available */
     81        1.1     bjh21 #define MC6854_SR1_S2RQ		0x02 /* Status Register #2 Read Request */
     82        1.1     bjh21 #define MC6854_SR1_LOOP		0x04 /* Loop Status */
     83        1.1     bjh21 #define MC6854_SR1_FD		0x08 /* Flag Detected */
     84        1.1     bjh21 #define MC6854_SR1_NCTS		0x10 /* not Clear-to-Send */
     85        1.1     bjh21 #define MC6854_SR1_TXU		0x20 /* Transmitter Underrun */
     86        1.1     bjh21 #define MC6854_SR1_TDRA		0x40 /* Transmitter Data Register Available */
     87        1.1     bjh21 #define MC6854_SR1_FC		0x40 /* Frame Complete */
     88        1.1     bjh21 #define MC6854_SR1_IRQ		0x80 /* Interrupt Request */
     89        1.1     bjh21 
     90        1.1     bjh21 #define MC6854_SR1_BITS "\20\1RDA\2S2RQ\3LOOP\4FD\5NCTS\6TXU\7TDRA_FC\10IRQ"
     91        1.1     bjh21 
     92        1.1     bjh21 /* Status Register #2 bits */
     93        1.1     bjh21 #define MC6854_SR2_AP		0x01 /* Address Present */
     94        1.1     bjh21 #define MC6854_SR2_FV		0x02 /* Frame Valid */
     95        1.1     bjh21 #define MC6854_SR2_RX_IDLE	0x04 /* Inactive Idle Received */
     96        1.1     bjh21 #define MC6854_SR2_RXABT	0x08 /* Abort Received */
     97        1.1     bjh21 #define MC6854_SR2_ERR		0x10 /* FCS/Invalid Frame Error */
     98        1.1     bjh21 #define MC6854_SR2_NDCD		0x20 /* not Data Carrier Detect */
     99        1.1     bjh21 #define MC6854_SR2_OVRN		0x40 /* Receiver Overrun */
    100        1.1     bjh21 #define MC6854_SR2_RDA		0x80 /* Receiver Data Available */
    101        1.1     bjh21 
    102        1.1     bjh21 #define MC6854_SR2_BITS "\20\1AP\2FV\3RX_IDLE\4RXABT\5ERR\6NDCD\7OVRN\10RDA"
    103