/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * tsi148.h
 *
 * Support for the Tundra TSI148 VME Bridge chip
 *
 * Author: Tom Armistead
 * Updated and maintained by Ajit Prem
 * Copyright 2004 Motorola Inc.
 */

#ifndef TSI148_H
#define TSI148_H

#ifndef	PCI_VENDOR_ID_TUNDRA
#define	PCI_VENDOR_ID_TUNDRA 0x10e3
#endif

#ifndef	PCI_DEVICE_ID_TUNDRA_TSI148
#define	PCI_DEVICE_ID_TUNDRA_TSI148 0x148
#endif

/*
 *  Define the number of each that the Tsi148 supports.
 */
#define TSI148_MAX_MASTER		8	/* Max Master Windows */
#define TSI148_MAX_SLAVE		8	/* Max Slave Windows */
#define TSI148_MAX_DMA			2	/* Max DMA Controllers */
#define TSI148_MAX_MAILBOX		4	/* Max Mail Box registers */
#define TSI148_MAX_SEMAPHORE		8	/* Max Semaphores */

/* Structure used to hold driver specific information */
struct tsi148_driver {
	void __iomem *base;	/* Base Address of device registers */
	wait_queue_head_t dma_queue[2];
	wait_queue_head_t iack_queue;
	void (*lm_callback[4])(void *);	/* Called in interrupt handler */
	void *lm_data[4];
	void *crcsr_kernel;
	dma_addr_t crcsr_bus;
	struct vme_master_resource *flush_image;
	struct mutex vme_rmw;		/* Only one RMW cycle at a time */
	struct mutex vme_int;		/*
					 * Only one VME interrupt can be
					 * generated at a time, provide locking
					 */
};

/*
 * Layout of a DMAC Linked-List Descriptor
 *
 * Note: This structure is accessed via the chip and therefore must be
 *       correctly laid out - It must also be aligned on 64-bit boundaries.
 */
struct tsi148_dma_descriptor {
	__be32 dsau;      /* Source Address */
	__be32 dsal;
	__be32 ddau;      /* Destination Address */
	__be32 ddal;
	__be32 dsat;      /* Source attributes */
	__be32 ddat;      /* Destination attributes */
	__be32 dnlau;     /* Next link address */
	__be32 dnlal;
	__be32 dcnt;      /* Byte count */
	__be32 ddbs;      /* 2eSST Broadcast select */
};

struct tsi148_dma_entry {
	/*
	 * The descriptor needs to be aligned on a 64-bit boundary, we increase
	 * the chance of this by putting it first in the structure.
	 */
	struct tsi148_dma_descriptor descriptor;
	struct list_head list;
	dma_addr_t dma_handle;
};

/*
 *  TSI148 ASIC register structure overlays and bit field definitions.
 *
 *      Note:   Tsi148 Register Group (CRG) consists of the following
 *              combination of registers:
 *                      PCFS    - PCI Configuration Space Registers
 *                      LCSR    - Local Control and Status Registers
 *                      GCSR    - Global Control and Status Registers
 *                      CR/CSR  - Subset of Configuration ROM /
 *                                Control and Status Registers
 */

/*
 *  Command/Status Registers (CRG + $004)
 */
#define TSI148_PCFS_ID			0x0
#define TSI148_PCFS_CSR			0x4
#define TSI148_PCFS_CLASS		0x8
#define TSI148_PCFS_MISC0		0xC
#define TSI148_PCFS_MBARL		0x10
#define TSI148_PCFS_MBARU		0x14
#define TSI148_PCFS_SUBID		0x28
#define TSI148_PCFS_CAPP		0x34
#define TSI148_PCFS_MISC1		0x3C
#define TSI148_PCFS_XCAPP		0x40
#define TSI148_PCFS_XSTAT		0x44

/*
 * LCSR definitions
 */

/*
 *    Outbound Translations
 */
#define TSI148_LCSR_OT0_OTSAU		0x100
#define TSI148_LCSR_OT0_OTSAL		0x104
#define TSI148_LCSR_OT0_OTEAU		0x108
#define TSI148_LCSR_OT0_OTEAL		0x10C
#define TSI148_LCSR_OT0_OTOFU		0x110
#define TSI148_LCSR_OT0_OTOFL		0x114
#define TSI148_LCSR_OT0_OTBS		0x118
#define TSI148_LCSR_OT0_OTAT		0x11C

#define TSI148_LCSR_OT1_OTSAU		0x120
#define TSI148_LCSR_OT1_OTSAL		0x124
#define TSI148_LCSR_OT1_OTEAU		0x128
#define TSI148_LCSR_OT1_OTEAL		0x12C
#define TSI148_LCSR_OT1_OTOFU		0x130
#define TSI148_LCSR_OT1_OTOFL		0x134
#define TSI148_LCSR_OT1_OTBS		0x138
#define TSI148_LCSR_OT1_OTAT		0x13C

#define TSI148_LCSR_OT2_OTSAU		0x140
#define TSI148_LCSR_OT2_OTSAL		0x144
#define TSI148_LCSR_OT2_OTEAU		0x148
#define TSI148_LCSR_OT2_OTEAL		0x14C
#define TSI148_LCSR_OT2_OTOFU		0x150
#define TSI148_LCSR_OT2_OTOFL		0x154
#define TSI148_LCSR_OT2_OTBS		0x158
#define TSI148_LCSR_OT2_OTAT		0x15C

#define TSI148_LCSR_OT3_OTSAU		0x160
#define TSI148_LCSR_OT3_OTSAL		0x164
#define TSI148_LCSR_OT3_OTEAU		0x168
#define TSI148_LCSR_OT3_OTEAL		0x16C
#define TSI148_LCSR_OT3_OTOFU		0x170
#define TSI148_LCSR_OT3_OTOFL		0x174
#define TSI148_LCSR_OT3_OTBS		0x178
#define TSI148_LCSR_OT3_OTAT		0x17C

#define TSI148_LCSR_OT4_OTSAU		0x180
#define TSI148_LCSR_OT4_OTSAL		0x184
#define TSI148_LCSR_OT4_OTEAU		0x188
#define TSI148_LCSR_OT4_OTEAL		0x18C
#define TSI148_LCSR_OT4_OTOFU		0x190
#define TSI148_LCSR_OT4_OTOFL		0x194
#define TSI148_LCSR_OT4_OTBS		0x198
#define TSI148_LCSR_OT4_OTAT		0x19C

#define TSI148_LCSR_OT5_OTSAU		0x1A0
#define TSI148_LCSR_OT5_OTSAL		0x1A4
#define TSI148_LCSR_OT5_OTEAU		0x1A8
#define TSI148_LCSR_OT5_OTEAL		0x1AC
#define TSI148_LCSR_OT5_OTOFU		0x1B0
#define TSI148_LCSR_OT5_OTOFL		0x1B4
#define TSI148_LCSR_OT5_OTBS		0x1B8
#define TSI148_LCSR_OT5_OTAT		0x1BC

#define TSI148_LCSR_OT6_OTSAU		0x1C0
#define TSI148_LCSR_OT6_OTSAL		0x1C4
#define TSI148_LCSR_OT6_OTEAU		0x1C8
#define TSI148_LCSR_OT6_OTEAL		0x1CC
#define TSI148_LCSR_OT6_OTOFU		0x1D0
#define TSI148_LCSR_OT6_OTOFL		0x1D4
#define TSI148_LCSR_OT6_OTBS		0x1D8
#define TSI148_LCSR_OT6_OTAT		0x1DC

#define TSI148_LCSR_OT7_OTSAU		0x1E0
#define TSI148_LCSR_OT7_OTSAL		0x1E4
#define TSI148_LCSR_OT7_OTEAU		0x1E8
#define TSI148_LCSR_OT7_OTEAL		0x1EC
#define TSI148_LCSR_OT7_OTOFU		0x1F0
#define TSI148_LCSR_OT7_OTOFL		0x1F4
#define TSI148_LCSR_OT7_OTBS		0x1F8
#define TSI148_LCSR_OT7_OTAT		0x1FC

#define TSI148_LCSR_OT0		0x100
#define TSI148_LCSR_OT1		0x120
#define TSI148_LCSR_OT2		0x140
#define TSI148_LCSR_OT3		0x160
#define TSI148_LCSR_OT4		0x180
#define TSI148_LCSR_OT5		0x1A0
#define TSI148_LCSR_OT6		0x1C0
#define TSI148_LCSR_OT7		0x1E0

static const int TSI148_LCSR_OT[8] = { TSI148_LCSR_OT0, TSI148_LCSR_OT1,
					 TSI148_LCSR_OT2, TSI148_LCSR_OT3,
					 TSI148_LCSR_OT4, TSI148_LCSR_OT5,
					 TSI148_LCSR_OT6, TSI148_LCSR_OT7 };

#define TSI148_LCSR_OFFSET_OTSAU	0x0
#define TSI148_LCSR_OFFSET_OTSAL	0x4
#define TSI148_LCSR_OFFSET_OTEAU	0x8
#define TSI148_LCSR_OFFSET_OTEAL	0xC
#define TSI148_LCSR_OFFSET_OTOFU	0x10
#define TSI148_LCSR_OFFSET_OTOFL	0x14
#define TSI148_LCSR_OFFSET_OTBS		0x18
#define TSI148_LCSR_OFFSET_OTAT		0x1C

/*
 * VMEbus interrupt ack
 * offset  0x200
 */
#define TSI148_LCSR_VIACK1	0x204
#define TSI148_LCSR_VIACK2	0x208
#define TSI148_LCSR_VIACK3	0x20C
#define TSI148_LCSR_VIACK4	0x210
#define TSI148_LCSR_VIACK5	0x214
#define TSI148_LCSR_VIACK6	0x218
#define TSI148_LCSR_VIACK7	0x21C

static const int TSI148_LCSR_VIACK[8] = { 0, TSI148_LCSR_VIACK1,
				TSI148_LCSR_VIACK2, TSI148_LCSR_VIACK3,
				TSI148_LCSR_VIACK4, TSI148_LCSR_VIACK5,
				TSI148_LCSR_VIACK6, TSI148_LCSR_VIACK7 };

/*
 * RMW
 * offset    0x220
 */
#define TSI148_LCSR_RMWAU	0x220
#define TSI148_LCSR_RMWAL	0x224
#define TSI148_LCSR_RMWEN	0x228
#define TSI148_LCSR_RMWC	0x22C
#define TSI148_LCSR_RMWS	0x230

/*
 * VMEbus control
 * offset    0x234
 */
#define TSI148_LCSR_VMCTRL	0x234
#define TSI148_LCSR_VCTRL	0x238
#define TSI148_LCSR_VSTAT	0x23C

/*
 * PCI status
 * offset  0x240
 */
#define TSI148_LCSR_PSTAT	0x240

/*
 * VME filter.
 * offset  0x250
 */
#define TSI148_LCSR_VMEFL	0x250

/*
 * VME exception.
 * offset  0x260
 */
#define TSI148_LCSR_VEAU	0x260
#define TSI148_LCSR_VEAL	0x264
#define TSI148_LCSR_VEAT	0x268

/*
 * PCI error
 * offset  0x270
 */
#define TSI148_LCSR_EDPAU	0x270
#define TSI148_LCSR_EDPAL	0x274
#define TSI148_LCSR_EDPXA	0x278
#define TSI148_LCSR_EDPXS	0x27C
#define TSI148_LCSR_EDPAT	0x280

/*
 * Inbound Translations
 * offset  0x300
 */
#define TSI148_LCSR_IT0_ITSAU		0x300
#define TSI148_LCSR_IT0_ITSAL		0x304
#define TSI148_LCSR_IT0_ITEAU		0x308
#define TSI148_LCSR_IT0_ITEAL		0x30C
#define TSI148_LCSR_IT0_ITOFU		0x310
#define TSI148_LCSR_IT0_ITOFL		0x314
#define TSI148_LCSR_IT0_ITAT		0x318

#define TSI148_LCSR_IT1_ITSAU		0x320
#define TSI148_LCSR_IT1_ITSAL		0x324
#define TSI148_LCSR_IT1_ITEAU		0x328
#define TSI148_LCSR_IT1_ITEAL		0x32C
#define TSI148_LCSR_IT1_ITOFU		0x330
#define TSI148_LCSR_IT1_ITOFL		0x334
#define TSI148_LCSR_IT1_ITAT		0x338

#define TSI148_LCSR_IT2_ITSAU		0x340
#define TSI148_LCSR_IT2_ITSAL		0x344
#define TSI148_LCSR_IT2_ITEAU		0x348
#define TSI148_LCSR_IT2_ITEAL		0x34C
#define TSI148_LCSR_IT2_ITOFU		0x350
#define TSI148_LCSR_IT2_ITOFL		0x354
#define TSI148_LCSR_IT2_ITAT		0x358

#define TSI148_LCSR_IT3_ITSAU		0x360
#define TSI148_LCSR_IT3_ITSAL		0x364
#define TSI148_LCSR_IT3_ITEAU		0x368
#define TSI148_LCSR_IT3_ITEAL		0x36C
#define TSI148_LCSR_IT3_ITOFU		0x370
#define TSI148_LCSR_IT3_ITOFL		0x374
#define TSI148_LCSR_IT3_ITAT		0x378

#define TSI148_LCSR_IT4_ITSAU		0x380
#define TSI148_LCSR_IT4_ITSAL		0x384
#define TSI148_LCSR_IT4_ITEAU		0x388
#define TSI148_LCSR_IT4_ITEAL		0x38C
#define TSI148_LCSR_IT4_ITOFU		0x390
#define TSI148_LCSR_IT4_ITOFL		0x394
#define TSI148_LCSR_IT4_ITAT		0x398

#define TSI148_LCSR_IT5_ITSAU		0x3A0
#define TSI148_LCSR_IT5_ITSAL		0x3A4
#define TSI148_LCSR_IT5_ITEAU		0x3A8
#define TSI148_LCSR_IT5_ITEAL		0x3AC
#define TSI148_LCSR_IT5_ITOFU		0x3B0
#define TSI148_LCSR_IT5_ITOFL		0x3B4
#define TSI148_LCSR_IT5_ITAT		0x3B8

#define TSI148_LCSR_IT6_ITSAU		0x3C0
#define TSI148_LCSR_IT6_ITSAL		0x3C4
#define TSI148_LCSR_IT6_ITEAU		0x3C8
#define TSI148_LCSR_IT6_ITEAL		0x3CC
#define TSI148_LCSR_IT6_ITOFU		0x3D0
#define TSI148_LCSR_IT6_ITOFL		0x3D4
#define TSI148_LCSR_IT6_ITAT		0x3D8

#define TSI148_LCSR_IT7_ITSAU		0x3E0
#define TSI148_LCSR_IT7_ITSAL		0x3E4
#define TSI148_LCSR_IT7_ITEAU		0x3E8
#define TSI148_LCSR_IT7_ITEAL		0x3EC
#define TSI148_LCSR_IT7_ITOFU		0x3F0
#define TSI148_LCSR_IT7_ITOFL		0x3F4
#define TSI148_LCSR_IT7_ITAT		0x3F8

#define TSI148_LCSR_IT0		0x300
#define TSI148_LCSR_IT1		0x320
#define TSI148_LCSR_IT2		0x340
#define TSI148_LCSR_IT3		0x360
#define TSI148_LCSR_IT4		0x380
#define TSI148_LCSR_IT5		0x3A0
#define TSI148_LCSR_IT6		0x3C0
#define TSI148_LCSR_IT7		0x3E0

static const int TSI148_LCSR_IT[8] = { TSI148_LCSR_IT0, TSI148_LCSR_IT1,
					 TSI148_LCSR_IT2, TSI148_LCSR_IT3,
					 TSI148_LCSR_IT4, TSI148_LCSR_IT5,
					 TSI148_LCSR_IT6, TSI148_LCSR_IT7 };

#define TSI148_LCSR_OFFSET_ITSAU	0x0
#define TSI148_LCSR_OFFSET_ITSAL	0x4
#define TSI148_LCSR_OFFSET_ITEAU	0x8
#define TSI148_LCSR_OFFSET_ITEAL	0xC
#define TSI148_LCSR_OFFSET_ITOFU	0x10
#define TSI148_LCSR_OFFSET_ITOFL	0x14
#define TSI148_LCSR_OFFSET_ITAT		0x18

/*
 * Inbound Translation GCSR
 * offset  0x400
 */
#define TSI148_LCSR_GBAU	0x400
#define TSI148_LCSR_GBAL	0x404
#define TSI148_LCSR_GCSRAT	0x408

/*
 * Inbound Translation CRG
 * offset  0x40C
 */
#define TSI148_LCSR_CBAU	0x40C
#define TSI148_LCSR_CBAL	0x410
#define TSI148_LCSR_CSRAT	0x414

/*
 * Inbound Translation CR/CSR
 *         CRG
 * offset  0x418
 */
#define TSI148_LCSR_CROU	0x418
#define TSI148_LCSR_CROL	0x41C
#define TSI148_LCSR_CRAT	0x420

/*
 * Inbound Translation Location Monitor
 * offset  0x424
 */
#define TSI148_LCSR_LMBAU	0x424
#define TSI148_LCSR_LMBAL	0x428
#define TSI148_LCSR_LMAT	0x42C

/*
 * VMEbus Interrupt Control.
 * offset  0x430
 */
#define TSI148_LCSR_BCU		0x430
#define TSI148_LCSR_BCL		0x434
#define TSI148_LCSR_BPGTR	0x438
#define TSI148_LCSR_BPCTR	0x43C
#define TSI148_LCSR_VICR	0x440

/*
 * Local Bus Interrupt Control.
 * offset  0x448
 */
#define TSI148_LCSR_INTEN	0x448
#define TSI148_LCSR_INTEO	0x44C
#define TSI148_LCSR_INTS	0x450
#define TSI148_LCSR_INTC	0x454
#define TSI148_LCSR_INTM1	0x458
#define TSI148_LCSR_INTM2	0x45C

/*
 * DMA Controllers
 * offset 0x500
 */
#define TSI148_LCSR_DCTL0	0x500
#define TSI148_LCSR_DSTA0	0x504
#define TSI148_LCSR_DCSAU0	0x508
#define TSI148_LCSR_DCSAL0	0x50C
#define TSI148_LCSR_DCDAU0	0x510
#define TSI148_LCSR_DCDAL0	0x514
#define TSI148_LCSR_DCLAU0	0x518
#define TSI148_LCSR_DCLAL0	0x51C
#define TSI148_LCSR_DSAU0	0x520
#define TSI148_LCSR_DSAL0	0x524
#define TSI148_LCSR_DDAU0	0x528
#define TSI148_LCSR_DDAL0	0x52C
#define TSI148_LCSR_DSAT0	0x530
#define TSI148_LCSR_DDAT0	0x534
#define TSI148_LCSR_DNLAU0	0x538
#define TSI148_LCSR_DNLAL0	0x53C
#define TSI148_LCSR_DCNT0	0x540
#define TSI148_LCSR_DDBS0	0x544

#define TSI148_LCSR_DCTL1	0x580
#define TSI148_LCSR_DSTA1	0x584
#define TSI148_LCSR_DCSAU1	0x588
#define TSI148_LCSR_DCSAL1	0x58C
#define TSI148_LCSR_DCDAU1	0x590
#define TSI148_LCSR_DCDAL1	0x594
#define TSI148_LCSR_DCLAU1	0x598
#define TSI148_LCSR_DCLAL1	0x59C
#define TSI148_LCSR_DSAU1	0x5A0
#define TSI148_LCSR_DSAL1	0x5A4
#define TSI148_LCSR_DDAU1	0x5A8
#define TSI148_LCSR_DDAL1	0x5AC
#define TSI148_LCSR_DSAT1	0x5B0
#define TSI148_LCSR_DDAT1	0x5B4
#define TSI148_LCSR_DNLAU1	0x5B8
#define TSI148_LCSR_DNLAL1	0x5BC
#define TSI148_LCSR_DCNT1	0x5C0
#define TSI148_LCSR_DDBS1	0x5C4

#define TSI148_LCSR_DMA0	0x500
#define TSI148_LCSR_DMA1	0x580

static const int TSI148_LCSR_DMA[TSI148_MAX_DMA] = { TSI148_LCSR_DMA0,
						TSI148_LCSR_DMA1 };

#define TSI148_LCSR_OFFSET_DCTL		0x0
#define TSI148_LCSR_OFFSET_DSTA		0x4
#define TSI148_LCSR_OFFSET_DCSAU	0x8
#define TSI148_LCSR_OFFSET_DCSAL	0xC
#define TSI148_LCSR_OFFSET_DCDAU	0x10
#define TSI148_LCSR_OFFSET_DCDAL	0x14
#define TSI148_LCSR_OFFSET_DCLAU	0x18
#define TSI148_LCSR_OFFSET_DCLAL	0x1C
#define TSI148_LCSR_OFFSET_DSAU		0x20
#define TSI148_LCSR_OFFSET_DSAL		0x24
#define TSI148_LCSR_OFFSET_DDAU		0x28
#define TSI148_LCSR_OFFSET_DDAL		0x2C
#define TSI148_LCSR_OFFSET_DSAT		0x30
#define TSI148_LCSR_OFFSET_DDAT		0x34
#define TSI148_LCSR_OFFSET_DNLAU	0x38
#define TSI148_LCSR_OFFSET_DNLAL	0x3C
#define TSI148_LCSR_OFFSET_DCNT		0x40
#define TSI148_LCSR_OFFSET_DDBS		0x44

/*
 * GCSR Register Group
 */

/*
 *          GCSR    CRG
 * offset   0x00     0x600 - DEVI/VENI
 * offset   0x04     0x604 - CTRL/GA/REVID
 * offset   0x08     0x608 - Semaphore3/2/1/0
 * offset   0x0C     0x60C - Seamphore7/6/5/4
 */
#define TSI148_GCSR_ID		0x600
#define TSI148_GCSR_CSR		0x604
#define TSI148_GCSR_SEMA0	0x608
#define TSI148_GCSR_SEMA1	0x60C

/*
 * Mail Box
 *          GCSR    CRG
 * offset   0x10    0x610 - Mailbox0
 */
#define TSI148_GCSR_MBOX0	0x610
#define TSI148_GCSR_MBOX1	0x614
#define TSI148_GCSR_MBOX2	0x618
#define TSI148_GCSR_MBOX3	0x61C

static const int TSI148_GCSR_MBOX[4] = { TSI148_GCSR_MBOX0,
					TSI148_GCSR_MBOX1,
					TSI148_GCSR_MBOX2,
					TSI148_GCSR_MBOX3 };

/*
 * CR/CSR
 */

/*
 *         CR/CSR    CRG
 * offset  0x7FFF4   0xFF4 - CSRBCR
 * offset  0x7FFF8   0xFF8 - CSRBSR
 * offset  0x7FFFC   0xFFC - CBAR
 */
#define TSI148_CSRBCR	0xFF4
#define TSI148_CSRBSR	0xFF8
#define TSI148_CBAR	0xFFC

/*
 *  TSI148 Register Bit Definitions
 */

/*
 *  PFCS Register Set
 */
#define TSI148_PCFS_CMMD_SERR          BIT(8)	/* SERR_L out pin ssys err */
#define TSI148_PCFS_CMMD_PERR          BIT(6)	/* PERR_L out pin  parity */
#define TSI148_PCFS_CMMD_MSTR          BIT(2)	/* PCI bus master */
#define TSI148_PCFS_CMMD_MEMSP         BIT(1)	/* PCI mem space access  */
#define TSI148_PCFS_CMMD_IOSP          BIT(0)	/* PCI I/O space enable */

#define TSI148_PCFS_STAT_RCPVE         BIT(15)	/* Detected Parity Error */
#define TSI148_PCFS_STAT_SIGSE         BIT(14)	/* Signalled System Error */
#define TSI148_PCFS_STAT_RCVMA         BIT(13)	/* Received Master Abort */
#define TSI148_PCFS_STAT_RCVTA         BIT(12)	/* Received Target Abort */
#define TSI148_PCFS_STAT_SIGTA         BIT(11)	/* Signalled Target Abort */
#define TSI148_PCFS_STAT_SELTIM        (3 << 9)	/* DELSEL Timing */
#define TSI148_PCFS_STAT_DPAR          BIT(8)	/* Data Parity Err Reported */
#define TSI148_PCFS_STAT_FAST          BIT(7)	/* Fast back-to-back Cap */
#define TSI148_PCFS_STAT_P66M          BIT(5)	/* 66 MHz Capable */
#define TSI148_PCFS_STAT_CAPL          BIT(4)	/* Capab List - address $34 */

/*
 *  Revision ID/Class Code Registers   (CRG +$008)
 */
#define TSI148_PCFS_CLAS_M             (0xFF << 24)	/* Class ID */
#define TSI148_PCFS_SUBCLAS_M          (0xFF << 16)	/* Sub-Class ID */
#define TSI148_PCFS_PROGIF_M           (0xFF << 8)	/* Sub-Class ID */
#define TSI148_PCFS_REVID_M            (0xFF << 0)	/* Rev ID */

/*
 * Cache Line Size/ Master Latency Timer/ Header Type Registers (CRG + $00C)
 */
#define TSI148_PCFS_HEAD_M             (0xFF << 16)	/* Master Lat Timer */
#define TSI148_PCFS_MLAT_M             (0xFF << 8)	/* Master Lat Timer */
#define TSI148_PCFS_CLSZ_M             (0xFF << 0)	/* Cache Line Size */

/*
 *  Memory Base Address Lower Reg (CRG + $010)
 */
#define TSI148_PCFS_MBARL_BASEL_M      (0xFFFFF << 12) /* Base Addr Lower Mask */
#define TSI148_PCFS_MBARL_PRE          BIT(3)	/* Prefetch */
#define TSI148_PCFS_MBARL_MTYPE_M      (3 << 1)	/* Memory Type Mask */
#define TSI148_PCFS_MBARL_IOMEM        BIT(0)	/* I/O Space Indicator */

/*
 *  Message Signaled Interrupt Capabilities Register (CRG + $040)
 */
#define TSI148_PCFS_MSICAP_64BAC       BIT(7)	/* 64-bit Address Capable */
#define TSI148_PCFS_MSICAP_MME_M       (7 << 4)	/* Multiple Msg Enable Mask */
#define TSI148_PCFS_MSICAP_MMC_M       (7 << 1)	/* Multiple Msg Capable Mask */
#define TSI148_PCFS_MSICAP_MSIEN       BIT(0)	/* Msg signaled INT Enable */

/*
 *  Message Address Lower Register (CRG +$044)
 */
#define TSI148_PCFS_MSIAL_M            (0x3FFFFFFF << 2)	/* Mask */

/*
 *  Message Data Register (CRG + 4C)
 */
#define TSI148_PCFS_MSIMD_M            (0xFFFF << 0)	/* Mask */

/*
 *  PCI-X Capabilities Register (CRG + $050)
 */
#define TSI148_PCFS_PCIXCAP_MOST_M     (7 << 4)	/* Max outstanding Split Tran */
#define TSI148_PCFS_PCIXCAP_MMRBC_M    (3 << 2)	/* Max Mem Read byte cnt */
#define TSI148_PCFS_PCIXCAP_ERO        BIT(1)	/* Enable Relaxed Ordering */
#define TSI148_PCFS_PCIXCAP_DPERE      BIT(0)	/* Data Parity Recover Enable */

/*
 *  PCI-X Status Register (CRG +$054)
 */
#define TSI148_PCFS_PCIXSTAT_RSCEM     BIT(29)	/* Received Split Comp Error */
#define TSI148_PCFS_PCIXSTAT_DMCRS_M   (7 << 26)	/* max Cumulative Read Size */
#define TSI148_PCFS_PCIXSTAT_DMOST_M   (7 << 23)	/* max outstanding Split Trans */
#define TSI148_PCFS_PCIXSTAT_DMMRC_M   (3 << 21)	/* max mem read byte count */
#define TSI148_PCFS_PCIXSTAT_DC        BIT(20)	/* Device Complexity */
#define TSI148_PCFS_PCIXSTAT_USC       BIT(19)	/* Unexpected Split comp */
#define TSI148_PCFS_PCIXSTAT_SCD       BIT(18)	/* Split completion discard */
#define TSI148_PCFS_PCIXSTAT_133C      BIT(17)	/* 133MHz capable */
#define TSI148_PCFS_PCIXSTAT_64D       BIT(16)	/* 64 bit device */
#define TSI148_PCFS_PCIXSTAT_BN_M      (0xFF << 8)	/* Bus number */
#define TSI148_PCFS_PCIXSTAT_DN_M      (0x1F << 3)	/* Device number */
#define TSI148_PCFS_PCIXSTAT_FN_M      (7 << 0)	/* Function Number */

/*
 *  LCSR Registers
 */

/*
 *  Outbound Translation Starting Address Lower
 */
#define TSI148_LCSR_OTSAL_M            (0xFFFF << 16)	/* Mask */

/*
 *  Outbound Translation Ending Address Lower
 */
#define TSI148_LCSR_OTEAL_M            (0xFFFF << 16)	/* Mask */

/*
 *  Outbound Translation Offset Lower
 */
#define TSI148_LCSR_OTOFFL_M           (0xFFFF << 16)	/* Mask */

/*
 *  Outbound Translation 2eSST Broadcast Select
 */
#define TSI148_LCSR_OTBS_M             (0xFFFFF << 0)	/* Mask */

/*
 *  Outbound Translation Attribute
 */
#define TSI148_LCSR_OTAT_EN            BIT(31)	/* Window Enable */
#define TSI148_LCSR_OTAT_MRPFD         BIT(18)	/* Prefetch Disable */

#define TSI148_LCSR_OTAT_PFS_M         (3 << 16)	/* Prefetch Size Mask */
#define TSI148_LCSR_OTAT_PFS_2         (0 << 16)	/* 2 Cache Lines P Size */
#define TSI148_LCSR_OTAT_PFS_4         BIT(16)	/* 4 Cache Lines P Size */
#define TSI148_LCSR_OTAT_PFS_8         (2 << 16)	/* 8 Cache Lines P Size */
#define TSI148_LCSR_OTAT_PFS_16        (3 << 16)	/* 16 Cache Lines P Size */

#define TSI148_LCSR_OTAT_2eSSTM_M      (7 << 11)	/* 2eSST Xfer Rate Mask */
#define TSI148_LCSR_OTAT_2eSSTM_160    (0 << 11)	/* 160MB/s 2eSST Xfer Rate */
#define TSI148_LCSR_OTAT_2eSSTM_267    BIT(11)	/* 267MB/s 2eSST Xfer Rate */
#define TSI148_LCSR_OTAT_2eSSTM_320    (2 << 11)	/* 320MB/s 2eSST Xfer Rate */

#define TSI148_LCSR_OTAT_TM_M          (7 << 8)	/* Xfer Protocol Mask */
#define TSI148_LCSR_OTAT_TM_SCT        (0 << 8)	/* SCT Xfer Protocol */
#define TSI148_LCSR_OTAT_TM_BLT        BIT(8)	/* BLT Xfer Protocol */
#define TSI148_LCSR_OTAT_TM_MBLT       (2 << 8)	/* MBLT Xfer Protocol */
#define TSI148_LCSR_OTAT_TM_2eVME      (3 << 8)	/* 2eVME Xfer Protocol */
#define TSI148_LCSR_OTAT_TM_2eSST      (4 << 8)	/* 2eSST Xfer Protocol */
#define TSI148_LCSR_OTAT_TM_2eSSTB     (5 << 8)	/* 2eSST Bcast Xfer Protocol */

#define TSI148_LCSR_OTAT_DBW_M         (3 << 6)	/* Max Data Width */
#define TSI148_LCSR_OTAT_DBW_16        (0 << 6)	/* 16-bit Data Width */
#define TSI148_LCSR_OTAT_DBW_32        BIT(6)	/* 32-bit Data Width */

#define TSI148_LCSR_OTAT_SUP           BIT(5)	/* Supervisory Access */
#define TSI148_LCSR_OTAT_PGM           BIT(4)	/* Program Access */

#define TSI148_LCSR_OTAT_AMODE_M       (0xf << 0)	/* Address Mode Mask */
#define TSI148_LCSR_OTAT_AMODE_A16     (0 << 0)	/* A16 Address Space */
#define TSI148_LCSR_OTAT_AMODE_A24     BIT(0)	/* A24 Address Space */
#define TSI148_LCSR_OTAT_AMODE_A32     (2 << 0)	/* A32 Address Space */
#define TSI148_LCSR_OTAT_AMODE_A64     (4 << 0)	/* A32 Address Space */
#define TSI148_LCSR_OTAT_AMODE_CRCSR   (5 << 0)	/* CR/CSR Address Space */
#define TSI148_LCSR_OTAT_AMODE_USER1   (8 << 0)	/* User1 Address Space */
#define TSI148_LCSR_OTAT_AMODE_USER2   (9 << 0)	/* User2 Address Space */
#define TSI148_LCSR_OTAT_AMODE_USER3   (10 << 0)	/* User3 Address Space */
#define TSI148_LCSR_OTAT_AMODE_USER4   (11 << 0)	/* User4 Address Space */

/*
 *  VME Master Control Register  CRG+$234
 */
#define TSI148_LCSR_VMCTRL_VSA         BIT(27)	/* VMEbus Stop Ack */
#define TSI148_LCSR_VMCTRL_VS          BIT(26)	/* VMEbus Stop */
#define TSI148_LCSR_VMCTRL_DHB         BIT(25)	/* Device Has Bus */
#define TSI148_LCSR_VMCTRL_DWB         BIT(24)	/* Device Wants Bus */

#define TSI148_LCSR_VMCTRL_RMWEN       BIT(20)	/* RMW Enable */

#define TSI148_LCSR_VMCTRL_ATO_M       (7 << 16)	/* Master Access Time-out Mask */
#define TSI148_LCSR_VMCTRL_ATO_32      (0 << 16)	/* 32 us */
#define TSI148_LCSR_VMCTRL_ATO_128     BIT(16)	/* 128 us */
#define TSI148_LCSR_VMCTRL_ATO_512     (2 << 16)	/* 512 us */
#define TSI148_LCSR_VMCTRL_ATO_2M      (3 << 16)	/* 2 ms */
#define TSI148_LCSR_VMCTRL_ATO_8M      (4 << 16)	/* 8 ms */
#define TSI148_LCSR_VMCTRL_ATO_32M     (5 << 16)	/* 32 ms */
#define TSI148_LCSR_VMCTRL_ATO_128M    (6 << 16)	/* 128 ms */
#define TSI148_LCSR_VMCTRL_ATO_DIS     (7 << 16)	/* Disabled */

#define TSI148_LCSR_VMCTRL_VTOFF_M     (7 << 12)	/* VMEbus Master Time off */
#define TSI148_LCSR_VMCTRL_VTOFF_0     (0 << 12)	/* 0us */
#define TSI148_LCSR_VMCTRL_VTOFF_1     BIT(12)	/* 1us */
#define TSI148_LCSR_VMCTRL_VTOFF_2     (2 << 12)	/* 2us */
#define TSI148_LCSR_VMCTRL_VTOFF_4     (3 << 12)	/* 4us */
#define TSI148_LCSR_VMCTRL_VTOFF_8     (4 << 12)	/* 8us */
#define TSI148_LCSR_VMCTRL_VTOFF_16    (5 << 12)	/* 16us */
#define TSI148_LCSR_VMCTRL_VTOFF_32    (6 << 12)	/* 32us */
#define TSI148_LCSR_VMCTRL_VTOFF_64    (7 << 12)	/* 64us */

#define TSI148_LCSR_VMCTRL_VTON_M      (7 << 8)	/* VMEbus Master Time On */
#define TSI148_LCSR_VMCTRL_VTON_4      (0 << 8)	/* 8us */
#define TSI148_LCSR_VMCTRL_VTON_8      BIT(8)	/* 8us */
#define TSI148_LCSR_VMCTRL_VTON_16     (2 << 8)	/* 16us */
#define TSI148_LCSR_VMCTRL_VTON_32     (3 << 8)	/* 32us */
#define TSI148_LCSR_VMCTRL_VTON_64     (4 << 8)	/* 64us */
#define TSI148_LCSR_VMCTRL_VTON_128    (5 << 8)	/* 128us */
#define TSI148_LCSR_VMCTRL_VTON_256    (6 << 8)	/* 256us */
#define TSI148_LCSR_VMCTRL_VTON_512    (7 << 8)	/* 512us */

#define TSI148_LCSR_VMCTRL_VREL_M      (3 << 3)	/* VMEbus Master Rel Mode Mask
						 */
#define TSI148_LCSR_VMCTRL_VREL_T_D    (0 << 3)	/* Time on or Done */
#define TSI148_LCSR_VMCTRL_VREL_T_R_D  BIT(3)	/* Time on and REQ or Done */
#define TSI148_LCSR_VMCTRL_VREL_T_B_D  (2 << 3)	/* Time on and BCLR or Done */
#define TSI148_LCSR_VMCTRL_VREL_T_D_R  (3 << 3)	/* Time on or Done and REQ */

#define TSI148_LCSR_VMCTRL_VFAIR       BIT(2)	/* VMEbus Master Fair Mode */
#define TSI148_LCSR_VMCTRL_VREQL_M     (3 << 0)	/* VMEbus Master Req Level Mask
						 */

/*
 *  VMEbus Control Register CRG+$238
 */
#define TSI148_LCSR_VCTRL_LRE          BIT(31)	/* Late Retry Enable */

#define TSI148_LCSR_VCTRL_DLT_M        (0xF << 24)	/* Deadlock Timer */
#define TSI148_LCSR_VCTRL_DLT_OFF      (0 << 24)	/* Deadlock Timer Off */
#define TSI148_LCSR_VCTRL_DLT_16       BIT(24)	/* 16 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_32       (2 << 24)	/* 32 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_64       (3 << 24)	/* 64 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_128      (4 << 24)	/* 128 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_256      (5 << 24)	/* 256 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_512      (6 << 24)	/* 512 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_1024     (7 << 24)	/* 1024 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_2048     (8 << 24)	/* 2048 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_4096     (9 << 24)	/* 4096 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_8192     (0xA << 24)	/* 8192 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_16384    (0xB << 24)	/* 16384 VCLKS */
#define TSI148_LCSR_VCTRL_DLT_32768    (0xC << 24)	/* 32768 VCLKS */

#define TSI148_LCSR_VCTRL_NERBB        BIT(20)	/* No Early Release of Bus Busy */

#define TSI148_LCSR_VCTRL_SRESET       BIT(17)	/* System Reset */
#define TSI148_LCSR_VCTRL_LRESET       BIT(16)	/* Local Reset */

#define TSI148_LCSR_VCTRL_SFAILAI      BIT(15)	/* SYSFAIL Auto Slot ID */
#define TSI148_LCSR_VCTRL_BID_M        (0x1F << 8)	/* Broadcast ID Mask */

#define TSI148_LCSR_VCTRL_ATOEN        BIT(7)	/* Arbiter Time-out Enable */
#define TSI148_LCSR_VCTRL_ROBIN        BIT(6)	/* VMEbus Round Robin */

#define TSI148_LCSR_VCTRL_GTO_M        (7 << 0)	/* VMEbus Global Time-out Mask*/
#define TSI148_LCSR_VCTRL_GTO_8	      (0 << 0)	/* 8 us */
#define TSI148_LCSR_VCTRL_GTO_16	      BIT(0)	/* 16 us */
#define TSI148_LCSR_VCTRL_GTO_32	      (2 << 0)	/* 32 us */
#define TSI148_LCSR_VCTRL_GTO_64	      (3 << 0)	/* 64 us */
#define TSI148_LCSR_VCTRL_GTO_128      (4 << 0)	/* 128 us */
#define TSI148_LCSR_VCTRL_GTO_256      (5 << 0)	/* 256 us */
#define TSI148_LCSR_VCTRL_GTO_512      (6 << 0)	/* 512 us */
#define TSI148_LCSR_VCTRL_GTO_DIS      (7 << 0)	/* Disabled */

/*
 *  VMEbus Status Register  CRG + $23C
 */
#define TSI148_LCSR_VSTAT_CPURST       BIT(15)	/* Clear power up reset */
#define TSI148_LCSR_VSTAT_BRDFL        BIT(14)	/* Board fail */
#define TSI148_LCSR_VSTAT_PURSTS       BIT(12)	/* Power up reset status */
#define TSI148_LCSR_VSTAT_BDFAILS      BIT(11)	/* Board Fail Status */
#define TSI148_LCSR_VSTAT_SYSFAILS     BIT(10)	/* System Fail Status */
#define TSI148_LCSR_VSTAT_ACFAILS      BIT(9)	/* AC fail status */
#define TSI148_LCSR_VSTAT_SCONS        BIT(8)	/* System Cont Status */
#define TSI148_LCSR_VSTAT_GAP          BIT(5)	/* Geographic Addr Parity */
#define TSI148_LCSR_VSTAT_GA_M         (0x1F << 0)  /* Geographic Addr Mask */

/*
 *  PCI Configuration Status Register CRG+$240
 */
#define TSI148_LCSR_PSTAT_REQ64S       BIT(6)	/* Request 64 status set */
#define TSI148_LCSR_PSTAT_M66ENS       BIT(5)	/* M66ENS 66Mhz enable */
#define TSI148_LCSR_PSTAT_FRAMES       BIT(4)	/* Frame Status */
#define TSI148_LCSR_PSTAT_IRDYS        BIT(3)	/* IRDY status */
#define TSI148_LCSR_PSTAT_DEVSELS      BIT(2)	/* DEVL status */
#define TSI148_LCSR_PSTAT_STOPS        BIT(1)	/* STOP status */
#define TSI148_LCSR_PSTAT_TRDYS        BIT(0)	/* TRDY status */

/*
 *  VMEbus Exception Attributes Register  CRG + $268
 */
#define TSI148_LCSR_VEAT_VES           BIT(31)	/* Status */
#define TSI148_LCSR_VEAT_VEOF          BIT(30)	/* Overflow */
#define TSI148_LCSR_VEAT_VESCL         BIT(29)	/* Status Clear */
#define TSI148_LCSR_VEAT_2EOT          BIT(21)	/* 2e Odd Termination */
#define TSI148_LCSR_VEAT_2EST          BIT(20)	/* 2e Slave terminated */
#define TSI148_LCSR_VEAT_BERR          BIT(19)	/* Bus Error */
#define TSI148_LCSR_VEAT_LWORD         BIT(18)	/* LWORD_ signal state */
#define TSI148_LCSR_VEAT_WRITE         BIT(17)	/* WRITE_ signal state */
#define TSI148_LCSR_VEAT_IACK          BIT(16)	/* IACK_ signal state */
#define TSI148_LCSR_VEAT_DS1           BIT(15)	/* DS1_ signal state */
#define TSI148_LCSR_VEAT_DS0           BIT(14)	/* DS0_ signal state */
#define TSI148_LCSR_VEAT_AM_M          (0x3F << 8)	/* Address Mode Mask */
#define TSI148_LCSR_VEAT_XAM_M         (0xFF << 0)	/* Master AMode Mask */

/*
 * VMEbus PCI Error Diagnostics PCI/X Attributes Register  CRG + $280
 */
#define TSI148_LCSR_EDPAT_EDPCL        BIT(29)

/*
 *  Inbound Translation Starting Address Lower
 */
#define TSI148_LCSR_ITSAL6432_M        (0xFFFF << 16)	/* Mask */
#define TSI148_LCSR_ITSAL24_M          (0x00FFF << 12)	/* Mask */
#define TSI148_LCSR_ITSAL16_M          (0x0000FFF << 4)	/* Mask */

/*
 *  Inbound Translation Ending Address Lower
 */
#define TSI148_LCSR_ITEAL6432_M        (0xFFFF << 16)	/* Mask */
#define TSI148_LCSR_ITEAL24_M          (0x00FFF << 12)	/* Mask */
#define TSI148_LCSR_ITEAL16_M          (0x0000FFF << 4)	/* Mask */

/*
 *  Inbound Translation Offset Lower
 */
#define TSI148_LCSR_ITOFFL6432_M       (0xFFFF << 16)	/* Mask */
#define TSI148_LCSR_ITOFFL24_M         (0xFFFFF << 12)	/* Mask */
#define TSI148_LCSR_ITOFFL16_M         (0xFFFFFFF << 4)	/* Mask */

/*
 *  Inbound Translation Attribute
 */
#define TSI148_LCSR_ITAT_EN            BIT(31)	/* Window Enable */
#define TSI148_LCSR_ITAT_TH            BIT(18)	/* Prefetch Threshold */

#define TSI148_LCSR_ITAT_VFS_M         (3 << 16)	/* Virtual FIFO Size Mask */
#define TSI148_LCSR_ITAT_VFS_64        (0 << 16)	/* 64 bytes Virtual FIFO Size */
#define TSI148_LCSR_ITAT_VFS_128       BIT(16)	/* 128 bytes Virtual FIFO Sz */
#define TSI148_LCSR_ITAT_VFS_256       (2 << 16)	/* 256 bytes Virtual FIFO Sz */
#define TSI148_LCSR_ITAT_VFS_512       (3 << 16)	/* 512 bytes Virtual FIFO Sz */

#define TSI148_LCSR_ITAT_2eSSTM_M      (7 << 12)	/* 2eSST Xfer Rate Mask */
#define TSI148_LCSR_ITAT_2eSSTM_160    (0 << 12)	/* 160MB/s 2eSST Xfer Rate */
#define TSI148_LCSR_ITAT_2eSSTM_267    BIT(12)	/* 267MB/s 2eSST Xfer Rate */
#define TSI148_LCSR_ITAT_2eSSTM_320    (2 << 12)	/* 320MB/s 2eSST Xfer Rate */

#define TSI148_LCSR_ITAT_2eSSTB        BIT(11)	/* 2eSST Bcast Xfer Protocol */
#define TSI148_LCSR_ITAT_2eSST         BIT(10)	/* 2eSST Xfer Protocol */
#define TSI148_LCSR_ITAT_2eVME         BIT(9)	/* 2eVME Xfer Protocol */
#define TSI148_LCSR_ITAT_MBLT          BIT(8)	/* MBLT Xfer Protocol */
#define TSI148_LCSR_ITAT_BLT           BIT(7)	/* BLT Xfer Protocol */

#define TSI148_LCSR_ITAT_AS_M          (7 << 4)	/* Address Space Mask */
#define TSI148_LCSR_ITAT_AS_A16        (0 << 4)	/* A16 Address Space */
#define TSI148_LCSR_ITAT_AS_A24        BIT(4)	/* A24 Address Space */
#define TSI148_LCSR_ITAT_AS_A32        (2 << 4)	/* A32 Address Space */
#define TSI148_LCSR_ITAT_AS_A64        (4 << 4)	/* A64 Address Space */

#define TSI148_LCSR_ITAT_SUPR          BIT(3)	/* Supervisor Access */
#define TSI148_LCSR_ITAT_NPRIV         BIT(2)	/* Non-Priv (User) Access */
#define TSI148_LCSR_ITAT_PGM           BIT(1)	/* Program Access */
#define TSI148_LCSR_ITAT_DATA          BIT(0)	/* Data Access */

/*
 *  GCSR Base Address Lower Address  CRG +$404
 */
#define TSI148_LCSR_GBAL_M             (0x7FFFFFF << 5)	/* Mask */

/*
 *  GCSR Attribute Register CRG + $408
 */
#define TSI148_LCSR_GCSRAT_EN          BIT(7)	/* Enable access to GCSR */

#define TSI148_LCSR_GCSRAT_AS_M        (7 << 4)	/* Address Space Mask */
#define TSI148_LCSR_GCSRAT_AS_A16       (0 << 4)	/* Address Space 16 */
#define TSI148_LCSR_GCSRAT_AS_A24       BIT(4)	/* Address Space 24 */
#define TSI148_LCSR_GCSRAT_AS_A32       (2 << 4)	/* Address Space 32 */
#define TSI148_LCSR_GCSRAT_AS_A64       (4 << 4)	/* Address Space 64 */

#define TSI148_LCSR_GCSRAT_SUPR        BIT(3)	/* Sup set -GCSR decoder */
#define TSI148_LCSR_GCSRAT_NPRIV       BIT(2)	/* Non-Privliged set - CGSR */
#define TSI148_LCSR_GCSRAT_PGM         BIT(1)	/* Program set - GCSR decoder */
#define TSI148_LCSR_GCSRAT_DATA        BIT(0)	/* DATA set GCSR decoder */

/*
 *  CRG Base Address Lower Address  CRG + $410
 */
#define TSI148_LCSR_CBAL_M             (0xFFFFF << 12)

/*
 *  CRG Attribute Register  CRG + $414
 */
#define TSI148_LCSR_CRGAT_EN           BIT(7)	/* Enable PRG Access */

#define TSI148_LCSR_CRGAT_AS_M         (7 << 4)	/* Address Space */
#define TSI148_LCSR_CRGAT_AS_A16       (0 << 4)	/* Address Space 16 */
#define TSI148_LCSR_CRGAT_AS_A24       BIT(4)	/* Address Space 24 */
#define TSI148_LCSR_CRGAT_AS_A32       (2 << 4)	/* Address Space 32 */
#define TSI148_LCSR_CRGAT_AS_A64       (4 << 4)	/* Address Space 64 */

#define TSI148_LCSR_CRGAT_SUPR         BIT(3)	/* Supervisor Access */
#define TSI148_LCSR_CRGAT_NPRIV        BIT(2)	/* Non-Privliged(User) Access */
#define TSI148_LCSR_CRGAT_PGM          BIT(1)	/* Program Access */
#define TSI148_LCSR_CRGAT_DATA         BIT(0)	/* Data Access */

/*
 *  CR/CSR Offset Lower Register  CRG + $41C
 */
#define TSI148_LCSR_CROL_M             (0x1FFF << 19)	/* Mask */

/*
 *  CR/CSR Attribute register  CRG + $420
 */
#define TSI148_LCSR_CRAT_EN            BIT(7)	/* Enable access to CR/CSR */

/*
 *  Location Monitor base address lower register  CRG + $428
 */
#define TSI148_LCSR_LMBAL_M            (0x7FFFFFF << 5)	/* Mask */

/*
 *  Location Monitor Attribute Register  CRG + $42C
 */
#define TSI148_LCSR_LMAT_EN            BIT(7)	/* Enable Location Monitor */

#define TSI148_LCSR_LMAT_AS_M          (7 << 4)	/* Address Space MASK  */
#define TSI148_LCSR_LMAT_AS_A16        (0 << 4)	/* A16 */
#define TSI148_LCSR_LMAT_AS_A24        BIT(4)	/* A24 */
#define TSI148_LCSR_LMAT_AS_A32        (2 << 4)	/* A32 */
#define TSI148_LCSR_LMAT_AS_A64        (4 << 4)	/* A64 */

#define TSI148_LCSR_LMAT_SUPR          BIT(3)	/* Supervisor Access */
#define TSI148_LCSR_LMAT_NPRIV         BIT(2)	/* Non-Priv (User) Access */
#define TSI148_LCSR_LMAT_PGM           BIT(1)	/* Program Access */
#define TSI148_LCSR_LMAT_DATA          BIT(0)	/* Data Access  */

/*
 *  Broadcast Pulse Generator Timer Register  CRG + $438
 */
#define TSI148_LCSR_BPGTR_BPGT_M       (0xFFFF << 0)	/* Mask */

/*
 *  Broadcast Programmable Clock Timer Register  CRG + $43C
 */
#define TSI148_LCSR_BPCTR_BPCT_M       (0xFFFFFF << 0)	/* Mask */

/*
 *  VMEbus Interrupt Control Register           CRG + $43C
 */
#define TSI148_LCSR_VICR_CNTS_M        (3 << 22)	/* Cntr Source MASK */
#define TSI148_LCSR_VICR_CNTS_DIS      BIT(22)	/* Cntr Disable */
#define TSI148_LCSR_VICR_CNTS_IRQ1     (2 << 22)	/* IRQ1 to Cntr */
#define TSI148_LCSR_VICR_CNTS_IRQ2     (3 << 22)	/* IRQ2 to Cntr */

#define TSI148_LCSR_VICR_EDGIS_M       (3 << 20)	/* Edge interrupt MASK */
#define TSI148_LCSR_VICR_EDGIS_DIS     BIT(20)	/* Edge interrupt Disable */
#define TSI148_LCSR_VICR_EDGIS_IRQ1    (2 << 20)	/* IRQ1 to Edge */
#define TSI148_LCSR_VICR_EDGIS_IRQ2    (3 << 20)	/* IRQ2 to Edge */

#define TSI148_LCSR_VICR_IRQIF_M       (3 << 18)	/* IRQ1* Function MASK */
#define TSI148_LCSR_VICR_IRQIF_NORM    BIT(18)	/* Normal */
#define TSI148_LCSR_VICR_IRQIF_PULSE   (2 << 18)	/* Pulse Generator */
#define TSI148_LCSR_VICR_IRQIF_PROG    (3 << 18)	/* Programmable Clock */
#define TSI148_LCSR_VICR_IRQIF_1U      (4 << 18)	/* 1us Clock */

#define TSI148_LCSR_VICR_IRQ2F_M       (3 << 16)	/* IRQ2* Function MASK */
#define TSI148_LCSR_VICR_IRQ2F_NORM    BIT(16)	/* Normal */
#define TSI148_LCSR_VICR_IRQ2F_PULSE   (2 << 16)	/* Pulse Generator */
#define TSI148_LCSR_VICR_IRQ2F_PROG    (3 << 16)	/* Programmable Clock */
#define TSI148_LCSR_VICR_IRQ2F_1U      (4 << 16)	/* 1us Clock */

#define TSI148_LCSR_VICR_BIP           BIT(15)	/* Broadcast Interrupt Pulse */

#define TSI148_LCSR_VICR_IRQC          BIT(12)	/* VMEbus IRQ Clear */
#define TSI148_LCSR_VICR_IRQS          BIT(11)	/* VMEbus IRQ Status */

#define TSI148_LCSR_VICR_IRQL_M        (7 << 8)	/* VMEbus SW IRQ Level Mask */
#define TSI148_LCSR_VICR_IRQL_1        BIT(8)	/* VMEbus SW IRQ Level 1 */
#define TSI148_LCSR_VICR_IRQL_2        (2 << 8)	/* VMEbus SW IRQ Level 2 */
#define TSI148_LCSR_VICR_IRQL_3        (3 << 8)	/* VMEbus SW IRQ Level 3 */
#define TSI148_LCSR_VICR_IRQL_4        (4 << 8)	/* VMEbus SW IRQ Level 4 */
#define TSI148_LCSR_VICR_IRQL_5        (5 << 8)	/* VMEbus SW IRQ Level 5 */
#define TSI148_LCSR_VICR_IRQL_6        (6 << 8)	/* VMEbus SW IRQ Level 6 */
#define TSI148_LCSR_VICR_IRQL_7        (7 << 8)	/* VMEbus SW IRQ Level 7 */

static const int TSI148_LCSR_VICR_IRQL[8] = { 0, TSI148_LCSR_VICR_IRQL_1,
			TSI148_LCSR_VICR_IRQL_2, TSI148_LCSR_VICR_IRQL_3,
			TSI148_LCSR_VICR_IRQL_4, TSI148_LCSR_VICR_IRQL_5,
			TSI148_LCSR_VICR_IRQL_6, TSI148_LCSR_VICR_IRQL_7 };

#define TSI148_LCSR_VICR_STID_M        (0xFF << 0)	/* Status/ID Mask */

/*
 *  Interrupt Enable Register   CRG + $440
 */
#define TSI148_LCSR_INTEN_DMA1EN       BIT(25)	/* DMAC 1 */
#define TSI148_LCSR_INTEN_DMA0EN       BIT(24)	/* DMAC 0 */
#define TSI148_LCSR_INTEN_LM3EN        BIT(23)	/* Location Monitor 3 */
#define TSI148_LCSR_INTEN_LM2EN        BIT(22)	/* Location Monitor 2 */
#define TSI148_LCSR_INTEN_LM1EN        BIT(21)	/* Location Monitor 1 */
#define TSI148_LCSR_INTEN_LM0EN        BIT(20)	/* Location Monitor 0 */
#define TSI148_LCSR_INTEN_MB3EN        BIT(19)	/* Mail Box 3 */
#define TSI148_LCSR_INTEN_MB2EN        BIT(18)	/* Mail Box 2 */
#define TSI148_LCSR_INTEN_MB1EN        BIT(17)	/* Mail Box 1 */
#define TSI148_LCSR_INTEN_MB0EN        BIT(16)	/* Mail Box 0 */
#define TSI148_LCSR_INTEN_PERREN       BIT(13)	/* PCI/X Error */
#define TSI148_LCSR_INTEN_VERREN       BIT(12)	/* VMEbus Error */
#define TSI148_LCSR_INTEN_VIEEN        BIT(11)	/* VMEbus IRQ Edge */
#define TSI148_LCSR_INTEN_IACKEN       BIT(10)	/* IACK */
#define TSI148_LCSR_INTEN_SYSFLEN      BIT(9)	/* System Fail */
#define TSI148_LCSR_INTEN_ACFLEN       BIT(8)	/* AC Fail */
#define TSI148_LCSR_INTEN_IRQ7EN       BIT(7)	/* IRQ7 */
#define TSI148_LCSR_INTEN_IRQ6EN       BIT(6)	/* IRQ6 */
#define TSI148_LCSR_INTEN_IRQ5EN       BIT(5)	/* IRQ5 */
#define TSI148_LCSR_INTEN_IRQ4EN       BIT(4)	/* IRQ4 */
#define TSI148_LCSR_INTEN_IRQ3EN       BIT(3)	/* IRQ3 */
#define TSI148_LCSR_INTEN_IRQ2EN       BIT(2)	/* IRQ2 */
#define TSI148_LCSR_INTEN_IRQ1EN       BIT(1)	/* IRQ1 */

static const int TSI148_LCSR_INTEN_LMEN[4] = { TSI148_LCSR_INTEN_LM0EN,
					TSI148_LCSR_INTEN_LM1EN,
					TSI148_LCSR_INTEN_LM2EN,
					TSI148_LCSR_INTEN_LM3EN };

static const int TSI148_LCSR_INTEN_IRQEN[7] = { TSI148_LCSR_INTEN_IRQ1EN,
					TSI148_LCSR_INTEN_IRQ2EN,
					TSI148_LCSR_INTEN_IRQ3EN,
					TSI148_LCSR_INTEN_IRQ4EN,
					TSI148_LCSR_INTEN_IRQ5EN,
					TSI148_LCSR_INTEN_IRQ6EN,
					TSI148_LCSR_INTEN_IRQ7EN };

/*
 *  Interrupt Enable Out Register CRG + $444
 */
#define TSI148_LCSR_INTEO_DMA1EO       BIT(25)	/* DMAC 1 */
#define TSI148_LCSR_INTEO_DMA0EO       BIT(24)	/* DMAC 0 */
#define TSI148_LCSR_INTEO_LM3EO        BIT(23)	/* Loc Monitor 3 */
#define TSI148_LCSR_INTEO_LM2EO        BIT(22)	/* Loc Monitor 2 */
#define TSI148_LCSR_INTEO_LM1EO        BIT(21)	/* Loc Monitor 1 */
#define TSI148_LCSR_INTEO_LM0EO        BIT(20)	/* Location Monitor 0 */
#define TSI148_LCSR_INTEO_MB3EO        BIT(19)	/* Mail Box 3 */
#define TSI148_LCSR_INTEO_MB2EO        BIT(18)	/* Mail Box 2 */
#define TSI148_LCSR_INTEO_MB1EO        BIT(17)	/* Mail Box 1 */
#define TSI148_LCSR_INTEO_MB0EO        BIT(16)	/* Mail Box 0 */
#define TSI148_LCSR_INTEO_PERREO       BIT(13)	/* PCI/X Error */
#define TSI148_LCSR_INTEO_VERREO       BIT(12)	/* VMEbus Error */
#define TSI148_LCSR_INTEO_VIEEO        BIT(11)	/* VMEbus IRQ Edge */
#define TSI148_LCSR_INTEO_IACKEO       BIT(10)	/* IACK */
#define TSI148_LCSR_INTEO_SYSFLEO      BIT(9)	/* System Fail */
#define TSI148_LCSR_INTEO_ACFLEO       BIT(8)	/* AC Fail */
#define TSI148_LCSR_INTEO_IRQ7EO       BIT(7)	/* IRQ7 */
#define TSI148_LCSR_INTEO_IRQ6EO       BIT(6)	/* IRQ6 */
#define TSI148_LCSR_INTEO_IRQ5EO       BIT(5)	/* IRQ5 */
#define TSI148_LCSR_INTEO_IRQ4EO       BIT(4)	/* IRQ4 */
#define TSI148_LCSR_INTEO_IRQ3EO       BIT(3)	/* IRQ3 */
#define TSI148_LCSR_INTEO_IRQ2EO       BIT(2)	/* IRQ2 */
#define TSI148_LCSR_INTEO_IRQ1EO       BIT(1)	/* IRQ1 */

static const int TSI148_LCSR_INTEO_LMEO[4] = { TSI148_LCSR_INTEO_LM0EO,
					TSI148_LCSR_INTEO_LM1EO,
					TSI148_LCSR_INTEO_LM2EO,
					TSI148_LCSR_INTEO_LM3EO };

static const int TSI148_LCSR_INTEO_IRQEO[7] = { TSI148_LCSR_INTEO_IRQ1EO,
					TSI148_LCSR_INTEO_IRQ2EO,
					TSI148_LCSR_INTEO_IRQ3EO,
					TSI148_LCSR_INTEO_IRQ4EO,
					TSI148_LCSR_INTEO_IRQ5EO,
					TSI148_LCSR_INTEO_IRQ6EO,
					TSI148_LCSR_INTEO_IRQ7EO };

/*
 *  Interrupt Status Register CRG + $448
 */
#define TSI148_LCSR_INTS_DMA1S         BIT(25)	/* DMA 1 */
#define TSI148_LCSR_INTS_DMA0S         BIT(24)	/* DMA 0 */
#define TSI148_LCSR_INTS_LM3S          BIT(23)	/* Location Monitor 3 */
#define TSI148_LCSR_INTS_LM2S          BIT(22)	/* Location Monitor 2 */
#define TSI148_LCSR_INTS_LM1S          BIT(21)	/* Location Monitor 1 */
#define TSI148_LCSR_INTS_LM0S          BIT(20)	/* Location Monitor 0 */
#define TSI148_LCSR_INTS_MB3S          BIT(19)	/* Mail Box 3 */
#define TSI148_LCSR_INTS_MB2S          BIT(18)	/* Mail Box 2 */
#define TSI148_LCSR_INTS_MB1S          BIT(17)	/* Mail Box 1 */
#define TSI148_LCSR_INTS_MB0S          BIT(16)	/* Mail Box 0 */
#define TSI148_LCSR_INTS_PERRS         BIT(13)	/* PCI/X Error */
#define TSI148_LCSR_INTS_VERRS         BIT(12)	/* VMEbus Error */
#define TSI148_LCSR_INTS_VIES          BIT(11)	/* VMEbus IRQ Edge */
#define TSI148_LCSR_INTS_IACKS         BIT(10)	/* IACK */
#define TSI148_LCSR_INTS_SYSFLS        BIT(9)	/* System Fail */
#define TSI148_LCSR_INTS_ACFLS         BIT(8)	/* AC Fail */
#define TSI148_LCSR_INTS_IRQ7S         BIT(7)	/* IRQ7 */
#define TSI148_LCSR_INTS_IRQ6S         BIT(6)	/* IRQ6 */
#define TSI148_LCSR_INTS_IRQ5S         BIT(5)	/* IRQ5 */
#define TSI148_LCSR_INTS_IRQ4S         BIT(4)	/* IRQ4 */
#define TSI148_LCSR_INTS_IRQ3S         BIT(3)	/* IRQ3 */
#define TSI148_LCSR_INTS_IRQ2S         BIT(2)	/* IRQ2 */
#define TSI148_LCSR_INTS_IRQ1S         BIT(1)	/* IRQ1 */

static const int TSI148_LCSR_INTS_LMS[4] = { TSI148_LCSR_INTS_LM0S,
					TSI148_LCSR_INTS_LM1S,
					TSI148_LCSR_INTS_LM2S,
					TSI148_LCSR_INTS_LM3S };

static const int TSI148_LCSR_INTS_MBS[4] = { TSI148_LCSR_INTS_MB0S,
					TSI148_LCSR_INTS_MB1S,
					TSI148_LCSR_INTS_MB2S,
					TSI148_LCSR_INTS_MB3S };

/*
 *  Interrupt Clear Register CRG + $44C
 */
#define TSI148_LCSR_INTC_DMA1C         BIT(25)	/* DMA 1 */
#define TSI148_LCSR_INTC_DMA0C         BIT(24)	/* DMA 0 */
#define TSI148_LCSR_INTC_LM3C          BIT(23)	/* Location Monitor 3 */
#define TSI148_LCSR_INTC_LM2C          BIT(22)	/* Location Monitor 2 */
#define TSI148_LCSR_INTC_LM1C          BIT(21)	/* Location Monitor 1 */
#define TSI148_LCSR_INTC_LM0C          BIT(20)	/* Location Monitor 0 */
#define TSI148_LCSR_INTC_MB3C          BIT(19)	/* Mail Box 3 */
#define TSI148_LCSR_INTC_MB2C          BIT(18)	/* Mail Box 2 */
#define TSI148_LCSR_INTC_MB1C          BIT(17)	/* Mail Box 1 */
#define TSI148_LCSR_INTC_MB0C          BIT(16)	/* Mail Box 0 */
#define TSI148_LCSR_INTC_PERRC         BIT(13)	/* VMEbus Error */
#define TSI148_LCSR_INTC_VERRC         BIT(12)	/* VMEbus Access Time-out */
#define TSI148_LCSR_INTC_VIEC          BIT(11)	/* VMEbus IRQ Edge */
#define TSI148_LCSR_INTC_IACKC         BIT(10)	/* IACK */
#define TSI148_LCSR_INTC_SYSFLC        BIT(9)	/* System Fail */
#define TSI148_LCSR_INTC_ACFLC         BIT(8)	/* AC Fail */

static const int TSI148_LCSR_INTC_LMC[4] = { TSI148_LCSR_INTC_LM0C,
					TSI148_LCSR_INTC_LM1C,
					TSI148_LCSR_INTC_LM2C,
					TSI148_LCSR_INTC_LM3C };

static const int TSI148_LCSR_INTC_MBC[4] = { TSI148_LCSR_INTC_MB0C,
					TSI148_LCSR_INTC_MB1C,
					TSI148_LCSR_INTC_MB2C,
					TSI148_LCSR_INTC_MB3C };

/*
 *  Interrupt Map Register 1 CRG + $458
 */
#define TSI148_LCSR_INTM1_DMA1M_M      (3 << 18)	/* DMA 1 */
#define TSI148_LCSR_INTM1_DMA0M_M      (3 << 16)	/* DMA 0 */
#define TSI148_LCSR_INTM1_LM3M_M       (3 << 14)	/* Location Monitor 3 */
#define TSI148_LCSR_INTM1_LM2M_M       (3 << 12)	/* Location Monitor 2 */
#define TSI148_LCSR_INTM1_LM1M_M       (3 << 10)	/* Location Monitor 1 */
#define TSI148_LCSR_INTM1_LM0M_M       (3 << 8)	/* Location Monitor 0 */
#define TSI148_LCSR_INTM1_MB3M_M       (3 << 6)	/* Mail Box 3 */
#define TSI148_LCSR_INTM1_MB2M_M       (3 << 4)	/* Mail Box 2 */
#define TSI148_LCSR_INTM1_MB1M_M       (3 << 2)	/* Mail Box 1 */
#define TSI148_LCSR_INTM1_MB0M_M       (3 << 0)	/* Mail Box 0 */

/*
 *  Interrupt Map Register 2 CRG + $45C
 */
#define TSI148_LCSR_INTM2_PERRM_M      (3 << 26)	/* PCI Bus Error */
#define TSI148_LCSR_INTM2_VERRM_M      (3 << 24)	/* VMEbus Error */
#define TSI148_LCSR_INTM2_VIEM_M       (3 << 22)	/* VMEbus IRQ Edge */
#define TSI148_LCSR_INTM2_IACKM_M      (3 << 20)	/* IACK */
#define TSI148_LCSR_INTM2_SYSFLM_M     (3 << 18)	/* System Fail */
#define TSI148_LCSR_INTM2_ACFLM_M      (3 << 16)	/* AC Fail */
#define TSI148_LCSR_INTM2_IRQ7M_M      (3 << 14)	/* IRQ7 */
#define TSI148_LCSR_INTM2_IRQ6M_M      (3 << 12)	/* IRQ6 */
#define TSI148_LCSR_INTM2_IRQ5M_M      (3 << 10)	/* IRQ5 */
#define TSI148_LCSR_INTM2_IRQ4M_M      (3 << 8)	/* IRQ4 */
#define TSI148_LCSR_INTM2_IRQ3M_M      (3 << 6)	/* IRQ3 */
#define TSI148_LCSR_INTM2_IRQ2M_M      (3 << 4)	/* IRQ2 */
#define TSI148_LCSR_INTM2_IRQ1M_M      (3 << 2)	/* IRQ1 */

/*
 *  DMA Control (0-1) Registers CRG + $500
 */
#define TSI148_LCSR_DCTL_ABT           BIT(27)	/* Abort */
#define TSI148_LCSR_DCTL_PAU           BIT(26)	/* Pause */
#define TSI148_LCSR_DCTL_DGO           BIT(25)	/* DMA Go */

#define TSI148_LCSR_DCTL_MOD           BIT(23)	/* Mode */

#define TSI148_LCSR_DCTL_VBKS_M        (7 << 12)	/* VMEbus block Size MASK */
#define TSI148_LCSR_DCTL_VBKS_32       (0 << 12)	/* VMEbus block Size 32 */
#define TSI148_LCSR_DCTL_VBKS_64       BIT(12)	/* VMEbus block Size 64 */
#define TSI148_LCSR_DCTL_VBKS_128      (2 << 12)	/* VMEbus block Size 128 */
#define TSI148_LCSR_DCTL_VBKS_256      (3 << 12)	/* VMEbus block Size 256 */
#define TSI148_LCSR_DCTL_VBKS_512      (4 << 12)	/* VMEbus block Size 512 */
#define TSI148_LCSR_DCTL_VBKS_1024     (5 << 12)	/* VMEbus block Size 1024 */
#define TSI148_LCSR_DCTL_VBKS_2048     (6 << 12)	/* VMEbus block Size 2048 */
#define TSI148_LCSR_DCTL_VBKS_4096     (7 << 12)	/* VMEbus block Size 4096 */

#define TSI148_LCSR_DCTL_VBOT_M        (7 << 8)	/* VMEbus back-off MASK */
#define TSI148_LCSR_DCTL_VBOT_0        (0 << 8)	/* VMEbus back-off  0us */
#define TSI148_LCSR_DCTL_VBOT_1        BIT(8)	/* VMEbus back-off 1us */
#define TSI148_LCSR_DCTL_VBOT_2        (2 << 8)	/* VMEbus back-off 2us */
#define TSI148_LCSR_DCTL_VBOT_4        (3 << 8)	/* VMEbus back-off 4us */
#define TSI148_LCSR_DCTL_VBOT_8        (4 << 8)	/* VMEbus back-off 8us */
#define TSI148_LCSR_DCTL_VBOT_16       (5 << 8)	/* VMEbus back-off 16us */
#define TSI148_LCSR_DCTL_VBOT_32       (6 << 8)	/* VMEbus back-off 32us */
#define TSI148_LCSR_DCTL_VBOT_64       (7 << 8)	/* VMEbus back-off 64us */

#define TSI148_LCSR_DCTL_PBKS_M        (7 << 4)	/* PCI block size MASK */
#define TSI148_LCSR_DCTL_PBKS_32       (0 << 4)	/* PCI block size 32 bytes */
#define TSI148_LCSR_DCTL_PBKS_64       BIT(4)	/* PCI block size 64 bytes */
#define TSI148_LCSR_DCTL_PBKS_128      (2 << 4)	/* PCI block size 128 bytes */
#define TSI148_LCSR_DCTL_PBKS_256      (3 << 4)	/* PCI block size 256 bytes */
#define TSI148_LCSR_DCTL_PBKS_512      (4 << 4)	/* PCI block size 512 bytes */
#define TSI148_LCSR_DCTL_PBKS_1024     (5 << 4)	/* PCI block size 1024 bytes */
#define TSI148_LCSR_DCTL_PBKS_2048     (6 << 4)	/* PCI block size 2048 bytes */
#define TSI148_LCSR_DCTL_PBKS_4096     (7 << 4)	/* PCI block size 4096 bytes */

#define TSI148_LCSR_DCTL_PBOT_M        (7 << 0)	/* PCI back off MASK */
#define TSI148_LCSR_DCTL_PBOT_0        (0 << 0)	/* PCI back off 0us */
#define TSI148_LCSR_DCTL_PBOT_1        BIT(0)	/* PCI back off 1us */
#define TSI148_LCSR_DCTL_PBOT_2        (2 << 0)	/* PCI back off 2us */
#define TSI148_LCSR_DCTL_PBOT_4        (3 << 0)	/* PCI back off 3us */
#define TSI148_LCSR_DCTL_PBOT_8        (4 << 0)	/* PCI back off 4us */
#define TSI148_LCSR_DCTL_PBOT_16       (5 << 0)	/* PCI back off 8us */
#define TSI148_LCSR_DCTL_PBOT_32       (6 << 0)	/* PCI back off 16us */
#define TSI148_LCSR_DCTL_PBOT_64       (7 << 0)	/* PCI back off 32us */

/*
 *  DMA Status Registers (0-1)  CRG + $504
 */
#define TSI148_LCSR_DSTA_SMA           BIT(31)	/* PCI Signalled Master Abt */
#define TSI148_LCSR_DSTA_RTA           BIT(30)	/* PCI Received Target Abt */
#define TSI148_LCSR_DSTA_MRC           BIT(29)	/* PCI Max Retry Count */
#define TSI148_LCSR_DSTA_VBE           BIT(28)	/* VMEbus error */
#define TSI148_LCSR_DSTA_ABT           BIT(27)	/* Abort */
#define TSI148_LCSR_DSTA_PAU           BIT(26)	/* Pause */
#define TSI148_LCSR_DSTA_DON           BIT(25)	/* Done */
#define TSI148_LCSR_DSTA_BSY           BIT(24)	/* Busy */

/*
 *  DMA Current Link Address Lower (0-1)
 */
#define TSI148_LCSR_DCLAL_M            (0x3FFFFFF << 6)	/* Mask */

/*
 *  DMA Source Attribute (0-1) Reg
 */
#define TSI148_LCSR_DSAT_TYP_M         (3 << 28)	/* Source Bus Type */
#define TSI148_LCSR_DSAT_TYP_PCI       (0 << 28)	/* PCI Bus */
#define TSI148_LCSR_DSAT_TYP_VME       BIT(28)	/* VMEbus */
#define TSI148_LCSR_DSAT_TYP_PAT       (2 << 28)	/* Data Pattern */

#define TSI148_LCSR_DSAT_PSZ           BIT(25)	/* Pattern Size */
#define TSI148_LCSR_DSAT_NIN           BIT(24)	/* No Increment */

#define TSI148_LCSR_DSAT_2eSSTM_M      (3 << 11)	/* 2eSST Trans Rate Mask */
#define TSI148_LCSR_DSAT_2eSSTM_160    (0 << 11)	/* 160 MB/s */
#define TSI148_LCSR_DSAT_2eSSTM_267    BIT(11)	/* 267 MB/s */
#define TSI148_LCSR_DSAT_2eSSTM_320    (2 << 11)	/* 320 MB/s */

#define TSI148_LCSR_DSAT_TM_M          (7 << 8)	/* Bus Transfer Protocol Mask */
#define TSI148_LCSR_DSAT_TM_SCT        (0 << 8)	/* SCT */
#define TSI148_LCSR_DSAT_TM_BLT        BIT(8)	/* BLT */
#define TSI148_LCSR_DSAT_TM_MBLT       (2 << 8)	/* MBLT */
#define TSI148_LCSR_DSAT_TM_2eVME      (3 << 8)	/* 2eVME */
#define TSI148_LCSR_DSAT_TM_2eSST      (4 << 8)	/* 2eSST */
#define TSI148_LCSR_DSAT_TM_2eSSTB     (5 << 8)	/* 2eSST Broadcast */

#define TSI148_LCSR_DSAT_DBW_M         (3 << 6)	/* Max Data Width MASK */
#define TSI148_LCSR_DSAT_DBW_16        (0 << 6)	/* 16 Bits */
#define TSI148_LCSR_DSAT_DBW_32        BIT(6)	/* 32 Bits */

#define TSI148_LCSR_DSAT_SUP           BIT(5)	/* Supervisory Mode */
#define TSI148_LCSR_DSAT_PGM           BIT(4)	/* Program Mode */

#define TSI148_LCSR_DSAT_AMODE_M       (0xf << 0)	/* Address Space Mask */
#define TSI148_LCSR_DSAT_AMODE_A16     (0 << 0)	/* A16 */
#define TSI148_LCSR_DSAT_AMODE_A24     BIT(0)	/* A24 */
#define TSI148_LCSR_DSAT_AMODE_A32     (2 << 0)	/* A32 */
#define TSI148_LCSR_DSAT_AMODE_A64     (4 << 0)	/* A64 */
#define TSI148_LCSR_DSAT_AMODE_CRCSR   (5 << 0)	/* CR/CSR */
#define TSI148_LCSR_DSAT_AMODE_USER1   (8 << 0)	/* User1 */
#define TSI148_LCSR_DSAT_AMODE_USER2   (9 << 0)	/* User2 */
#define TSI148_LCSR_DSAT_AMODE_USER3   (0xa << 0)	/* User3 */
#define TSI148_LCSR_DSAT_AMODE_USER4   (0xb << 0)	/* User4 */

/*
 *  DMA Destination Attribute Registers (0-1)
 */
#define TSI148_LCSR_DDAT_TYP_PCI       (0 << 28)	/* Destination PCI Bus  */
#define TSI148_LCSR_DDAT_TYP_VME       BIT(28)	/* Destination VMEbus */

#define TSI148_LCSR_DDAT_2eSSTM_M      (3 << 11)	/* 2eSST Transfer Rate Mask */
#define TSI148_LCSR_DDAT_2eSSTM_160    (0 << 11)	/* 160 MB/s */
#define TSI148_LCSR_DDAT_2eSSTM_267    BIT(11)	/* 267 MB/s */
#define TSI148_LCSR_DDAT_2eSSTM_320    (2 << 11)	/* 320 MB/s */

#define TSI148_LCSR_DDAT_TM_M          (7 << 8)	/* Bus Transfer Protocol Mask */
#define TSI148_LCSR_DDAT_TM_SCT        (0 << 8)	/* SCT */
#define TSI148_LCSR_DDAT_TM_BLT        BIT(8)	/* BLT */
#define TSI148_LCSR_DDAT_TM_MBLT       (2 << 8)	/* MBLT */
#define TSI148_LCSR_DDAT_TM_2eVME      (3 << 8)	/* 2eVME */
#define TSI148_LCSR_DDAT_TM_2eSST      (4 << 8)	/* 2eSST */
#define TSI148_LCSR_DDAT_TM_2eSSTB     (5 << 8)	/* 2eSST Broadcast */

#define TSI148_LCSR_DDAT_DBW_M         (3 << 6)	/* Max Data Width MASK */
#define TSI148_LCSR_DDAT_DBW_16        (0 << 6)	/* 16 Bits */
#define TSI148_LCSR_DDAT_DBW_32        BIT(6)	/* 32 Bits */

#define TSI148_LCSR_DDAT_SUP           BIT(5)	/* Supervisory/User Access */
#define TSI148_LCSR_DDAT_PGM           BIT(4)	/* Program/Data Access */

#define TSI148_LCSR_DDAT_AMODE_M       (0xf << 0)	/* Address Space Mask */
#define TSI148_LCSR_DDAT_AMODE_A16      (0 << 0)	/* A16 */
#define TSI148_LCSR_DDAT_AMODE_A24      BIT(0)	/* A24 */
#define TSI148_LCSR_DDAT_AMODE_A32      (2 << 0)	/* A32 */
#define TSI148_LCSR_DDAT_AMODE_A64      (4 << 0)	/* A64 */
#define TSI148_LCSR_DDAT_AMODE_CRCSR   (5 << 0)	/* CRC/SR */
#define TSI148_LCSR_DDAT_AMODE_USER1   (8 << 0)	/* User1 */
#define TSI148_LCSR_DDAT_AMODE_USER2   (9 << 0)	/* User2 */
#define TSI148_LCSR_DDAT_AMODE_USER3   (0xa << 0)	/* User3 */
#define TSI148_LCSR_DDAT_AMODE_USER4   (0xb << 0)	/* User4 */

/*
 *  DMA Next Link Address Lower
 */
#define TSI148_LCSR_DNLAL_DNLAL_M      (0x3FFFFFF << 6)	/* Address Mask */
#define TSI148_LCSR_DNLAL_LLA          BIT(0)  /* Last Link Address Indicator */

/*
 *  DMA 2eSST Broadcast Select
 */
#define TSI148_LCSR_DBS_M              (0x1FFFFF << 0)	/* Mask */

/*
 *  GCSR Register Group
 */

/*
 *  GCSR Control and Status Register  CRG + $604
 */
#define TSI148_GCSR_GCTRL_LRST         BIT(15)	/* Local Reset */
#define TSI148_GCSR_GCTRL_SFAILEN      BIT(14)	/* System Fail enable */
#define TSI148_GCSR_GCTRL_BDFAILS      BIT(13)	/* Board Fail Status */
#define TSI148_GCSR_GCTRL_SCON         BIT(12)	/* System Copntroller */
#define TSI148_GCSR_GCTRL_MEN          BIT(11)	/* Module Enable (READY) */

#define TSI148_GCSR_GCTRL_LMI3S        BIT(7)	/* Loc Monitor 3 Int Status */
#define TSI148_GCSR_GCTRL_LMI2S        BIT(6)	/* Loc Monitor 2 Int Status */
#define TSI148_GCSR_GCTRL_LMI1S        BIT(5)	/* Loc Monitor 1 Int Status */
#define TSI148_GCSR_GCTRL_LMI0S        BIT(4)	/* Loc Monitor 0 Int Status */
#define TSI148_GCSR_GCTRL_MBI3S        BIT(3)	/* Mail box 3 Int Status */
#define TSI148_GCSR_GCTRL_MBI2S        BIT(2)	/* Mail box 2 Int Status */
#define TSI148_GCSR_GCTRL_MBI1S        BIT(1)	/* Mail box 1 Int Status */
#define TSI148_GCSR_GCTRL_MBI0S        BIT(0)	/* Mail box 0 Int Status */

#define TSI148_GCSR_GAP                BIT(5)	/* Geographic Addr Parity */
#define TSI148_GCSR_GA_M               (0x1F << 0)  /* Geographic Address Mask */

/*
 *  CR/CSR Register Group
 */

/*
 *  CR/CSR Bit Clear Register CRG + $FF4
 */
#define TSI148_CRCSR_CSRBCR_LRSTC      BIT(7)	/* Local Reset Clear */
#define TSI148_CRCSR_CSRBCR_SFAILC     BIT(6)	/* System Fail Enable Clear */
#define TSI148_CRCSR_CSRBCR_BDFAILS    BIT(5)	/* Board Fail Status */
#define TSI148_CRCSR_CSRBCR_MENC       BIT(4)	/* Module Enable Clear */
#define TSI148_CRCSR_CSRBCR_BERRSC     BIT(3)	/* Bus Error Status Clear */

/*
 *  CR/CSR Bit Set Register CRG+$FF8
 */
#define TSI148_CRCSR_CSRBSR_LISTS      BIT(7)	/* Local Reset Clear */
#define TSI148_CRCSR_CSRBSR_SFAILS     BIT(6)	/* System Fail Enable Clear */
#define TSI148_CRCSR_CSRBSR_BDFAILS    BIT(5)	/* Board Fail Status */
#define TSI148_CRCSR_CSRBSR_MENS       BIT(4)	/* Module Enable Clear */
#define TSI148_CRCSR_CSRBSR_BERRS      BIT(3)	/* Bus Error Status Clear */

/*
 *  CR/CSR Base Address Register CRG + FFC
 */
#define TSI148_CRCSR_CBAR_M            (0x1F << 3)	/* Mask */

#endif				/* TSI148_H */
