Home | History | Annotate | Line # | Download | only in pci
vtpbcreg.h revision 1.1.40.1
      1  1.1.40.1     yamt /*	$NetBSD: vtpbcreg.h,v 1.1.40.1 2006/06/21 14:48:00 yamt Exp $	*/
      2       1.1  thorpej 
      3       1.1  thorpej /*
      4       1.1  thorpej  * Registers for the V3 Semiconductor V962 and V360EPC i960
      5       1.1  thorpej  * PCI bus controller.
      6       1.1  thorpej  *
      7       1.1  thorpej  * This file is modified from the PMON sources available from
      8       1.1  thorpej  * Algorithmics, Ltd.
      9       1.1  thorpej  */
     10       1.1  thorpej 
     11       1.1  thorpej #if BYTE_ORDER == LITTLE_ENDIAN
     12  1.1.40.1     yamt #define V96XW(vt, x)	*(volatile u_int32_t *)((vt)->vt_addr + (x))
     13  1.1.40.1     yamt #define V96XH(vt, x)	*(volatile u_int16_t *)((vt)->vt_addr + (x))
     14  1.1.40.1     yamt #define V96XB(vt, x)	*(volatile u_int8_t  *)((vt)->vt_addr + (x))
     15       1.1  thorpej #else
     16  1.1.40.1     yamt #define V96XW(vt, x)	*(volatile u_int32_t *)((vt)->vt_addr + (x))
     17  1.1.40.1     yamt #define V96XH(vt, x)	*(volatile u_int16_t *)((vt)->vt_addr + ((x) ^ 2))
     18  1.1.40.1     yamt #define V96XB(vt, x)	*(volatile u_int8_t  *)((vt)->vt_addr + ((x) ^ 3))
     19       1.1  thorpej #endif
     20       1.1  thorpej 
     21       1.1  thorpej #define V96X_PCI_VENDOR(vt)		V96XH(vt, 0x00)
     22       1.1  thorpej #define V96X_PCI_DEVICE(vt)		V96XH(vt, 0x02)
     23       1.1  thorpej #define V96X_PCI_CMD(vt)		V96XH(vt, 0x04)
     24       1.1  thorpej #define V96X_PCI_STAT(vt)		V96XH(vt, 0x06)
     25       1.1  thorpej #define V96X_PCI_CC_REV(vt)		V96XW(vt, 0x08)
     26       1.1  thorpej #define V96X_PCI_I20_BASE(vt)		V96XW(vt, 0x10) /* B.2 only */
     27       1.1  thorpej #define V96X_PCI_HDR_CFG(vt)		V96XW(vt, 0x0c)
     28       1.1  thorpej #define V96X_PCI_IO_BASE(vt)		V96XW(vt, 0x10)
     29       1.1  thorpej #define V96X_PCI_BASE0(vt)		V96XW(vt, 0x14)
     30       1.1  thorpej #define V96X_PCI_BASE1(vt)		V96XW(vt, 0x18)
     31       1.1  thorpej #define V96X_PCI_BPARAM(vt)		V96XW(vt, 0x3c)
     32       1.1  thorpej #define V96X_PCI_MAP0(vt)		V96XW(vt, 0x40)
     33       1.1  thorpej #define V96X_PCI_MAP1(vt)		V96XW(vt, 0x44)
     34       1.1  thorpej #define V96X_PCI_INT_STAT(vt)		V96XW(vt, 0x48)
     35       1.1  thorpej #define V96X_PCI_INT_CFG(vt)		V96XW(vt, 0x4c)
     36       1.1  thorpej #define V96X_LB_BASE0(vt)		V96XW(vt, 0x54)
     37       1.1  thorpej #define V96X_LB_BASE1(vt)		V96XW(vt, 0x58)
     38       1.1  thorpej #define V96X_LB_MAP0(vt)		V96XH(vt, 0x5e)
     39       1.1  thorpej #define V96X_LB_MAP1(vt)		V96XH(vt, 0x62)
     40       1.1  thorpej #define V96X_LB_BASE2(vt)		V96XH(vt, 0x64) /* B.2 only */
     41       1.1  thorpej #define V96X_LB_MAP2(vt)		V96XH(vt, 0x66) /* B.2 only */
     42       1.1  thorpej #define V96X_LB_SIZE(vt)		V96XW(vt, 0x68) /* B.2 only */
     43       1.1  thorpej #define V96X_LB_IO_BASE(vt)		V96XW(vt, 0x6c)
     44       1.1  thorpej #define V96X_FIFO_CFG(vt)		V96XH(vt, 0x70)
     45       1.1  thorpej #define V96X_FIFO_PRIORITY(vt)		V96XH(vt, 0x72)
     46       1.1  thorpej #define V96X_FIFO_STAT(vt)		V96XH(vt, 0x74)
     47       1.1  thorpej #define V96X_LB_ISTAT(vt)		V96XB(vt, 0x76)
     48       1.1  thorpej #define V96X_LB_IMASK(vt)		V96XB(vt, 0x77)
     49       1.1  thorpej #define V96X_SYSTEM(vt)			V96XH(vt, 0x78)
     50       1.1  thorpej #define V96X_LB_CFGL(vt)		V96XB(vt, 0x7a)
     51       1.1  thorpej #define V96X_LB_CFG(vt)			V96XB(vt, 0x7b)
     52       1.1  thorpej #define V96X_PCI_CFG(vt)		V96XB(vt, 0x7c) /* B.2 only */
     53       1.1  thorpej #define V96X_DMA_PCI_ADDR0(vt)		V96XW(vt, 0x80)
     54       1.1  thorpej #define V96X_DMA_LOCAL_ADDR0(vt)	V96XW(vt, 0x84)
     55       1.1  thorpej #define V96X_DMA_LENGTH0(vt)		V96XW(vt, 0x88)
     56       1.1  thorpej #define V96X_DMA_CTLB_ADR0(vt)		V96XW(vt, 0x8c)
     57       1.1  thorpej #define V96X_DMA_PCI_ADDR1(vt)		V96XW(vt, 0x90)
     58       1.1  thorpej #define V96X_DMA_LOCAL_ADDR1(vt)	V96XW(vt, 0x94)
     59       1.1  thorpej #define V96X_DMA_LENGTH1(vt)		V96XW(vt, 0x98)
     60       1.1  thorpej #define V96X_DMA_CTLB_ADR1(vt)		V96XW(vt, 0x9c)
     61       1.1  thorpej #define V96X_MAIL_DATA(vt, n)		V96XB(vt, 0xc0 + (n))
     62       1.1  thorpej #define V96X_LB_MAIL_IEWR(vt)		V96XH(vt, 0xd0)
     63       1.1  thorpej #define V96X_LB_MAIL_IERD(vt)		V96XH(vt, 0xd2)
     64       1.1  thorpej #define V96X_PCI_MAIL_IEWR(vt)		V96XH(vt, 0xd4)
     65       1.1  thorpej #define V96X_PCI_MAIL_IERD(vt)		V96XH(vt, 0xd6)
     66       1.1  thorpej #define V96X_MAIL_WR_STAT(vt)		V96XH(vt, 0xd8)
     67       1.1  thorpej #define V96X_MAIL_RD_STAT(vt)		V96XH(vt, 0xdc)
     68       1.1  thorpej 
     69       1.1  thorpej #define V96X_PCI_CMD_FBB_EN		0x0200
     70       1.1  thorpej #define V96X_PCI_CMD_SERR_EN		0x0100
     71       1.1  thorpej #define V96X_PCI_CMD_PAR_EN		0x0040
     72       1.1  thorpej #define V96X_PCI_CMD_MASTER_EN		0x0004
     73       1.1  thorpej #define V96X_PCI_CMD_MEM_EN		0x0002
     74       1.1  thorpej #define V96X_PCI_CMD_IO_EN		0x0001
     75       1.1  thorpej 
     76       1.1  thorpej #define V96X_PCI_STAT_PAR_ERR		0x8000
     77       1.1  thorpej #define V96X_PCI_STAT_SYS_ERR		0x4000
     78       1.1  thorpej #define V96X_PCI_STAT_M_ABORT		0x2000
     79       1.1  thorpej #define V96X_PCI_STAT_T_ABORT		0x1000
     80       1.1  thorpej #define V96X_PCI_STAT_DEVSEL		0x0600
     81       1.1  thorpej #define V96X_PCI_STAT_PAR_REP		0x0100
     82       1.1  thorpej #define V96X_PCI_STAT_FAST_BACK		0x0080
     83       1.1  thorpej 
     84       1.1  thorpej #define V96X_PCI_CC_REV_BASE_CLASS	0xff000000
     85       1.1  thorpej #define V96X_PCI_CC_REV_SUB_CLASS	0x00ff0000
     86       1.1  thorpej #define V96X_PCI_CC_REV_PROG_IF		0x0000ff00
     87       1.1  thorpej #define V96X_PCI_CC_REV_UREV		0x000000f0
     88       1.1  thorpej #define V96X_PCI_CC_REV_VREV		0x0000000f
     89       1.1  thorpej 
     90       1.1  thorpej #define V96X_VREV_A	0x0
     91       1.1  thorpej #define V96X_VREV_B0	0x1
     92       1.1  thorpej #define V96X_VREV_B1	0x2
     93       1.1  thorpej #define V96X_VREV_B2	0x3
     94       1.1  thorpej #define V96X_VREV_C0	0x4
     95       1.1  thorpej 
     96       1.1  thorpej #define V96X_PCI_HDR_CFG_LT		0x0000ff00
     97       1.1  thorpej #define V96X_PCI_HDR_CFG_LT_SHIFT	8
     98       1.1  thorpej #define V96X_PCI_HDR_CFG_CLS		0x000000ff
     99       1.1  thorpej #define V96X_PCI_HDR_CFG_CLS_SHIFT	0
    100       1.1  thorpej 
    101       1.1  thorpej /* pci access to internal v96xpbc registers */
    102       1.1  thorpej #define V96X_PCI_IO_BASE_ADR_BASE	0xfffffff0
    103       1.1  thorpej #define V96X_PCI_IO_BASE_PREFETCH	0x00000008
    104       1.1  thorpej #define V96X_PCI_IO_BASE_TYPE		0x00000006
    105       1.1  thorpej #define V96X_PCI_IO_BASE_IO		0x00000001
    106       1.1  thorpej #define V96X_PCI_IO_BASE_MEM		0x00000000
    107       1.1  thorpej 
    108       1.1  thorpej /* pci to local bus aperture 0 base address */
    109       1.1  thorpej #define V96X_PCI_BASE0_ADR_BASE		0xfff00000
    110       1.1  thorpej #define V96X_PCI_BASE0_ADR_BASEL	0x000fff00
    111       1.1  thorpej 
    112       1.1  thorpej /* pci to local bus aperture 1 base address */
    113       1.1  thorpej #define V96X_PCI_BASE1_ADR_BASE		0xfff00000
    114       1.1  thorpej #define V96X_PCI_BASE1_ADR_BASEL	0x000fc000
    115       1.1  thorpej #define V96X_PCI_BASE1_ADR_DOS_MEM	0x00000700
    116       1.1  thorpej 
    117       1.1  thorpej #define V96X_PCI_BASEx_PREFETCH		0x00000008
    118       1.1  thorpej #define V96X_PCI_BASEx_IO		0x00000001
    119       1.1  thorpej #define V96X_PCI_BASEx_MEM		0x00000000
    120       1.1  thorpej 
    121       1.1  thorpej /* pci bus parameter register */
    122       1.1  thorpej #define V96X_PCI_BPARAM_MAX_LAT		0xff000000
    123       1.1  thorpej #define V96X_PCI_BPARAM_MIN_GNT		0x00ff0000
    124       1.1  thorpej #define V96X_PCI_BPARAM_INT_PIN		0x00000700
    125       1.1  thorpej #define V96X_PCI_BPARAM_INT_LINE	0x0000000f
    126       1.1  thorpej 
    127       1.1  thorpej /* pci bus to local bus address map 0 */
    128       1.1  thorpej #define V96X_PCI_MAPx_MAP_ADR		0xfff00000
    129       1.1  thorpej #define V96X_PCI_MAPx_RD_POST_INH	0x00008000
    130       1.1  thorpej #define V96X_PCI_MAP0_ROM_SIZE		0x00000c00
    131       1.1  thorpej #define V96X_PCI_MAPx_SWAP		0x00000300
    132       1.1  thorpej #define V96X_PCI_MAPx_ADR_SIZE		0x000000f0
    133       1.1  thorpej #define V96X_PCI_MAPx_REG_EN		0x00000002
    134       1.1  thorpej #define V96X_PCI_MAPx_ENABLE		0x00000001
    135       1.1  thorpej 
    136       1.1  thorpej #define V96X_ADR_SIZE_1MB		(0x0<<4)
    137       1.1  thorpej #define V96X_ADR_SIZE_2MB		(0x1<<4)
    138       1.1  thorpej #define V96X_ADR_SIZE_4MB		(0x2<<4)
    139       1.1  thorpej #define V96X_ADR_SIZE_8MB		(0x3<<4)
    140       1.1  thorpej #define V96X_ADR_SIZE_16MB		(0x4<<4)
    141       1.1  thorpej #define V96X_ADR_SIZE_32MB		(0x5<<4)
    142       1.1  thorpej #define V96X_ADR_SIZE_64MB		(0x6<<4)
    143       1.1  thorpej #define V96X_ADR_SIZE_128MB		(0x7<<4)
    144       1.1  thorpej #define V96X_ADR_SIZE_256MB		(0x8<<4)
    145       1.1  thorpej #define V96X_ADR_SIZE_DOSMODE		(0xc<<4)
    146       1.1  thorpej 
    147       1.1  thorpej #define V96X_SWAP_NONE			(0x0<<8)
    148       1.1  thorpej #define V96X_SWAP_16BIT			(0x1<<8)
    149       1.1  thorpej #define V96X_SWAP_8BIT			(0x2<<8)
    150       1.1  thorpej #define V96X_SWAP_AUTO			(0x3<<8)
    151       1.1  thorpej 
    152       1.1  thorpej /* pci interrupt status register */
    153       1.1  thorpej #define V96X_PCI_INT_STAT_MAILBOX	0x80000000
    154       1.1  thorpej #define V96X_PCI_INT_STAT_LOCAL		0x40000000
    155       1.1  thorpej #define V96X_PCI_INT_STAT_DMA1		0x02000000
    156       1.1  thorpej #define V96X_PCI_INT_STAT_DMA0		0x01000000
    157       1.1  thorpej #define V96X_PCI_INT_STAT_INTC_TO_D	0x00004000
    158       1.1  thorpej #define V96X_PCI_INT_STAT_INTB_TO_D	0x00002000
    159       1.1  thorpej #define V96X_PCI_INT_STAT_INTA_TO_D	0x00001000
    160       1.1  thorpej #define V96X_PCI_INT_STAT_INTD_TO_C	0x00000800
    161       1.1  thorpej #define V96X_PCI_INT_STAT_INTB_TO_C	0x00000200
    162       1.1  thorpej #define V96X_PCI_INT_STAT_INTA_TO_C	0x00000100
    163       1.1  thorpej #define V96X_PCI_INT_STAT_INTD_TO_B	0x00000080
    164       1.1  thorpej #define V96X_PCI_INT_STAT_INTC_TO_B	0x00000040
    165       1.1  thorpej #define V96X_PCI_INT_STAT_INTA_TO_B	0x00000010
    166       1.1  thorpej #define V96X_PCI_INT_STAT_INTD_TO_A	0x00000008
    167       1.1  thorpej #define V96X_PCI_INT_STAT_INTC_TO_A	0x00000004
    168       1.1  thorpej #define V96X_PCI_INT_STAT_INTB_TO_A	0x00000002
    169       1.1  thorpej 
    170       1.1  thorpej /* pci interrupt config register */
    171       1.1  thorpej #define V96X_PCI_INT_CFG_MAILBOX	0x80000000
    172       1.1  thorpej #define V96X_PCI_INT_CFG_LOCAL		0x40000000
    173       1.1  thorpej #define V96X_PCI_INT_CFG_DMA1		0x02000000
    174       1.1  thorpej #define V96X_PCI_INT_CFG_DMA0		0x01000000
    175       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_D		0x00c00000
    176       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_D_SHIFT	22
    177       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_C		0x00300000
    178       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_C_SHIFT	20
    179       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_B		0x000c0000
    180       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_B_SHIFT	18
    181       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_A		0x00030000
    182       1.1  thorpej #define V96X_PCI_INT_CFG_MODE_A_SHIFT	16
    183       1.1  thorpej #define  V96X_PCI_INT_CFG_MODE_LEVEL	 0x0
    184       1.1  thorpej #define  V96X_PCI_INT_CFG_MODE_EDGE	 0x1
    185       1.1  thorpej #define  V96X_PCI_INT_CFG_MODE_SWCLR	 0x2
    186       1.1  thorpej #define  V96X_PCI_INT_CFG_MODE_HWCLR	 0x3
    187       1.1  thorpej #define V96X_PCI_INT_CFG_INTD_TO_LB	0x00008000
    188       1.1  thorpej #define V96X_PCI_INT_CFG_INTC_TO_D	0x00004000
    189       1.1  thorpej #define V96X_PCI_INT_CFG_INTB_TO_D	0x00002000
    190       1.1  thorpej #define V96X_PCI_INT_CFG_INTA_TO_D	0x00001000
    191       1.1  thorpej #define V96X_PCI_INT_CFG_INTD_TO_C	0x00000800
    192       1.1  thorpej #define V96X_PCI_INT_CFG_INTC_TO_LB	0x00000400
    193       1.1  thorpej #define V96X_PCI_INT_CFG_INTB_TO_C	0x00000200
    194       1.1  thorpej #define V96X_PCI_INT_CFG_INTA_TO_C	0x00000100
    195       1.1  thorpej #define V96X_PCI_INT_CFG_INTD_TO_B	0x00000080
    196       1.1  thorpej #define V96X_PCI_INT_CFG_INTC_TO_B	0x00000040
    197       1.1  thorpej #define V96X_PCI_INT_CFG_INTB_TO_LB	0x00000020
    198       1.1  thorpej #define V96X_PCI_INT_CFG_INTA_TO_B	0x00000010
    199       1.1  thorpej #define V96X_PCI_INT_CFG_INTD_TO_A	0x00000008
    200       1.1  thorpej #define V96X_PCI_INT_CFG_INTC_TO_A	0x00000004
    201       1.1  thorpej #define V96X_PCI_INT_CFG_INTB_TO_A	0x00000002
    202       1.1  thorpej #define V96X_PCI_INT_CFG_INTA_TO_LB	0x00000001
    203       1.1  thorpej 
    204       1.1  thorpej /* local bus to pci bus aperture 0,1 */
    205       1.1  thorpej #define V96X_LB_BASEx_ADR_BASE		0xfff00000
    206       1.1  thorpej #define V96X_LB_BASEx_SWAP		0x00000300
    207       1.1  thorpej #define V96X_LB_BASEx_ADR_SIZE		0x000000f0
    208       1.1  thorpej #define V96X_LB_BASEx_PREFETCH		0x00000008
    209       1.1  thorpej #define V96X_LB_BASEx_ENABLE		0x00000001
    210       1.1  thorpej 
    211       1.1  thorpej /* local bus to pci bus address map 0,1 */
    212       1.1  thorpej #define V96X_LB_MAPx_MAP_ADR		0xfff0
    213       1.1  thorpej #define V96X_LB_MAPx_TYPE		0x0007
    214       1.1  thorpej #define  V96X_LB_TYPE_IACK		 (0x0<<1)
    215       1.1  thorpej #define  V96X_LB_TYPE_IO		 (0x1<<1)
    216       1.1  thorpej #define  V96X_LB_TYPE_MEM		 (0x3<<1)
    217       1.1  thorpej #define  V96X_LB_TYPE_CONF		 (0x5<<1)
    218       1.1  thorpej #define V96X_LB_MAPx_AD_LOW_EN		0x0001 /* C.0 only */
    219       1.1  thorpej 
    220       1.1  thorpej /* local bus interrupt control, status and masks */
    221       1.1  thorpej #define V96X_LB_INTR_MAILBOX		0x80
    222       1.1  thorpej #define V96X_LB_INTR_PCI_RD		0x40
    223       1.1  thorpej #define V96X_LB_INTR_PCI_WR		0x20
    224       1.1  thorpej #define V96X_LB_INTR_PCI_INT		0x10
    225       1.1  thorpej #define V96X_LB_INTR_DMA1		0x02
    226       1.1  thorpej #define V96X_LB_INTR_DMA0		0x01
    227       1.1  thorpej 
    228       1.1  thorpej /* local bus configuration */
    229       1.1  thorpej #define V96X_LB_CFG_TO_256		0x20
    230       1.1  thorpej #define V96X_LB_CFG_TO_64		0x00
    231       1.1  thorpej #define V96X_LB_CFG_LB_INT		0x02
    232       1.1  thorpej #define V96X_LB_CFG_ERR_EN		0x02
    233       1.1  thorpej #define V96X_LB_CFG_RDY_EN		0x01
    234       1.1  thorpej 
    235       1.1  thorpej /* PCI bus configuration */
    236       1.1  thorpej #define V96X_PCI_CFG_I2O_EN		0x8000
    237       1.1  thorpej #define V96X_PCI_CFG_IO_REG_DIS		0x4000
    238       1.1  thorpej #define V96X_PCI_CFG_IO_DIS		0x2000
    239       1.1  thorpej #define V96X_PCI_CFG_EN3V		0x1000
    240       1.1  thorpej #define V96X_PCI_CFG_AD_LOW		0x0300
    241       1.1  thorpej #define V96X_PCI_CFG_AD_LOW_SHIFT	8
    242       1.1  thorpej #define V96X_PCI_CFG_DMA_RTYPE		0x00e0
    243       1.1  thorpej #define V96X_PCI_CFG_DMA_WTYPE		0x000e
    244       1.1  thorpej 
    245       1.1  thorpej /* fifo configuration register */
    246       1.1  thorpej #define V96X_FIFO_CFG_PBRST_MAX		0xc000
    247       1.1  thorpej #define V96X_FIFO_CFG_PBRST_MAX_SHIFT	14
    248       1.1  thorpej #define V96X_FIFO_CFG_WR_LB		0x3000
    249       1.1  thorpej #define V96X_FIFO_CFG_WR_LB_SHIFT	12
    250       1.1  thorpej #define V96X_FIFO_CFG_RD_LB1		0x0c00
    251       1.1  thorpej #define V96X_FIFO_CFG_RD_LB1_SHIFT	10
    252       1.1  thorpej #define V96X_FIFO_CFG_RD_LB0		0x0300
    253       1.1  thorpej #define V96X_FIFO_CFG_RD_LB0_SHIFT	8
    254       1.1  thorpej #define V96X_FIFO_CFG_LBRST_MAX		0x00c0
    255       1.1  thorpej #define V96X_FIFO_CFG_LBRST_MAX_SHIFT	6
    256       1.1  thorpej #define V96X_FIFO_CFG_WR_PCI		0x0030
    257       1.1  thorpej #define V96X_FIFO_CFG_WR_PCI_SHIFT	4
    258       1.1  thorpej #define V96X_FIFO_CFG_RD_PCI1		0x000c
    259       1.1  thorpej #define V96X_FIFO_CFG_RD_PCI1_SHIFT	2
    260       1.1  thorpej #define V96X_FIFO_CFG_RD_PCI0		0x0003
    261       1.1  thorpej #define V96X_FIFO_CFG_RD_PCI0_SHIFT	0
    262       1.1  thorpej 
    263       1.1  thorpej /* meaning of above bitfields */
    264       1.1  thorpej 
    265       1.1  thorpej /* max burst length */
    266       1.1  thorpej #define V96X_FIFO_CFG_BRST_4			0x0
    267       1.1  thorpej #define V96X_FIFO_CFG_BRST_8			0x1
    268       1.1  thorpej #define V96X_FIFO_CFG_BRST_16			0x2
    269       1.1  thorpej #define V96X_FIFO_CFG_BRST_256			0x3
    270       1.1  thorpej 
    271       1.1  thorpej /* when to start refilling read fifo */
    272       1.1  thorpej #define V96X_FIFO_CFG_RD_NOTFULL		0x0
    273       1.1  thorpej #define V96X_FIFO_CFG_RD_HALF			0x1
    274       1.1  thorpej #define V96X_FIFO_CFG_RD_EMPTY			0x2
    275       1.1  thorpej 
    276       1.1  thorpej /* when to start emptying write fifo */
    277       1.1  thorpej #define V96X_FIFO_CFG_WR_NOTEMPTY		0x0
    278       1.1  thorpej #define V96X_FIFO_CFG_WR_3WORDS			0x2
    279       1.1  thorpej #define V96X_FIFO_CFG_WR_ENDBRST		0x3
    280       1.1  thorpej 
    281       1.1  thorpej /* fifo priority control */
    282       1.1  thorpej #define V96X_FIFO_PRIORITY_LOCAL_RD	0x1000
    283       1.1  thorpej #define V96X_FIFO_PRIORITY_LOCAL_WR	0x0000
    284       1.1  thorpej #define V96X_FIFO_PRIORITY_LB_RD1	0x0c00
    285       1.1  thorpej #define V96X_FIFO_PRIORITY_LB_RD1_SHIFT	10
    286       1.1  thorpej #define V96X_FIFO_PRIORITY_LB_RD0	0x0300
    287       1.1  thorpej #define V96X_FIFO_PRIORITY_LB_RD0_SHIFT 8
    288       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_RD	0x0010
    289       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_WR	0x0000
    290       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_RD1	0x000c
    291       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_RD1_SHIFT 2
    292       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_RD0	0x0003
    293       1.1  thorpej #define V96X_FIFO_PRIORITY_PCI_RD0_SHIFT 0
    294       1.1  thorpej 
    295       1.1  thorpej /* meaning of above bitfields */
    296       1.1  thorpej #define V96X_FIFO_PRI_NOFLUSH			0x0
    297       1.1  thorpej #define V96X_FIFO_PRI_FLUSHME			0x2
    298       1.1  thorpej #define V96X_FIFO_PRI_FLUSHALL			0x3
    299       1.1  thorpej 
    300       1.1  thorpej /* fifo status */
    301       1.1  thorpej #define V96X_FIFO_STAT_L2P_WR		0x3000
    302       1.1  thorpej #define V96X_FIFO_STAT_L2P_RD1		0x0c00
    303       1.1  thorpej #define V96X_FIFO_STAT_L2P_RD0		0x0300
    304       1.1  thorpej #define V96X_FIFO_STAT_P2L_WR		0x0030
    305       1.1  thorpej #define V96X_FIFO_STAT_P2L_RD1		0x000c
    306       1.1  thorpej #define V96X_FIFO_STAT_P2L_RD0		0x0003
    307       1.1  thorpej 
    308       1.1  thorpej #define V96X_DMA_COUNT_CHAIN		0x80000000
    309       1.1  thorpej #define V96X_DMA_COUNT_PRIORITY		0x20000000
    310       1.1  thorpej #define V96X_DMA_COUNT_P2L		0x10000000
    311       1.1  thorpej #define V96X_DMA_COUNT_SWAP		0x0c000000
    312       1.1  thorpej #define V96X_DMA_COUNT_ABORT		0x02000000
    313       1.1  thorpej #define V96X_DMA_COUNT_DMA_IPR		0x01000000
    314       1.1  thorpej 
    315       1.1  thorpej #define V96X_SYSTEM_RST_OUT		0x8000
    316       1.1  thorpej #define V96X_SYSTEM_LOCK		0x4000
    317       1.1  thorpej #define V96X_SYSTEM_SPROM_EN		0x2000
    318       1.1  thorpej #define V96X_SYSTEM_SCL			0x1000
    319       1.1  thorpej #define V96X_SYSTEM_SDA_OUT		0x0800
    320       1.1  thorpej #define V96X_SYSTEM_SDA_IN		0x0400
    321       1.1  thorpej #define V96X_SYSTEM_POE			0x0200
    322       1.1  thorpej #define V96X_SYSTEM_LB_RD_PCI1		0x0040
    323       1.1  thorpej #define V96X_SYSTEM_LB_RD_PCI0		0x0020
    324       1.1  thorpej #define V96X_SYSTEM_LB_WR_PCI		0x0010
    325       1.1  thorpej #define V96X_SYSTEM_PCI_RD_LB1		0x0004
    326       1.1  thorpej #define V96X_SYSTEM_PCI_RD_LB0		0x0002
    327       1.1  thorpej #define V96X_SYSTEM_PC_WR_LBI		0x0001
    328