|  | @@ -0,0 +1,112 @@
 | 
	
		
			
				|  |  | +#ifndef __ALPHA_T2__H__
 | 
	
		
			
				|  |  | +#define __ALPHA_T2__H__
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Fit everything into one 128MB HAE window. */
 | 
	
		
			
				|  |  | +#define T2_ONE_HAE_WINDOW 1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#include <linux/types.h>
 | 
	
		
			
				|  |  | +#include <linux/spinlock.h>
 | 
	
		
			
				|  |  | +#include <asm/compiler.h>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * T2 is the internal name for the core logic chipset which provides
 | 
	
		
			
				|  |  | + * memory controller and PCI access for the SABLE-based systems.
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * This file is based on:
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * SABLE I/O Specification
 | 
	
		
			
				|  |  | + * Revision/Update Information: 1.3
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * jestabro@amt.tay1.dec.com Initial Version.
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define T2_MEM_R1_MASK 0x07ffffff  /* Mem sparse region 1 mask is 27 bits */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* GAMMA-SABLE is a SABLE with EV5-based CPUs */
 | 
	
		
			
				|  |  | +/* All LYNX machines, EV4 or EV5, use the GAMMA bias also */
 | 
	
		
			
				|  |  | +#define _GAMMA_BIAS		0x8000000000UL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#if defined(CONFIG_ALPHA_GENERIC)
 | 
	
		
			
				|  |  | +#define GAMMA_BIAS		alpha_mv.sys.t2.gamma_bias
 | 
	
		
			
				|  |  | +#elif defined(CONFIG_ALPHA_GAMMA)
 | 
	
		
			
				|  |  | +#define GAMMA_BIAS		_GAMMA_BIAS
 | 
	
		
			
				|  |  | +#else
 | 
	
		
			
				|  |  | +#define GAMMA_BIAS		0
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Memory spaces:
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define T2_CONF		        (IDENT_ADDR + GAMMA_BIAS + 0x390000000UL)
 | 
	
		
			
				|  |  | +#define T2_IO			(IDENT_ADDR + GAMMA_BIAS + 0x3a0000000UL)
 | 
	
		
			
				|  |  | +#define T2_SPARSE_MEM		(IDENT_ADDR + GAMMA_BIAS + 0x200000000UL)
 | 
	
		
			
				|  |  | +#define T2_DENSE_MEM	        (IDENT_ADDR + GAMMA_BIAS + 0x3c0000000UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define T2_IOCSR		(IDENT_ADDR + GAMMA_BIAS + 0x38e000000UL)
 | 
	
		
			
				|  |  | +#define T2_CERR1		(IDENT_ADDR + GAMMA_BIAS + 0x38e000020UL)
 | 
	
		
			
				|  |  | +#define T2_CERR2		(IDENT_ADDR + GAMMA_BIAS + 0x38e000040UL)
 | 
	
		
			
				|  |  | +#define T2_CERR3		(IDENT_ADDR + GAMMA_BIAS + 0x38e000060UL)
 | 
	
		
			
				|  |  | +#define T2_PERR1		(IDENT_ADDR + GAMMA_BIAS + 0x38e000080UL)
 | 
	
		
			
				|  |  | +#define T2_PERR2		(IDENT_ADDR + GAMMA_BIAS + 0x38e0000a0UL)
 | 
	
		
			
				|  |  | +#define T2_PSCR			(IDENT_ADDR + GAMMA_BIAS + 0x38e0000c0UL)
 | 
	
		
			
				|  |  | +#define T2_HAE_1		(IDENT_ADDR + GAMMA_BIAS + 0x38e0000e0UL)
 | 
	
		
			
				|  |  | +#define T2_HAE_2		(IDENT_ADDR + GAMMA_BIAS + 0x38e000100UL)
 | 
	
		
			
				|  |  | +#define T2_HBASE		(IDENT_ADDR + GAMMA_BIAS + 0x38e000120UL)
 | 
	
		
			
				|  |  | +#define T2_WBASE1		(IDENT_ADDR + GAMMA_BIAS + 0x38e000140UL)
 | 
	
		
			
				|  |  | +#define T2_WMASK1		(IDENT_ADDR + GAMMA_BIAS + 0x38e000160UL)
 | 
	
		
			
				|  |  | +#define T2_TBASE1		(IDENT_ADDR + GAMMA_BIAS + 0x38e000180UL)
 | 
	
		
			
				|  |  | +#define T2_WBASE2		(IDENT_ADDR + GAMMA_BIAS + 0x38e0001a0UL)
 | 
	
		
			
				|  |  | +#define T2_WMASK2		(IDENT_ADDR + GAMMA_BIAS + 0x38e0001c0UL)
 | 
	
		
			
				|  |  | +#define T2_TBASE2		(IDENT_ADDR + GAMMA_BIAS + 0x38e0001e0UL)
 | 
	
		
			
				|  |  | +#define T2_TLBBR		(IDENT_ADDR + GAMMA_BIAS + 0x38e000200UL)
 | 
	
		
			
				|  |  | +#define T2_IVR			(IDENT_ADDR + GAMMA_BIAS + 0x38e000220UL)
 | 
	
		
			
				|  |  | +#define T2_HAE_3		(IDENT_ADDR + GAMMA_BIAS + 0x38e000240UL)
 | 
	
		
			
				|  |  | +#define T2_HAE_4		(IDENT_ADDR + GAMMA_BIAS + 0x38e000260UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* The CSRs below are T3/T4 only */
 | 
	
		
			
				|  |  | +#define T2_WBASE3		(IDENT_ADDR + GAMMA_BIAS + 0x38e000280UL)
 | 
	
		
			
				|  |  | +#define T2_WMASK3		(IDENT_ADDR + GAMMA_BIAS + 0x38e0002a0UL)
 | 
	
		
			
				|  |  | +#define T2_TBASE3		(IDENT_ADDR + GAMMA_BIAS + 0x38e0002c0UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define T2_TDR0			(IDENT_ADDR + GAMMA_BIAS + 0x38e000300UL)
 | 
	
		
			
				|  |  | +#define T2_TDR1			(IDENT_ADDR + GAMMA_BIAS + 0x38e000320UL)
 | 
	
		
			
				|  |  | +#define T2_TDR2			(IDENT_ADDR + GAMMA_BIAS + 0x38e000340UL)
 | 
	
		
			
				|  |  | +#define T2_TDR3			(IDENT_ADDR + GAMMA_BIAS + 0x38e000360UL)
 | 
	
		
			
				|  |  | +#define T2_TDR4			(IDENT_ADDR + GAMMA_BIAS + 0x38e000380UL)
 | 
	
		
			
				|  |  | +#define T2_TDR5			(IDENT_ADDR + GAMMA_BIAS + 0x38e0003a0UL)
 | 
	
		
			
				|  |  | +#define T2_TDR6			(IDENT_ADDR + GAMMA_BIAS + 0x38e0003c0UL)
 | 
	
		
			
				|  |  | +#define T2_TDR7			(IDENT_ADDR + GAMMA_BIAS + 0x38e0003e0UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define T2_WBASE4		(IDENT_ADDR + GAMMA_BIAS + 0x38e000400UL)
 | 
	
		
			
				|  |  | +#define T2_WMASK4		(IDENT_ADDR + GAMMA_BIAS + 0x38e000420UL)
 | 
	
		
			
				|  |  | +#define T2_TBASE4		(IDENT_ADDR + GAMMA_BIAS + 0x38e000440UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define T2_AIR			(IDENT_ADDR + GAMMA_BIAS + 0x38e000460UL)
 | 
	
		
			
				|  |  | +#define T2_VAR			(IDENT_ADDR + GAMMA_BIAS + 0x38e000480UL)
 | 
	
		
			
				|  |  | +#define T2_DIR			(IDENT_ADDR + GAMMA_BIAS + 0x38e0004a0UL)
 | 
	
		
			
				|  |  | +#define T2_ICE			(IDENT_ADDR + GAMMA_BIAS + 0x38e0004c0UL)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#ifndef T2_ONE_HAE_WINDOW
 | 
	
		
			
				|  |  | +#define T2_HAE_ADDRESS		T2_HAE_1
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*  T2 CSRs are in the non-cachable primary IO space from 3.8000.0000 to
 | 
	
		
			
				|  |  | + 3.8fff.ffff
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8000 0000
 | 
	
		
			
				|  |  | + *  | CPU 0 CSRs   |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8100 0000
 | 
	
		
			
				|  |  | + *  | CPU 1 CSRs   |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8200 0000
 | 
	
		
			
				|  |  | + *  | CPU 2 CSRs   |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8300 0000
 | 
	
		
			
				|  |  | + *  | CPU 3 CSRs   |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8400 0000
 | 
	
		
			
				|  |  | + *  | CPU Reserved |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8700 0000
 | 
	
		
			
				|  |  | + *  | Mem Reserved |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8800 0000
 | 
	
		
			
				|  |  | + *  | Mem 0 CSRs   |
 | 
	
		
			
				|  |  | + *  +--------------+ 3 8900 0000
 | 
	
		
			
				|  |  | + *  | Mem 1 CSRs   |
 |