Home | History | Annotate | Line # | Download | only in marvell
gtmpscreg.h revision 1.1.2.1
      1  1.1.2.1  skrll /*	$NetBSD: gtmpscreg.h,v 1.1.2.1 2005/03/04 16:43:40 skrll Exp $	*/
      2      1.1   matt 
      3      1.1   matt /*
      4      1.1   matt  * Copyright (c) 2002 Allegro Networks, Inc., Wasabi Systems, Inc.
      5      1.1   matt  * All rights reserved.
      6      1.1   matt  *
      7      1.1   matt  * Redistribution and use in source and binary forms, with or without
      8      1.1   matt  * modification, are permitted provided that the following conditions
      9      1.1   matt  * are met:
     10      1.1   matt  * 1. Redistributions of source code must retain the above copyright
     11      1.1   matt  *    notice, this list of conditions and the following disclaimer.
     12      1.1   matt  * 2. Redistributions in binary form must reproduce the above copyright
     13      1.1   matt  *    notice, this list of conditions and the following disclaimer in the
     14      1.1   matt  *    documentation and/or other materials provided with the distribution.
     15      1.1   matt  * 3. All advertising materials mentioning features or use of this software
     16      1.1   matt  *    must display the following acknowledgement:
     17      1.1   matt  *      This product includes software developed for the NetBSD Project by
     18      1.1   matt  *      Allegro Networks, Inc., and Wasabi Systems, Inc.
     19      1.1   matt  * 4. The name of Allegro Networks, Inc. may not be used to endorse
     20      1.1   matt  *    or promote products derived from this software without specific prior
     21      1.1   matt  *    written permission.
     22      1.1   matt  * 5. The name of Wasabi Systems, Inc. may not be used to endorse
     23      1.1   matt  *    or promote products derived from this software without specific prior
     24      1.1   matt  *    written permission.
     25      1.1   matt  *
     26      1.1   matt  * THIS SOFTWARE IS PROVIDED BY ALLEGRO NETWORKS, INC. AND
     27      1.1   matt  * WASABI SYSTEMS, INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
     28      1.1   matt  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
     29      1.1   matt  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     30      1.1   matt  * IN NO EVENT SHALL EITHER ALLEGRO NETWORKS, INC. OR WASABI SYSTEMS, INC.
     31      1.1   matt  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     32      1.1   matt  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     33      1.1   matt  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     34      1.1   matt  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     35      1.1   matt  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     36      1.1   matt  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     37      1.1   matt  * POSSIBILITY OF SUCH DAMAGE.
     38      1.1   matt  */
     39      1.1   matt 
     40      1.1   matt /*
     41      1.1   matt  * gtmpscreg.h - register defines for GT-64260 MPSC
     42      1.1   matt  *
     43      1.1   matt  * creation	Sun Apr  8 11:49:57 PDT 2001	cliff
     44      1.1   matt  */
     45      1.1   matt 
     46      1.1   matt #ifndef _GTMPSCREG_H
     47      1.1   matt #define _GTMPSCREG_H
     48      1.1   matt 
     49      1.1   matt #ifndef BIT
     50      1.1   matt #define BIT(bitno)          (1U << (bitno))
     51      1.1   matt #endif
     52      1.1   matt #ifndef BITS
     53      1.1   matt #define BITS(hi, lo)        ((~((~0) << ((hi) + 1))) & ((~0) << (lo)))
     54      1.1   matt #endif
     55      1.1   matt 
     56      1.1   matt #define GTMPSC_NCHAN      2               /* Number of MPSC channels */
     57      1.1   matt 
     58      1.1   matt /*******************************************************************************
     59      1.1   matt  *
     60      1.1   matt  * MPSC register address offsets relative to the base mapping
     61      1.1   matt  */
     62      1.1   matt #define GTMPSC_MRR	0xb400		/* MPSC Routing Register */
     63      1.1   matt #define GTMPSC_RCRR	0xb404		/* MPSC RX Clock Routing Register */
     64      1.1   matt #define GTMPSC_TCRR	0xb408		/* MPSC TX Clock Routing Register */
     65      1.1   matt #define GTMPSC_MMCR0_LO	0x8000		/* MPSC0 Main Config Register Lo */
     66      1.1   matt #define GTMPSC_MMCR0_HI	0x8004		/* MPSC0 Main Config Register Hi */
     67      1.1   matt #define GTMPSC_MPCR0	0x8008		/* MPSC0 Protocol Config Register */
     68      1.1   matt #define GTMPSC_CH0_BASE	0x8008		/* MPSC0 Channel Register base */
     69      1.1   matt #define GTMPSC_CHR0(n)	(MPSC_CH0_BASE + ((n) << 2))
     70      1.1   matt #define GTMPSC_MMCR1_LO	0x9000		/* MPSC1 Main Config Register Lo */
     71      1.1   matt #define GTMPSC_MMCR1_HI	0x9004		/* MPSC1 Main Config Register Hi */
     72      1.1   matt #define GTMPSC_MPCR1	0x9008		/* MPSC1 Protocol Config Register */
     73      1.1   matt #define GTMPSC_CH1R_BASE 0x9008		/* MPSC1 Channel Register base */
     74      1.1   matt #define GTMPSC_CHR1(n)	(GTMPSC_CH1_BASE + ((n) << 2))
     75      1.1   matt 
     76      1.1   matt #define GTMPSC_U_MMCR_LO(u)	(GTMPSC_MMCR0_LO + (((u) & 1) << 12))
     77      1.1   matt #define GTMPSC_U_MMCR_HI(u)	(GTMPSC_MMCR0_HI + (((u) & 1) << 12))
     78      1.1   matt #define GTMPSC_U_MPCR(u)	(GTMPSC_MPCR0 + (((u) & 1) << 12))
     79      1.1   matt #define GTMPSC_U_CHRN(u, n)	(GTMPSC_CH0_BASE + (((u) & 1) << 12) + ((n) << 2))
     80      1.1   matt 
     81      1.1   matt /*******************************************************************************
     82      1.1   matt  *
     83      1.1   matt  * MPSC register values & bit defines
     84      1.1   matt  *
     85      1.1   matt  *	values are provided for UART mode only
     86      1.1   matt  */
     87      1.1   matt /*
     88      1.1   matt  * MPSC Routing Register bits
     89      1.1   matt  */
     90      1.1   matt #define GTMPSC_MRR_PORT0	0		/* serial port #0 */
     91      1.1   matt #define GTMPSC_MRR_NONE		7		/* unconnected */
     92      1.1   matt 						/* all other "routes" resvd. */
     93      1.1   matt #define GTMPSC_MRR_MR0_MASK	BITS(2,0)	/* routing mask for MPSC0 */
     94      1.1   matt #define GTMPSC_MRR_RESa		BITS(5,3)
     95      1.1   matt #define GTMPSC_MRR_MR1_MASK	BITS(8,6)	/* routing mask for MPSC1 */
     96      1.1   matt #define GTMPSC_MRR_RESb		BITS(30,9)
     97      1.1   matt #define GTMPSC_MRRE_DSC		BIT(31)		/* "Don't Stop Clock" */
     98      1.1   matt #define GTMPSC_MRR_RES (GTMPSC_MRR_RESa|GTMPSC_MRR_RESb)
     99      1.1   matt /*
    100      1.1   matt  * MPSC Clock Routing Register bits
    101      1.1   matt  * the bitfields and route definitions are common for RCRR and TCRR
    102      1.1   matt  * except for MPSC_TCRR_TSCLK0
    103      1.1   matt  */
    104      1.1   matt #define GTMPSC_CRR_BRG0		0x0		/* Baud Rate Generator #0 */
    105      1.1   matt #define GTMPSC_CRR_BRG1		0x1		/* Baud Rate Generator #1 */
    106      1.1   matt #define GTMPSC_CRR_BRG2		0x2		/* Baud Rate Generator #2 */
    107      1.1   matt #define GTMPSC_CRR_SCLK0	0x8		/* SCLK0 */
    108      1.1   matt #define GTMPSC_TCRR_TSCLK0	0x9		/* TSCLK0 (for TCRR only) */
    109      1.1   matt 						/* all other values resvd. */
    110      1.1   matt #define GTMPSC_CRR0_SHIFT	0
    111      1.1   matt #define GTMPSC_CRR0_MASK	BITS(3,0)	/* MPSC0 Clock Routing */
    112      1.1   matt #define GTMPSC_CRR_RESa		BITS(7,4)
    113      1.1   matt #define GTMPSC_CRR1_SHIFT	8
    114      1.1   matt #define GTMPSC_CRR1_MASK	BITS(11,8)	/* MPSC1 Clock Routing */
    115      1.1   matt #define GTMPSC_CRR_RESb		BITS(31,12)
    116      1.1   matt #define GTMPSC_CRR_RES (GTMPSC_CRR_RESa|GTMPSC_CRR_RESb)
    117      1.1   matt /*
    118      1.1   matt  * MPSC Main Configuration Register LO bits
    119      1.1   matt  */
    120      1.1   matt #define GTMPSC_MMCR_LO_MODE_MASK BITS(2,0)
    121      1.1   matt #define GTMPSC_MMCR_LO_MODE_UART (0x4 << 0)	/* UART mode */
    122      1.1   matt #define GTMPSC_MMCR_LO_TTX	 BIT(3)		/* Transparent TX */
    123      1.1   matt #define GTMPSC_MMCR_LO_TRX	 BIT(4)		/* Transparent RX */
    124      1.1   matt #define GTMPSC_MMCR_LO_RESa	 BIT(5)
    125      1.1   matt #define GTMPSC_MMCR_LO_ET	 BIT(6)		/* Enable TX */
    126      1.1   matt #define GTMPSC_MMCR_LO_ER	 BIT(7)		/* Enable RX */
    127      1.1   matt #define GTMPSC_MMCR_LO_LPBK_MASK BITS(9,8)	/* Loop Back */
    128      1.1   matt #define GTMPSC_MMCR_LO_LPBK_NONE (0 << 8)	/* Normal (non-loop) */
    129      1.1   matt #define GTMPSC_MMCR_LO_LPBK_LOOP (1 << 8)	/* Loop Back */
    130      1.1   matt #define GTMPSC_MMCR_LO_LPBK_ECHO (2 << 8)	/* Echo */
    131      1.1   matt #define GTMPSC_MMCR_LO_LPBK_LBE	(3 << 8)	/* Loop Back and Echo */
    132      1.1   matt #define GTMPSC_MMCR_LO_NLM	BIT(10)		/* Null Modem */
    133      1.1   matt #define GTMPSC_MMCR_LO_RESb	BIT(11)
    134      1.1   matt #define GTMPSC_MMCR_LO_TSYN	BIT(12)		/* Transmitter sync to Rcvr. */
    135      1.1   matt #define GTMPSC_MMCR_LO_RESc	BIT(13)
    136      1.1   matt #define GTMPSC_MMCR_LO_TSNS_MASK BITS(15,14)	/* Transmit Sense */
    137      1.1   matt #define GTMPSC_MMCR_LO_TSNS_INF	(0 << 14)	/* Infinite */
    138      1.1   matt #define GTMPSC_MMCR_LO_TIDL	BIT(16)		/* TX Idles */
    139      1.1   matt #define GTMPSC_MMCR_LO_RTSM	BIT(17)		/* RTS Mode */
    140      1.1   matt #define GTMPSC_MMCR_LO_RESd	BIT(18)
    141      1.1   matt #define GTMPSC_MMCR_LO_CTSS	BIT(19)		/* CTS Sampling mode */
    142      1.1   matt #define GTMPSC_MMCR_LO_CDS	BIT(20)		/* CD Sampling mode */
    143      1.1   matt #define GTMPSC_MMCR_LO_CTSM	BIT(21)		/* CTS operating Mode */
    144      1.1   matt #define GTMPSC_MMCR_LO_CDM	BIT(22)		/* CD operating Mode */
    145      1.1   matt #define GTMPSC_MMCR_LO_CRCM_MASK BITS(25,23)	/* CRC Mode */
    146      1.1   matt #define GTMPSC_MMCR_LO_CRCM_NONE (0 << 23)	/* CRC Mode */
    147      1.1   matt #define GTMPSC_MMCR_LO_RESe	BITS(27,26)
    148      1.1   matt #define GTMPSC_MMCR_LO_TRVD	BIT(28)		/* Transmit Reverse Data */
    149      1.1   matt #define GTMPSC_MMCR_LO_RRVD	BIT(29)		/* Receive  Reverse Data */
    150      1.1   matt #define GTMPSC_MMCR_LO_RESf	BIT(30)
    151      1.1   matt #define GTMPSC_MMCR_LO_GDE	BIT(31)		/* Glitch Detect Enable */
    152      1.1   matt #define GTMPSC_MMCR_LO_RES \
    153      1.1   matt 		(GTMPSC_MMCR_LO_RESa|GTMPSC_MMCR_LO_RESb|GTMPSC_MMCR_LO_RESc \
    154      1.1   matt 		|GTMPSC_MMCR_LO_RESd|GTMPSC_MMCR_LO_RESe|GTMPSC_MMCR_LO_RESf)
    155      1.1   matt /*
    156      1.1   matt  * MPSC Main Configuration Register HI bits
    157      1.1   matt  */
    158      1.1   matt #define GTMPSC_MMCR_HI_TCI	 BIT(0)		/* TX Clock Invert */
    159      1.1   matt #define GTMPSC_MMCR_HI_TINV	 BIT(1)		/* TX Bitstream Inversion */
    160      1.1   matt #define GTMPSC_MMCR_HI_TPL	 BITS(4,2)	/* TX Preable Length */
    161      1.1   matt #define GTMPSC_MMCR_HI_TPL_NONE	 0		/* no TX Preable (default) */
    162      1.1   matt #define GTMPSC_MMCR_HI_TPL_16	 (6 << 2)	/* 16 byte preamble */
    163      1.1   matt #define GTMPSC_MMCR_HI_TPPT_MASK BITS(8,5)	/* TX Preable Pattern */
    164      1.1   matt #define GTMPSC_MMCR_HI_TPPT_NONE (0 << 5)	/* TX Preable Pattern */
    165      1.1   matt #define GTMPSC_MMCR_HI_TCDV_MASK BITS(10,9)	/* TX Clock Divide */
    166      1.1   matt #define GTMPSC_MMCR_HI_TCDV_1X	 (0 << 9)	/* 1x clock mode */
    167      1.1   matt #define GTMPSC_MMCR_HI_TCDV_8X	 (1 << 9)	/* 8x clock mode */
    168      1.1   matt #define GTMPSC_MMCR_HI_TCDV_16X	 (2 << 9)	/* 16x clock mode */
    169      1.1   matt #define GTMPSC_MMCR_HI_TCDV_32X	 (3 << 9)	/* 32x clock mode */
    170      1.1   matt #define GTMPSC_MMCR_HI_TDEC_MASK BITS(13,11)	/* TX Encoder */
    171      1.1   matt #define GTMPSC_MMCR_HI_TDEC_NRZ	 (0 << 9)	/* NRZ (default) */
    172      1.1   matt #define GTMPSC_MMCR_HI_TDEC_NRZI (1 << 9)	/* NRZI (mark) */
    173      1.1   matt #define GTMPSC_MMCR_HI_TDEC_FM0	 (2 << 9)	/* FM0 */
    174      1.1   matt #define GTMPSC_MMCR_HI_TDEC_MAN	 (4 << 9)	/* Manchester */
    175      1.1   matt #define GTMPSC_MMCR_HI_TDEC_DMAN (6 << 9)	/* Differential Manchester */
    176      1.1   matt 						/* all other values rsvd. */
    177      1.1   matt #define GTMPSC_MMCR_HI_RESa	BITS(15,14)
    178      1.1   matt #define GTMPSC_MMCR_HI_RINV	BIT(16)		/* RX Bitstream Inversion */
    179      1.1   matt #define GTMPSC_MMCR_HI_GDW	BITS(20,17)	/* Clock Glitch Width */
    180      1.1   matt #define GTMPSC_MMCR_HI_RESb	BIT(21)
    181      1.1   matt #define GTMPSC_MMCR_HI_RDW	BIT(22)		/* Reveive Data Width */
    182      1.1   matt #define GTMPSC_MMCR_HI_RSYL_MASK  BITS(24,23)	/* Reveive Sync Width */
    183      1.1   matt #define GTMPSC_MMCR_HI_RSYL_EXT	  (0 << 23)	/* External sync */
    184      1.1   matt #define GTMPSC_MMCR_HI_RSYL_4BIT  (1 << 23)	/* 4-bit sync */
    185      1.1   matt #define GTMPSC_MMCR_HI_RSYL_8BIT  (2 << 23)	/* 8-bit sync */
    186      1.1   matt #define GTMPSC_MMCR_HI_RSYL_16BIT (3 << 23)	/* 16-bit sync */
    187      1.1   matt #define GTMPSC_MMCR_HI_RCDV_MASK BITS(26,25)     /* Receive Clock Divider */
    188      1.1   matt #define GTMPSC_MMCR_HI_RCDV_1X   (0 << 25)       /* 1x clock mode (default) */
    189      1.1   matt #define GTMPSC_MMCR_HI_RCDV_8X   (1 << 25)       /* 8x clock mode (default) */
    190      1.1   matt #define GTMPSC_MMCR_HI_RCDV_16X  (2 << 25)       /* 16x clock mode (default) */
    191      1.1   matt #define GTMPSC_MMCR_HI_RCDV_32X  (3 << 25)       /* 16x clock mode (default) */
    192      1.1   matt #define GTMPSC_MMCR_HI_RENC_MASK BITS(29,27)	/* Receive Encoder */
    193      1.1   matt #define GTMPSC_MMCR_HI_RENC_NRZ	(0 << 27)	/* NRZ (default) */
    194      1.1   matt #define GTMPSC_MMCR_HI_RENC_NRZI (1 << 27)	/* NRZI */
    195      1.1   matt #define GTMPSC_MMCR_HI_RENC_FM0	(2 << 27)	/* FM0 */
    196      1.1   matt #define GTMPSC_MMCR_HI_RENC_MAN	(4 << 27)	/* Manchester */
    197      1.1   matt #define GTMPSC_MMCR_HI_RENC_DMAN (6 << 27)	/* Differential Manchester */
    198      1.1   matt 						/* all other values rsvd. */
    199      1.1   matt #define GTMPSC_MMCR_HI_SEDG_MASK BITS(31,30)	/* Sync Clock Edge */
    200      1.1   matt #define GTMPSC_MMCR_HI_SEDG_BOTH (0 << 30)	/* rising and falling (dflt) */
    201      1.1   matt #define GTMPSC_MMCR_HI_SEDG_RISE (1 << 30)	/* rising edge */
    202      1.1   matt #define GTMPSC_MMCR_HI_SEDG_FALL (2 << 30)	/* falling edge */
    203      1.1   matt #define GTMPSC_MMCR_HI_SEDG_NONE (3 << 30)	/* no adjustment */
    204      1.1   matt /*
    205      1.1   matt  * SDMAx Command/Status Register bits for UART Mode, RX
    206      1.1   matt  *
    207      1.1   matt  * XXX these belong in sdmareg.h ?
    208      1.1   matt  */
    209      1.1   matt #define SDMA_CSR_RX_PE		BIT(0)		/* Parity Error */
    210      1.1   matt #define SDMA_CSR_RX_CDL		BIT(1)		/* Carrier Detect Loss */
    211      1.1   matt #define SDMA_CSR_RX_RESa	BIT(2)
    212      1.1   matt #define SDMA_CSR_RX_FR		BIT(3)		/* Framing Error */
    213      1.1   matt #define SDMA_CSR_RX_RESb	BITS(5,4)
    214      1.1   matt #define SDMA_CSR_RX_OR		BIT(6)		/* Data Overrun */
    215      1.1   matt #define SDMA_CSR_RX_RESc	BITS(8,7)
    216      1.1   matt #define SDMA_CSR_RX_BR		BIT(9)		/* Break Received */
    217      1.1   matt #define SDMA_CSR_RX_MI		BIT(10)		/* Max Idle */
    218      1.1   matt #define SDMA_CSR_RX_ADDR	BIT(11)		/* Address */
    219      1.1   matt #define SDMA_CSR_RX_AMATCH	BIT(12)		/* Address match */
    220      1.1   matt #define SDMA_CSR_RX_CT		BIT(13)		/* Transparency Control char */
    221      1.1   matt #define SDMA_CSR_RX_C		BIT(14)		/* Control char */
    222      1.1   matt #define SDMA_CSR_RX_ES		BIT(15)		/* Error Summary */
    223      1.1   matt #define SDMA_CSR_RX_L		BIT(16)		/* Last */
    224      1.1   matt #define SDMA_CSR_RX_F		BIT(17)		/* First */
    225      1.1   matt #define SDMA_CSR_RX_RESd	BITS(22,18)
    226      1.1   matt #define SDMA_CSR_RX_EI		BIT(23)		/* Enable Interrupt */
    227      1.1   matt #define SDMA_CSR_RX_RESe	BITS(29,24)
    228      1.1   matt #define SDMA_CSR_RX_AUTO	BIT(30)		/* Auto Mode */
    229      1.1   matt #define SDMA_CSR_RX_OWN		BIT(31)		/* Owner */
    230      1.1   matt #define SDMA_CSR_RX_RES (SDMA_CSR_RX_RESa|SDMA_CSR_RX_RESb|SDMA_CSR_RX_RESc \
    231      1.1   matt 			 |SDMA_CSR_RX_RESd|SDMA_CSR_RX_RESe)
    232      1.1   matt /*
    233      1.1   matt  * SDMAx Command/Status Register bits for UART Mode, TX
    234      1.1   matt  */
    235      1.1   matt #define SDMA_CSR_TX_RESa	BIT(0)
    236      1.1   matt #define SDMA_CSR_TX_CTSL	BIT(1)		/* CTS Loss */
    237      1.1   matt #define SDMA_CSR_TX_RESb	BITS(14,2)
    238      1.1   matt #define SDMA_CSR_TX_ES		BIT(15)		/* Error Summary */
    239      1.1   matt #define SDMA_CSR_TX_L		BIT(16)		/* Last */
    240      1.1   matt #define SDMA_CSR_TX_F		BIT(17)		/* First */
    241      1.1   matt #define SDMA_CSR_TX_P		BIT(18)		/* Preamble */
    242      1.1   matt #define SDMA_CSR_TX_ADDR	BIT(19)		/* Address */
    243      1.1   matt #define SDMA_CSR_TX_NS		BIT(20)		/* No Stop Bit */
    244      1.1   matt #define SDMA_CSR_TX_RESc	BITS(22,21)
    245      1.1   matt #define SDMA_CSR_TX_EI		BIT(23)		/* Enable Interrupt */
    246      1.1   matt #define SDMA_CSR_TX_RESd	BITS(29,24)
    247      1.1   matt #define SDMA_CSR_TX_AUTO	BIT(30)		/* Auto Mode */
    248      1.1   matt #define SDMA_CSR_TX_OWN		BIT(31)		/* Owner */
    249      1.1   matt #define SDMA_CSR_TX_RES \
    250      1.1   matt 	(SDMA_CSR_TX_RESa|SDMA_CSR_TX_RESb|SDMA_CSR_TX_RESc|SDMA_CSR_TX_RESd)
    251      1.1   matt /*
    252      1.1   matt  * MPSCx Protocol Configuration Register for UART Mode
    253      1.1   matt  */
    254      1.1   matt #define GTMPSC_MPCR_RESa	BITS(5,0)
    255      1.1   matt #define GTMPSC_MPCR_DRT		BIT(6)		/* Disable Rx on Tx */
    256      1.1   matt #define GTMPSC_MPCR_ISO		BIT(7)		/* Isochronous Mode */
    257      1.1   matt #define GTMPSC_MPCR_RZS		BIT(8)		/* Rx Zero Stop Bit(s) */
    258      1.1   matt #define GTMPSC_MPCR_FRZ		BIT(9)		/* Freeze Tx */
    259      1.1   matt #define GTMPSC_MPCR_UM_MASK	BITS(11,10)	/* UART Mode mask */
    260      1.1   matt #define GTMPSC_MPCR_UM_NORM	(0 << 10)	/* Normal UART Mode */
    261      1.1   matt #define GTMPSC_MPCR_UM_MDROP	(1 << 10)	/* Multi-Drop UART Mode */
    262      1.1   matt 						/* other values are resvd. */
    263  1.1.2.1  skrll #define GTMPSC_MPCR_CLMASK	BITS(13,12)	/* Character Length mask */
    264  1.1.2.1  skrll #define GTMPSC_MPCR_CL_5	(0 << 12)	/* 5 data bits */
    265  1.1.2.1  skrll #define GTMPSC_MPCR_CL_6	(1 << 12)	/* 6 data bits */
    266  1.1.2.1  skrll #define GTMPSC_MPCR_CL_7	(2 << 12)	/* 7 data bits */
    267  1.1.2.1  skrll #define GTMPSC_MPCR_CL_8	(3 << 12)	/* 8 data bits */
    268      1.1   matt #define GTMPSC_MPCR_SBL_1	0x0		/* 1 stop bit */
    269      1.1   matt #define GTMPSC_MPCR_SBL_2	BIT(14)		/* 2 stop bits */
    270      1.1   matt #define GTMPSC_MPCR_FLC_NORM	0x0		/* Normal Flow Ctl mode */
    271      1.1   matt #define GTMPSC_MPCR_FLC_ASYNC	BIT(15)		/* Asynchronous Flow Ctl mode */
    272      1.1   matt #define GTMPSC_MPCR_RESb	BITS(31,16)
    273      1.1   matt #define GTMPSC_MPCR_RES (GTMPSC_MPCR_RESa|GTMPSC_MPCR_RESb)
    274      1.1   matt /*
    275      1.1   matt  * MPSC Channel Register 1 for UART Mode "Break/Stuff"
    276      1.1   matt  */
    277      1.1   matt #define GTMPSC_CHR1_TCS		BITS(7,0)	/* Constrol Stuff Character */
    278      1.1   matt #define GTMPSC_CHR1_BRK		BITS(23,16)	/* Break Count */
    279      1.1   matt #define GTMPSC_CHR1_RES		BITS(15,8)|BITS(31,24)
    280      1.1   matt /*
    281      1.1   matt  * MPSC Channel Register 2 for UART Mode "Command"
    282      1.1   matt  */
    283      1.1   matt #define GTMPSC_CHR2_RESa	BIT(0)
    284      1.1   matt #define GTMPSC_CHR2_TEV		BIT(1)		/* Tx Enb. Vert. Redundancy  */
    285      1.1   matt #define GTMPSC_CHR2_TPM_MASK	BITS(3,2)	/* Tx Parity Mode mask */
    286      1.1   matt #define GTMPSC_CHR2_TPM_ODD	(0 << 2)	/* Odd Tx Parity */
    287      1.1   matt #define GTMPSC_CHR2_TPM_LOW	(1 << 2)	/* Low (always 0) Tx Parity */
    288      1.1   matt #define GTMPSC_CHR2_TPM_EVEN	(2 << 2)	/* Even Tx Parity */
    289      1.1   matt #define GTMPSC_CHR2_TPM_HIGH	(3 << 2)	/* High (always 1) Tx Parity */
    290      1.1   matt #define GTMPSC_CHR2_RESb	BITS(6,4)
    291      1.1   matt #define GTMPSC_CHR2_TXABORT	BIT(7)		/* Tx Abort */
    292      1.1   matt #define GTMPSC_CHR2_RESc	BIT(8)
    293      1.1   matt #define GTMPSC_CHR2_TCS		BIT(9)		/* Tx TCS Char */
    294      1.1   matt #define GTMPSC_CHR2_RESd	BITS(16,10)
    295      1.1   matt #define GTMPSC_CHR2_REC		BIT(17)		/* Rx Enb. Vert. Redundancy */
    296      1.1   matt #define GTMPSC_CHR2_RPM_MASK	BITS(19,18)	/* Rx Parity Mode mask */
    297      1.1   matt #define GTMPSC_CHR2_RPM_ODD	(0 << 18)	/* Odd Rx Parity */
    298      1.1   matt #define GTMPSC_CHR2_RPM_LOW	(1 << 18)	/* Low (always 0) Rx Parity */
    299      1.1   matt #define GTMPSC_CHR2_RPM_EVEN	(2 << 18)	/* Even Rx Parity */
    300      1.1   matt #define GTMPSC_CHR2_RPM_HIGH	(3 << 18)	/* High (always 1) Rx Parity */
    301      1.1   matt #define GTMPSC_CHR2_RESe	BITS(22,20)
    302      1.1   matt #define GTMPSC_CHR2_RXABORT	BIT(23)		/* Rx Abort */
    303      1.1   matt #define GTMPSC_CHR2_RESf	BIT(24)
    304      1.1   matt #define GTMPSC_CHR2_CRD		BIT(25)		/* Close RX Descriptor */
    305      1.1   matt #define GTMPSC_CHR2_RESg	BITS(30,26)
    306      1.1   matt #define GTMPSC_CHR2_EH		BIT(31)		/* Enter Hunt */
    307      1.1   matt #define GTMPSC_CHR2_RES \
    308      1.1   matt 		(GTMPSC_CHR2_RESa|GTMPSC_CHR2_RESb|GTMPSC_CHR2_RESc| \
    309      1.1   matt 		 GTMPSC_CHR2_RESd|GTMPSC_CHR2_RESe|GTMPSC_CHR2_RESf| \
    310      1.1   matt 		 GTMPSC_CHR2_RESg)
    311      1.1   matt /*
    312      1.1   matt  * MPSC Channel Register 3 for UART Mode "Max Idle"
    313      1.1   matt  */
    314      1.1   matt #define GTMPSC_CHR3_MIR		BITS(15,0)	/* Max Idle Char count */
    315      1.1   matt #define GTMPSC_CHR3_RES		BITS(31,16)
    316      1.1   matt /*
    317      1.1   matt  * MPSC Channel Register 4 for UART Mode "Control Filtering"
    318      1.1   matt  */
    319      1.1   matt #define GTMPSC_CHR4_CFR		BITS(7,0)	/* Control bit compare enable */
    320      1.1   matt #define GTMPSC_CHR4_RES		BITS(31,8)
    321      1.1   matt /*
    322      1.1   matt  * MPSC Channel Registers 5..8 for UART Mode "UART Control Character"
    323      1.1   matt  *
    324      1.1   matt  * NOTE: two 16 bit CHRCC fields exist in each of Channel Registers 5..8
    325      1.1   matt  */
    326      1.1   matt #define GTMPSC_CHRCC_SHIFT	16
    327      1.1   matt #define GTMPSC_CHRCC_CHAR	BITS(7,0)	/* the control character */
    328      1.1   matt #define GTMPSC_CHRCC_RES	BITS(11,8)
    329      1.1   matt #define GTMPSC_CHRCC_INT	BIT(12)		/* Interrupt */
    330      1.1   matt #define GTMPSC_CHRCC_CO		BIT(13)		/* ISO 3309 Control Octet */
    331      1.1   matt #define GTMPSC_CHRCC_R		BIT(14)		/* Reject */
    332      1.1   matt #define GTMPSC_CHRCC_V		BIT(15)		/* Valid */
    333      1.1   matt /*
    334      1.1   matt  * MPSC Channel Register 9 for UART Mode "Address" (for multidrop operation)
    335      1.1   matt  */
    336      1.1   matt #define GTMPSC_CHR9_AD1		BITS(7,0)	/* address #1 */
    337      1.1   matt #define GTMPSC_CHR9_RESa	BITS(14,8)
    338      1.1   matt #define GTMPSC_CHR9_MODE1	BIT(15)		/* mode #1 */
    339      1.1   matt #define GTMPSC_CHR9_AD2		BITS(23,16)	/* address #2 */
    340      1.1   matt #define GTMPSC_CHR9_RESb	BITS(30,24)
    341      1.1   matt #define GTMPSC_CHR9_MODE2	BIT(31)		/* mode #2 */
    342      1.1   matt #define GTMPSC_CHR9_RES	(GTMPSC_CHR9_RESa|GTMPSC_CHR9_RESb)
    343      1.1   matt /*
    344      1.1   matt  * MPSC Channel Register 10 for UART Mode "Event Status"
    345      1.1   matt  */
    346      1.1   matt #define GTMPSC_CHR10_CTS	BIT(0)		/* Clear To Send */
    347      1.1   matt #define GTMPSC_CHR10_CD		BIT(1)		/* Carrier Detect */
    348      1.1   matt #define GTMPSC_CHR10_RESa	BIT(2)
    349      1.1   matt #define GTMPSC_CHR10_TIDLE	BIT(3)		/* Tx in Idle State */
    350      1.1   matt #define GTMPSC_CHR10_RESb	BIT(4)
    351      1.1   matt #define GTMPSC_CHR10_RHS	BIT(5)		/* Rx in HUNT State */
    352      1.1   matt #define GTMPSC_CHR10_RESc	BIT(6)
    353      1.1   matt #define GTMPSC_CHR10_RLS	BIT(7)		/* Rx Line STatus */
    354      1.1   matt #define GTMPSC_CHR10_RESd	BITS(10,8)
    355      1.1   matt #define GTMPSC_CHR10_RLIDL	BIT(11)		/* Rx IDLE Line */
    356      1.1   matt #define GTMPSC_CHR10_RESe	BITS(15,12)
    357      1.1   matt #define GTMPSC_CHR10_RCRn	BITS(23,16)	/* Received Control Char # */
    358      1.1   matt #define GTMPSC_CHR10_RESf	BITS(31,24)
    359      1.1   matt #define GTMPSC_CHR10_RES \
    360      1.1   matt 		(GTMPSC_CHR10_RESa|GTMPSC_CHR10_RESb|GTMPSC_CHR10_RESc \
    361      1.1   matt 		|GTMPSC_CHR10_RESd|GTMPSC_CHR10_RESe|GTMPSC_CHR10_RESf)
    362      1.1   matt 
    363      1.1   matt 
    364      1.1   matt #endif	/* _GTMPSCREG_H */
    365