Home | History | Annotate | Line # | Download | only in ic
hd64570reg.h revision 1.1
      1  1.1  explorer /*	$Id: hd64570reg.h,v 1.1 1998/07/26 03:26:57 explorer Exp $	*/
      2  1.1  explorer 
      3  1.1  explorer /*
      4  1.1  explorer  * Copyright (c) 1998 Vixie Enterprises
      5  1.1  explorer  * All rights reserved.
      6  1.1  explorer  *
      7  1.1  explorer  * Redistribution and use in source and binary forms, with or without
      8  1.1  explorer  * modification, are permitted provided that the following conditions
      9  1.1  explorer  * are met:
     10  1.1  explorer  *
     11  1.1  explorer  * 1. Redistributions of source code must retain the above copyright
     12  1.1  explorer  *    notice, this list of conditions and the following disclaimer.
     13  1.1  explorer  * 2. Redistributions in binary form must reproduce the above copyright
     14  1.1  explorer  *    notice, this list of conditions and the following disclaimer in the
     15  1.1  explorer  *    documentation and/or other materials provided with the distribution.
     16  1.1  explorer  * 3. Neither the name of Vixie Enterprises nor the names
     17  1.1  explorer  *    of its contributors may be used to endorse or promote products derived
     18  1.1  explorer  *    from this software without specific prior written permission.
     19  1.1  explorer  *
     20  1.1  explorer  * THIS SOFTWARE IS PROVIDED BY VIXIE ENTERPRISES AND
     21  1.1  explorer  * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
     22  1.1  explorer  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     23  1.1  explorer  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     24  1.1  explorer  * DISCLAIMED.  IN NO EVENT SHALL VIXIE ENTERPRISES OR
     25  1.1  explorer  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     26  1.1  explorer  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     27  1.1  explorer  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
     28  1.1  explorer  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
     29  1.1  explorer  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     30  1.1  explorer  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
     31  1.1  explorer  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     32  1.1  explorer  * SUCH DAMAGE.
     33  1.1  explorer  *
     34  1.1  explorer  * This software has been written for Vixie Enterprises by Michael Graff
     35  1.1  explorer  * <explorer (at) flame.org>.  To learn more about Vixie Enterprises, see
     36  1.1  explorer  * ``http://www.vix.com''.
     37  1.1  explorer  */
     38  1.1  explorer 
     39  1.1  explorer #ifndef _HD64750REG_H_
     40  1.1  explorer #define _HD64750REG_H_
     41  1.1  explorer 
     42  1.1  explorer /* XXX
     43  1.1  explorer  * This is really HDLC specific stuff, but...
     44  1.1  explorer  */
     45  1.1  explorer #define CISCO_MULTICAST         0x8f    /* Cisco multicast address */
     46  1.1  explorer #define CISCO_UNICAST           0x0f    /* Cisco unicast address */
     47  1.1  explorer #define CISCO_KEEPALIVE         0x8035  /* Cisco keepalive protocol */
     48  1.1  explorer #define CISCO_ADDR_REQ          0       /* Cisco address request */
     49  1.1  explorer #define CISCO_ADDR_REPLY        1       /* Cisco address reply */
     50  1.1  explorer #define CISCO_KEEPALIVE_REQ     2       /* Cisco keepalive request */
     51  1.1  explorer 
     52  1.1  explorer typedef struct cisco_pkt {
     53  1.1  explorer         u_int32_t	type;
     54  1.1  explorer         u_int32_t	par1;
     55  1.1  explorer         u_int32_t	par2;
     56  1.1  explorer         u_int16_t	rel;
     57  1.1  explorer         u_int16_t	time0;
     58  1.1  explorer         u_int16_t	time1;
     59  1.1  explorer } cisco_pkt_t;
     60  1.1  explorer #define CISCO_PKT_LEN	18	/* sizeof doesn't work right... */
     61  1.1  explorer 
     62  1.1  explorer #define HDLC_PROTOCOL_IP	0x0800	/* IP */
     63  1.1  explorer 
     64  1.1  explorer typedef struct hdlc_header {
     65  1.1  explorer 	u_int8_t	addr;
     66  1.1  explorer 	u_int8_t	control;
     67  1.1  explorer 	u_int16_t	protocol;
     68  1.1  explorer } hdlc_header_t;
     69  1.1  explorer #define HDLC_HDRLEN	4
     70  1.1  explorer 
     71  1.1  explorer /*
     72  1.1  explorer  * Hitachi HD64570  defininitions
     73  1.1  explorer  */
     74  1.1  explorer 
     75  1.1  explorer /*
     76  1.1  explorer  * At least one implementation uses a somewhat strange register address
     77  1.1  explorer  * mapping.  If a card doesn't, define this to be a pass-through
     78  1.1  explorer  * macro.  (The ntwo driver needs this...)
     79  1.1  explorer  */
     80  1.1  explorer #ifndef SCADDR
     81  1.1  explorer #define SCADDR(y)  (((y) & 0x0002) ? (((y) & 0x00fd) + 0x100) : (y))
     82  1.1  explorer #endif
     83  1.1  explorer 
     84  1.1  explorer /*  SCA Control Registers  */
     85  1.1  explorer #define  SCA_PABR0 2
     86  1.1  explorer #define  SCA_PABR1 3
     87  1.1  explorer #define  SCA_WCRL  4        /* Wait Control reg */
     88  1.1  explorer #define  SCA_WCRM  5        /* Wait Control reg */
     89  1.1  explorer #define  SCA_WCRH  6        /* Wait Control reg */
     90  1.1  explorer #define  SCA_PCR   8        /* DMA priority control reg */
     91  1.1  explorer 
     92  1.1  explorer /*   Interrupt registers  */
     93  1.1  explorer #define  SCA_ISR0   0x10    /* Interrupt status register 0  */
     94  1.1  explorer #define  SCA_ISR1   0x11    /* Interrupt status register 1  */
     95  1.1  explorer #define  SCA_ISR2   0x12    /* Interrupt status register 2  */
     96  1.1  explorer #define  SCA_IER0   0x14    /* Interrupt enable register 0  */
     97  1.1  explorer #define  SCA_IER1   0x15    /* Interrupt enable register 1  */
     98  1.1  explorer #define  SCA_IER2   0x16    /* Interrupt enable register 2  */
     99  1.1  explorer #define  SCA_ITCR   0x18    /* interrupt control register */
    100  1.1  explorer #define  SCA_IVR    0x1a    /* interrupt vector */
    101  1.1  explorer #define  SCA_IMVR   0x1c    /* modified interrupt vector */
    102  1.1  explorer 
    103  1.1  explorer /*  MSCI  Channel 0 Registers  */
    104  1.1  explorer #define  SCA_TRBL0  0x20    /* TX/RX buffer reg */
    105  1.1  explorer #define  SCA_TRBH0  0x21    /* TX/RX buffer reg */
    106  1.1  explorer #define  SCA_ST00   0x22     /* Status reg 0 */
    107  1.1  explorer #define  SCA_ST10   0x23     /* Status reg 1 */
    108  1.1  explorer #define  SCA_ST20   0x24     /* Status reg 2 */
    109  1.1  explorer #define  SCA_ST30   0x25     /* Status reg 3 */
    110  1.1  explorer #define  SCA_FST0   0x26     /* frame Status reg  */
    111  1.1  explorer #define  SCA_IE00   0x28     /* Interrupt enable reg 0 */
    112  1.1  explorer #define  SCA_IE10   0x29     /* Interrupt enable reg 1 */
    113  1.1  explorer #define  SCA_IE20   0x2a     /* Interrupt enable reg 2 */
    114  1.1  explorer #define  SCA_FIE0   0x2b     /* Frame Interrupt enable reg  */
    115  1.1  explorer #define  SCA_CMD0   0x2c     /* Command reg */
    116  1.1  explorer #define  SCA_MD00   0x2e     /* Mode reg 0 */
    117  1.1  explorer #define  SCA_MD10   0x2f     /* Mode reg 1 */
    118  1.1  explorer #define  SCA_MD20   0x30     /* Mode reg 2 */
    119  1.1  explorer #define  SCA_CTL0   0x31     /* Control reg */
    120  1.1  explorer #define  SCA_SA00   0x32     /* Syn Address reg 0 */
    121  1.1  explorer #define  SCA_SA10   0x33     /* Syn Address reg 1 */
    122  1.1  explorer #define  SCA_IDL0   0x34    /* Idle register */
    123  1.1  explorer #define  SCA_TMC0   0x35     /* Time constant */
    124  1.1  explorer #define  SCA_RXS0   0x36     /* RX clock source */
    125  1.1  explorer #define  SCA_TXS0   0x37     /* TX clock source */
    126  1.1  explorer #define  SCA_TRC00  0x38    /* TX Ready control reg 0 */
    127  1.1  explorer #define  SCA_TRC10  0x39    /* TX Ready control reg 1 */
    128  1.1  explorer #define  SCA_RRC0   0x3A    /* RX Ready control reg */
    129  1.1  explorer 
    130  1.1  explorer /*  MSCI  Channel 1 Registers  */
    131  1.1  explorer #define  SCA_TRBL1  0x40    /* TX/RX buffer reg */
    132  1.1  explorer #define  SCA_TRBH1  0x41    /* TX/RX buffer reg */
    133  1.1  explorer #define  SCA_ST01   0x42     /* Status reg 0 */
    134  1.1  explorer #define  SCA_ST11   0x43     /* Status reg 1 */
    135  1.1  explorer #define  SCA_ST21   0x44     /* Status reg 2 */
    136  1.1  explorer #define  SCA_ST31   0x45     /* Status reg 3 */
    137  1.1  explorer #define  SCA_FST1   0x46     /* Frame Status reg  */
    138  1.1  explorer #define  SCA_IE01   0x48     /* Interrupt enable reg 0 */
    139  1.1  explorer #define  SCA_IE11   0x49     /* Interrupt enable reg 1 */
    140  1.1  explorer #define  SCA_IE21   0x4a     /* Interrupt enable reg 2 */
    141  1.1  explorer #define  SCA_FIE1   0x4b     /* Frame Interrupt enable reg  */
    142  1.1  explorer #define  SCA_CMD1   0x4c     /* Command reg */
    143  1.1  explorer #define  SCA_MD01   0x4e     /* Mode reg 0 */
    144  1.1  explorer #define  SCA_MD11   0x4f     /* Mode reg 1 */
    145  1.1  explorer #define  SCA_MD21   0x50     /* Mode reg 2 */
    146  1.1  explorer #define  SCA_CTL1   0x51     /* Control reg */
    147  1.1  explorer #define  SCA_SA01   0x52     /* Syn Address reg 0 */
    148  1.1  explorer #define  SCA_SA11   0x53     /* Syn Address reg 1 */
    149  1.1  explorer #define  SCA_IDL1   0x54    /* Idle register */
    150  1.1  explorer #define  SCA_TMC1   0x55     /* Time constant */
    151  1.1  explorer #define  SCA_RXS1   0x56     /* RX clock source */
    152  1.1  explorer #define  SCA_TXS1   0x57     /* TX clock source */
    153  1.1  explorer #define  SCA_TRC01  0x58    /* TX Ready control reg 0 */
    154  1.1  explorer #define  SCA_TRC11  0x59    /* TX Ready control reg 1 */
    155  1.1  explorer #define  SCA_RRC1   0x5A    /* RX Ready control reg */
    156  1.1  explorer 
    157  1.1  explorer 
    158  1.1  explorer /*  SCA  DMA  registers  */
    159  1.1  explorer 
    160  1.1  explorer #define  SCA_DMER   0x9     /* DMA Master Enable reg */
    161  1.1  explorer 
    162  1.1  explorer /*   DMA   Channel 0   Registers (MSCI -> memory, or rx) */
    163  1.1  explorer #define  SCA_BARL0  0x80    /* buffer address reg  */
    164  1.1  explorer #define  SCA_BARH0  0x81    /* buffer address reg  */
    165  1.1  explorer #define  SCA_BARB0  0x82    /* buffer address reg  */
    166  1.1  explorer #define  SCA_DARL0  0x80    /* Dest. address reg  */
    167  1.1  explorer #define  SCA_DARH0  0x81    /* Dest. address reg  */
    168  1.1  explorer #define  SCA_DARB0  0x82    /* Dest. address reg  */
    169  1.1  explorer #define  SCA_CPB0   0x86    /* Chain pointer base  */
    170  1.1  explorer #define  SCA_CDAL0  0x88    /* Current descriptor address  */
    171  1.1  explorer #define  SCA_CDAH0  0x89    /* Current descriptor address  */
    172  1.1  explorer #define  SCA_EDAL0  0x8A    /* Error descriptor address  */
    173  1.1  explorer #define  SCA_EDAH0  0x8B    /* Error descriptor address  */
    174  1.1  explorer #define  SCA_BFLL0  0x8C    /* RX buffer length Low  */
    175  1.1  explorer #define  SCA_BFLH0  0x8D    /* RX buffer length High */
    176  1.1  explorer #define  SCA_BCRL0  0x8E    /* Byte Count reg  */
    177  1.1  explorer #define  SCA_BCRH0  0x8F    /* Byte Count reg  */
    178  1.1  explorer #define  SCA_DSR0   0x90    /* DMA Status reg  */
    179  1.1  explorer #define  SCA_DMR0   0x91    /* DMA Mode reg    */
    180  1.1  explorer #define  SCA_FCT0   0x93    /* Frame end interrupt Counter */
    181  1.1  explorer #define  SCA_DIR0   0x94    /* DMA interrupt enable */
    182  1.1  explorer #define  SCA_DCR0   0x95    /* DMA Command reg  */
    183  1.1  explorer 
    184  1.1  explorer /*   DMA  Channel 1   Registers (memory -> MSCI, or tx) */
    185  1.1  explorer #define  SCA_BARL1  0xA0    /* buffer address reg  */
    186  1.1  explorer #define  SCA_BARH1  0xA1    /* buffer address reg  */
    187  1.1  explorer #define  SCA_BARB1  0xA2    /* buffer address reg  */
    188  1.1  explorer #define  SCA_SARL1  0xA4    /* Source address reg  */
    189  1.1  explorer #define  SCA_SARH1  0xA5    /* Source address reg  */
    190  1.1  explorer #define  SCA_SARB1  0xA6    /* Source address reg  */
    191  1.1  explorer #define  SCA_CPB1   0xA6    /* Chain pointer base  */
    192  1.1  explorer #define  SCA_CDAL1  0xA8    /* Current descriptor address  */
    193  1.1  explorer #define  SCA_CDAH1  0xA9    /* Current descriptor address  */
    194  1.1  explorer #define  SCA_EDAL1  0xAA    /* Error descriptor address  */
    195  1.1  explorer #define  SCA_EDAH1  0xAB    /* Error descriptor address  */
    196  1.1  explorer #define  SCA_BCRL1  0xAE    /* Byte Count reg  */
    197  1.1  explorer #define  SCA_BCRH1  0xAF    /* Byte Count reg  */
    198  1.1  explorer #define  SCA_DSR1   0xB0    /* DMA Status reg  */
    199  1.1  explorer #define  SCA_DMR1   0xB1    /* DMA Mode reg    */
    200  1.1  explorer #define  SCA_FCT1   0xB3    /* Frame end interrupt Counter */
    201  1.1  explorer #define  SCA_DIR1   0xB4    /* DMA interrupt enable */
    202  1.1  explorer #define  SCA_DCR1   0xB5    /* DMA Command reg  */
    203  1.1  explorer 
    204  1.1  explorer /*   DMA   Channel 2   Registers (MSCI -> memory) */
    205  1.1  explorer #define  SCA_BARL2  0xC0    /* buffer address reg  */
    206  1.1  explorer #define  SCA_BARH2  0xC1    /* buffer address reg  */
    207  1.1  explorer #define  SCA_BARB2  0xC2    /* buffer address reg  */
    208  1.1  explorer #define  SCA_DSR2   0xD0    /* DMA Status reg  */
    209  1.1  explorer 
    210  1.1  explorer /*   DMA   Channel 3   Registers (memory -> MSCI) */
    211  1.1  explorer #define  SCA_BARL3  0xE0    /* buffer address reg  */
    212  1.1  explorer #define  SCA_BARH3  0xE1    /* buffer address reg  */
    213  1.1  explorer #define  SCA_BARB3  0xE2    /* buffer address reg  */
    214  1.1  explorer #define  SCA_DSR3   0xF0    /* DMA Status reg  */
    215  1.1  explorer 
    216  1.1  explorer /*
    217  1.1  explorer  * SCA HD64570 Register Definitions
    218  1.1  explorer  */
    219  1.1  explorer 
    220  1.1  explorer #define ST3_CTS   8    /* modem input  /CTS bit */
    221  1.1  explorer #define ST3_DCD   4    /* modem input  /DCD bit */
    222  1.1  explorer 
    223  1.1  explorer /*
    224  1.1  explorer  * SCA commands
    225  1.1  explorer  */
    226  1.1  explorer #define SCA_CMD_TXRESET         0x01
    227  1.1  explorer #define SCA_CMD_TXENABLE        0x02
    228  1.1  explorer #define SCA_CMD_TXDISABLE       0x03
    229  1.1  explorer #define SCA_CMD_TXCRCINIT       0x04
    230  1.1  explorer #define SCA_CMD_TXCRCEXCL       0x05
    231  1.1  explorer #define SCA_CMS_TXEOM           0x06
    232  1.1  explorer #define SCA_CMD_TXABORT         0x07
    233  1.1  explorer #define SCA_CMD_MPON            0x08
    234  1.1  explorer #define SCA_CMD_TXBCLEAR        0x09
    235  1.1  explorer 
    236  1.1  explorer #define SCA_CMD_RXRESET         0x11
    237  1.1  explorer #define SCA_CMD_RXENABLE        0x12
    238  1.1  explorer #define SCA_CMD_RXDISABLE       0x13
    239  1.1  explorer #define SCA_CMD_RXCRCINIT       0x14
    240  1.1  explorer #define SCA_CMD_RXMSGREJ        0x15
    241  1.1  explorer #define SCA_CMD_MPSEARCH        0x16
    242  1.1  explorer #define SCA_CMD_RXCRCEXCL       0x17
    243  1.1  explorer #define SCA_CMD_RXCRCCALC       0x18
    244  1.1  explorer 
    245  1.1  explorer #define SCA_CMD_NOP             0x00
    246  1.1  explorer #define SCA_CMD_RESET           0x21
    247  1.1  explorer #define SCA_CMD_SEARCH          0x31
    248  1.1  explorer 
    249  1.1  explorer #define SCA_MD0_CRC_1           0x01
    250  1.1  explorer #define SCA_MD0_CRC_CCITT       0x02
    251  1.1  explorer #define SCA_MD0_CRC_ENABLE      0x04
    252  1.1  explorer #define SCA_MD0_AUTO_ENABLE     0x10
    253  1.1  explorer #define SCA_MD0_MODE_ASYNC      0x00
    254  1.1  explorer #define SCA_MD0_MODE_BYTESYNC1  0x20
    255  1.1  explorer #define SCA_MD0_MODE_BISYNC     0x40
    256  1.1  explorer #define SCA_MD0_MODE_BYTESYNC2  0x60
    257  1.1  explorer #define SCA_MD0_MODE_HDLC       0x80
    258  1.1  explorer 
    259  1.1  explorer #define SCA_MD1_NOADDRCHK       0x00
    260  1.1  explorer #define SCA_MD1_SNGLADDR1       0x40
    261  1.1  explorer #define SCA_MD1_SNGLADDR2       0x80
    262  1.1  explorer #define SCA_MD1_DUALADDR        0xC0
    263  1.1  explorer 
    264  1.1  explorer #define SCA_MD2_DUPLEX          0x00
    265  1.1  explorer #define SCA_MD2_ECHO            0x01
    266  1.1  explorer #define SCA_MD2_LOOPBACK        0x03
    267  1.1  explorer #define SCA_MD2_ADPLLx8         0x00
    268  1.1  explorer #define SCA_MD2_ADPLLx16        0x08
    269  1.1  explorer #define SCA_MD2_ADPLLx32        0x10
    270  1.1  explorer #define SCA_MD2_NRZ             0x00
    271  1.1  explorer #define SCA_MD2_NRZI            0x20
    272  1.1  explorer #define SCA_MD2_MANCHESTER      0x80
    273  1.1  explorer #define SCA_MD2_FM0             0xC0
    274  1.1  explorer #define SCA_MD2_FM1             0xA0
    275  1.1  explorer 
    276  1.1  explorer #define SCA_CTL_RTS             0x01
    277  1.1  explorer #define SCA_CTL_IDLPAT          0x10
    278  1.1  explorer #define SCA_CTL_UDRNC           0x20
    279  1.1  explorer 
    280  1.1  explorer #define SCA_RXS_DIV_MASK        0x0F
    281  1.1  explorer #define SCA_RXS_DIV1            0x00
    282  1.1  explorer #define SCA_RXS_DIV2            0x01
    283  1.1  explorer #define SCA_RXS_DIV4            0x02
    284  1.1  explorer #define SCA_RXS_DIV8            0x03
    285  1.1  explorer #define SCA_RXS_DIV16           0x04
    286  1.1  explorer #define SCA_RXS_DIV32           0x05
    287  1.1  explorer #define SCA_RXS_DIV64           0x06
    288  1.1  explorer #define SCA_RXS_DIV128          0x07
    289  1.1  explorer #define SCA_RXS_DIV256          0x08
    290  1.1  explorer #define SCA_RXS_DIV512          0x09
    291  1.1  explorer #define SCA_RXS_CLK_RXC0        0x00
    292  1.1  explorer #define SCA_RXS_CLK_RXC1        0x20
    293  1.1  explorer #define SCA_RXS_CLK_INT         0x40
    294  1.1  explorer #define SCA_RXS_CLK_ADPLL_OUT   0x60
    295  1.1  explorer #define SCA_RXS_CLK_ADPLL_IN    0x70
    296  1.1  explorer 
    297  1.1  explorer #define SCA_TXS_DIV_MASK        0x0F
    298  1.1  explorer #define SCA_TXS_DIV1            0x00
    299  1.1  explorer #define SCA_TXS_DIV2            0x01
    300  1.1  explorer #define SCA_TXS_DIV4            0x02
    301  1.1  explorer #define SCA_TXS_DIV8            0x03
    302  1.1  explorer #define SCA_TXS_DIV16           0x04
    303  1.1  explorer #define SCA_TXS_DIV32           0x05
    304  1.1  explorer #define SCA_TXS_DIV64           0x06
    305  1.1  explorer #define SCA_TXS_DIV128          0x07
    306  1.1  explorer #define SCA_TXS_DIV256          0x08
    307  1.1  explorer #define SCA_TXS_DIV512          0x09
    308  1.1  explorer #define SCA_TXS_CLK_TXC         0x00
    309  1.1  explorer #define SCA_TXS_CLK_INT         0x40
    310  1.1  explorer #define SCA_TXS_CLK_RX          0x60
    311  1.1  explorer 
    312  1.1  explorer #define SCA_ST0_RXRDY           0x01
    313  1.1  explorer #define SCA_ST0_TXRDY           0x02
    314  1.1  explorer #define SCA_ST0_RXINT           0x40
    315  1.1  explorer #define SCA_ST0_TXINT           0x80
    316  1.1  explorer 
    317  1.1  explorer #define SCA_ST1_IDLST           0x01
    318  1.1  explorer #define SCA_ST1_ABTST           0x02
    319  1.1  explorer #define SCA_ST1_DCDCHG          0x04
    320  1.1  explorer #define SCA_ST1_CTSCHG          0x08
    321  1.1  explorer #define SCA_ST1_FLAG            0x10
    322  1.1  explorer #define SCA_ST1_TXIDL           0x40
    323  1.1  explorer #define SCA_ST1_UDRN            0x80
    324  1.1  explorer 
    325  1.1  explorer /* ST2 and FST look the same */
    326  1.1  explorer #define SCA_FST_CRCERR          0x04
    327  1.1  explorer #define SCA_FST_OVRN            0x08
    328  1.1  explorer #define SCA_FST_RESFRM          0x10
    329  1.1  explorer #define SCA_FST_ABRT            0x20
    330  1.1  explorer #define SCA_FST_SHRT            0x40
    331  1.1  explorer #define SCA_FST_EOM             0x80
    332  1.1  explorer 
    333  1.1  explorer #define SCA_ST3_RXENA           0x01
    334  1.1  explorer #define SCA_ST3_TXENA           0x02
    335  1.1  explorer #define SCA_ST3_DCD             0x04
    336  1.1  explorer #define SCA_ST3_CTS             0x08
    337  1.1  explorer #define SCA_ST3_ADPLLSRCH       0x10
    338  1.1  explorer #define SCA_ST3_TXDATA          0x20
    339  1.1  explorer 
    340  1.1  explorer #define SCA_FIE_EOMFE           0x80
    341  1.1  explorer 
    342  1.1  explorer #define SCA_IE0_RXRDY           0x01
    343  1.1  explorer #define SCA_IE0_TXRDY           0x02
    344  1.1  explorer #define SCA_IE0_RXINT           0x40
    345  1.1  explorer #define SCA_IE0_TXINT           0x80
    346  1.1  explorer 
    347  1.1  explorer #define SCA_IE1_IDLDE           0x01
    348  1.1  explorer #define SCA_IE1_ABTDE           0x02
    349  1.1  explorer #define SCA_IE1_DCD             0x04
    350  1.1  explorer #define SCA_IE1_CTS             0x08
    351  1.1  explorer #define SCA_IE1_FLAG            0x10
    352  1.1  explorer #define SCA_IE1_IDL             0x40
    353  1.1  explorer #define SCA_IE1_UDRN            0x80
    354  1.1  explorer 
    355  1.1  explorer #define SCA_IE2_CRCERR          0x04
    356  1.1  explorer #define SCA_IE2_OVRN            0x08
    357  1.1  explorer #define SCA_IE2_RESFRM          0x10
    358  1.1  explorer #define SCA_IE2_ABRT            0x20
    359  1.1  explorer #define SCA_IE2_SHRT            0x40
    360  1.1  explorer #define SCA_IE2_EOM             0x80
    361  1.1  explorer 
    362  1.1  explorer /* This is for RRC, TRC0 and TRC1. */
    363  1.1  explorer #define SCA_RCR_MASK            0x1F
    364  1.1  explorer 
    365  1.1  explorer #define SCA_IE1_
    366  1.1  explorer 
    367  1.1  explorer #define SCA_IV_CHAN0            0x00
    368  1.1  explorer #define SCA_IV_CHAN1            0x20
    369  1.1  explorer 
    370  1.1  explorer #define SCA_IV_RXRDY            0x04
    371  1.1  explorer #define SCA_IV_TXRDY            0x06
    372  1.1  explorer #define SCA_IV_RXINT            0x08
    373  1.1  explorer #define SCA_IV_TXINT            0x0A
    374  1.1  explorer 
    375  1.1  explorer #define SCA_IV_DMACH0           0x00
    376  1.1  explorer #define SCA_IV_DMACH1           0x08
    377  1.1  explorer #define SCA_IV_DMACH2           0x20
    378  1.1  explorer #define SCA_IV_DMACH3           0x28
    379  1.1  explorer 
    380  1.1  explorer #define SCA_IV_DMIA             0x14
    381  1.1  explorer #define SCA_IV_DMIB             0x16
    382  1.1  explorer 
    383  1.1  explorer #define SCA_IV_TIMER0           0x1C
    384  1.1  explorer #define SCA_IV_TIMER1           0x1E
    385  1.1  explorer #define SCA_IV_TIMER2           0x3C
    386  1.1  explorer #define SCA_IV_TIMER3           0x3E
    387  1.1  explorer 
    388  1.1  explorer /*
    389  1.1  explorer  * DMA registers
    390  1.1  explorer  */
    391  1.1  explorer #define SCA_DSR_EOT             0x80
    392  1.1  explorer #define SCA_DSR_EOM             0x40
    393  1.1  explorer #define SCA_DSR_BOF             0x20
    394  1.1  explorer #define SCA_DSR_COF             0x10
    395  1.1  explorer #define SCA_DSR_DE              0x02
    396  1.1  explorer #define SCA_DSR_DEWD            0x01	/* write DISABLE DE bit */
    397  1.1  explorer 
    398  1.1  explorer #define SCA_DMR_TMOD            0x10
    399  1.1  explorer #define SCA_DMR_NF              0x04
    400  1.1  explorer #define SCA_DMR_CNTE            0x02
    401  1.1  explorer 
    402  1.1  explorer #define SCA_DMER_EN             0x80
    403  1.1  explorer 
    404  1.1  explorer #define SCA_DCR_ABRT            0x01
    405  1.1  explorer #define SCA_DCR_FCCLR           0x02  /* Clear frame end intr counter */
    406  1.1  explorer 
    407  1.1  explorer #define SCA_DIR_EOT             0x80
    408  1.1  explorer #define SCA_DIR_EOM             0x40
    409  1.1  explorer #define SCA_DIR_BOF             0x20
    410  1.1  explorer #define SCA_DIR_COF             0x10
    411  1.1  explorer 
    412  1.1  explorer #define SCA_PCR_BRC             0x10
    413  1.1  explorer #define SCA_PCR_CCC             0x08
    414  1.1  explorer #define SCA_PCR_PR2             0x04
    415  1.1  explorer #define SCA_PCR_PR1             0x02
    416  1.1  explorer #define SCA_PCR_PR0             0x01
    417  1.1  explorer 
    418  1.1  explorer /*
    419  1.1  explorer  * Descriptor Status byte bit definitions:
    420  1.1  explorer  *
    421  1.1  explorer  *  Bit    Receive Status            Transmit Status
    422  1.1  explorer  * -------------------------------------------------
    423  1.1  explorer  *   7         EOM                       EOM
    424  1.1  explorer  *   6         Short Frame               ...
    425  1.1  explorer  *   5         Abort                     ...
    426  1.1  explorer  *   4         Residual bit              ...
    427  1.1  explorer  *   3         Overrun                   ...
    428  1.1  explorer  *   2         CRC                       ...
    429  1.1  explorer  *   1         ...                       ...
    430  1.1  explorer  *   0         ...                       EOT
    431  1.1  explorer  * -------------------------------------------------
    432  1.1  explorer  */
    433  1.1  explorer 
    434  1.1  explorer #define  ST_EOM    0x80    /* End of frame  */
    435  1.1  explorer #define  ST_SHRT   0x40    /* Short frame  */
    436  1.1  explorer #define  ST_ABT    0x20    /* Abort detected */
    437  1.1  explorer #define  ST_RBIT   0x10    /* Residual bit detected */
    438  1.1  explorer #define  ST_OVRN   0x8     /* Overrun error */
    439  1.1  explorer #define  ST_CRCE   0x4     /* CRC Error */
    440  1.1  explorer #define  ST_OVFL   0x1     /* Buffer OverFlow error  (software defined) */
    441  1.1  explorer 
    442  1.1  explorer #define  ST_EOT      1     /* End of transmit command */
    443  1.1  explorer 
    444  1.1  explorer 
    445  1.1  explorer /*  DMA  Status register (DSR)  bit definitions  */
    446  1.1  explorer #define  DSR_EOT  0x80      /* end of transfer EOT bit */
    447  1.1  explorer #define  DSR_EOM  0x40      /* end of frame EOM bit */
    448  1.1  explorer #define  DSR_BOF  0x20      /* buffer overflow BOF bit */
    449  1.1  explorer #define  DSR_COF  0x10      /* counter overflow  COF bit */
    450  1.1  explorer #define  DSR_DWE     1      /* write disable DWE bit */
    451  1.1  explorer 
    452  1.1  explorer /*  MSCI Status register 0 bits  */
    453  1.1  explorer 
    454  1.1  explorer #define  RXRDY_BIT  1       /* RX ready */
    455  1.1  explorer #define  TXRDY_BIT  2       /* TX ready */
    456  1.1  explorer 
    457  1.1  explorer #define ST3_CTS   8    /* modem input  /CTS bit */
    458  1.1  explorer #define ST3_DCD   4    /* modem input  /DCD bit */
    459  1.1  explorer 
    460  1.1  explorer 
    461  1.1  explorer /*  TX and RX Clock Source  */
    462  1.1  explorer #define CLK_LINE	0x00	/* TX/RX line input */
    463  1.1  explorer #define CLK_BRG		0x40	/* internal baud rate generator */
    464  1.1  explorer #define CLK_RXC		0x60	/* receive clock */
    465  1.1  explorer 
    466  1.1  explorer /*   Clocking options  */
    467  1.1  explorer #define  CLK_INT   0        /* Internal - Baud Rate generator output */
    468  1.1  explorer #define  CLK_EXT   1        /* External - both clocks */
    469  1.1  explorer #define  CLK_RXCI  2        /* External - Receive Clock only */
    470  1.1  explorer #define  CLK_EETC  3        /* EETC clock:  TX = int. / RX = ext.*/
    471  1.1  explorer 
    472  1.1  explorer #define SCA_DMAC_OFF_0		0x00	/* offset of DMAC for port 0 */
    473  1.1  explorer #define SCA_DMAC_OFF_1		0x40	/* offset of DMAC for port 1 */
    474  1.1  explorer #define SCA_MSCI_OFF_0		0x00	/* offset of MSCI for port 0 */
    475  1.1  explorer #define SCA_MSCI_OFF_1		0x20	/* offset of MSCI for port 1 */
    476  1.1  explorer 
    477  1.1  explorer /*
    478  1.1  explorer  * DMA constraints
    479  1.1  explorer  */
    480  1.1  explorer #define SCA_DMA_ALIGNMENT	(64 * 1024)	/* 64 KB alignment */
    481  1.1  explorer #define SCA_DMA_BOUNDRY		(16 * 1024 * 1024)	/* 16 MB region */
    482  1.1  explorer 
    483  1.1  explorer #endif /* _HD64750REG_H_ */
    484