| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 
							- #ifndef __ALPHA_TITAN__H__
 
- #define __ALPHA_TITAN__H__
 
- #include <linux/types.h>
 
- #include <asm/compiler.h>
 
- /*
 
-  * TITAN is the internal names for a core logic chipset which provides
 
-  * memory controller and PCI/AGP access for 21264 based systems.
 
-  *
 
-  * This file is based on:
 
-  *
 
-  * Titan Chipset Engineering Specification
 
-  * Revision 0.12
 
-  * 13 July 1999
 
-  *
 
-  */
 
- /* XXX: Do we need to conditionalize on this?  */
 
- #ifdef USE_48_BIT_KSEG
 
- #define TI_BIAS 0x80000000000UL
 
- #else
 
- #define TI_BIAS 0x10000000000UL
 
- #endif
 
- /*
 
-  * CChip, DChip, and PChip registers
 
-  */
 
- typedef struct {
 
- 	volatile unsigned long csr __attribute__((aligned(64)));
 
- } titan_64;
 
- typedef struct {
 
- 	titan_64	csc;
 
- 	titan_64	mtr;
 
- 	titan_64	misc;
 
- 	titan_64	mpd;
 
- 	titan_64	aar0;
 
- 	titan_64	aar1;
 
- 	titan_64	aar2;
 
- 	titan_64	aar3;
 
- 	titan_64	dim0;
 
- 	titan_64	dim1;
 
- 	titan_64	dir0;
 
- 	titan_64	dir1;
 
- 	titan_64	drir;
 
- 	titan_64	prben;
 
- 	titan_64	iic0;
 
- 	titan_64	iic1;
 
- 	titan_64	mpr0;
 
- 	titan_64	mpr1;
 
- 	titan_64	mpr2;
 
- 	titan_64	mpr3;
 
- 	titan_64	rsvd[2];
 
- 	titan_64	ttr;
 
- 	titan_64	tdr;
 
- 	titan_64	dim2;
 
- 	titan_64	dim3;
 
- 	titan_64	dir2;
 
- 	titan_64	dir3;
 
- 	titan_64	iic2;
 
- 	titan_64	iic3;
 
- 	titan_64	pwr;
 
- 	titan_64	reserved[17];
 
- 	titan_64	cmonctla;
 
- 	titan_64	cmonctlb;
 
- 	titan_64	cmoncnt01;
 
- 	titan_64	cmoncnt23;
 
- 	titan_64	cpen;
 
- } titan_cchip;
 
- typedef struct {
 
- 	titan_64	dsc;
 
- 	titan_64	str;
 
- 	titan_64	drev;
 
- 	titan_64	dsc2;
 
- } titan_dchip;
 
- typedef struct {
 
- 	titan_64	wsba[4];
 
- 	titan_64	wsm[4];
 
- 	titan_64	tba[4];
 
- 	titan_64	pctl;
 
- 	titan_64	plat;
 
- 	titan_64	reserved0[2];
 
- 	union {
 
- 		struct {
 
- 			titan_64	serror;
 
- 			titan_64	serren;
 
- 			titan_64	serrset;
 
- 			titan_64	reserved0;
 
- 			titan_64	gperror;
 
- 			titan_64	gperren;
 
- 			titan_64	gperrset;
 
- 			titan_64	reserved1;
 
- 			titan_64	gtlbiv;
 
- 			titan_64	gtlbia;
 
- 			titan_64	reserved2[2];
 
- 			titan_64	sctl;
 
- 			titan_64	reserved3[3];
 
- 		} g;
 
- 		struct {
 
- 			titan_64	agperror;
 
- 			titan_64	agperren;
 
- 			titan_64	agperrset;
 
- 			titan_64	agplastwr;
 
- 			titan_64	aperror;
 
- 			titan_64	aperren;
 
- 			titan_64	aperrset;
 
- 			titan_64	reserved0;
 
- 			titan_64	atlbiv;
 
- 			titan_64	atlbia;
 
- 			titan_64	reserved1[6];
 
- 		} a;
 
- 	} port_specific;
 
- 	titan_64	sprst;
 
- 	titan_64	reserved1[31];
 
- } titan_pachip_port;
 
- typedef struct {
 
- 	titan_pachip_port	g_port;
 
- 	titan_pachip_port	a_port;
 
- } titan_pachip;
 
- #define TITAN_cchip	((titan_cchip  *)(IDENT_ADDR+TI_BIAS+0x1A0000000UL))
 
- #define TITAN_dchip    	((titan_dchip  *)(IDENT_ADDR+TI_BIAS+0x1B0000800UL))
 
- #define TITAN_pachip0 	((titan_pachip *)(IDENT_ADDR+TI_BIAS+0x180000000UL))
 
- #define TITAN_pachip1 	((titan_pachip *)(IDENT_ADDR+TI_BIAS+0x380000000UL))
 
- extern unsigned TITAN_agp;
 
- extern int TITAN_bootcpu;
 
- /*
 
-  * TITAN PA-chip Window Space Base Address register.
 
-  * (WSBA[0-2])
 
-  */
 
- #define wsba_m_ena 0x1                
 
- #define wsba_m_sg 0x2
 
- #define wsba_m_addr 0xFFF00000  
 
- #define wmask_k_sz1gb 0x3FF00000                   
 
- union TPAchipWSBA {
 
- 	struct  {
 
- 		unsigned wsba_v_ena : 1;
 
- 		unsigned wsba_v_sg : 1;
 
- 		unsigned wsba_v_rsvd1 : 18;
 
- 		unsigned wsba_v_addr : 12;
 
- 		unsigned wsba_v_rsvd2 : 32;
 
-         } wsba_r_bits;
 
- 	int wsba_q_whole [2];
 
- };
 
- /*
 
-  * TITAN PA-chip Control Register
 
-  * This definition covers both the G-Port GPCTL and the A-PORT APCTL.
 
-  * Bits <51:0> are the same in both cases. APCTL<63:52> are only 
 
-  * applicable to AGP.
 
-  */
 
- #define pctl_m_fbtb 			0x00000001
 
- #define pctl_m_thdis 			0x00000002
 
 
  |