|
@@ -157,3 +157,151 @@ union TPAchipWSBA {
|
|
|
*/
|
|
|
#define pctl_m_fbtb 0x00000001
|
|
|
#define pctl_m_thdis 0x00000002
|
|
|
+#define pctl_m_chaindis 0x00000004
|
|
|
+#define pctl_m_tgtlat 0x00000018
|
|
|
+#define pctl_m_hole 0x00000020
|
|
|
+#define pctl_m_mwin 0x00000040
|
|
|
+#define pctl_m_arbena 0x00000080
|
|
|
+#define pctl_m_prigrp 0x0000FF00
|
|
|
+#define pctl_m_ppri 0x00010000
|
|
|
+#define pctl_m_pcispd66 0x00020000
|
|
|
+#define pctl_m_cngstlt 0x003C0000
|
|
|
+#define pctl_m_ptpdesten 0x3FC00000
|
|
|
+#define pctl_m_dpcen 0x40000000
|
|
|
+#define pctl_m_apcen 0x0000000080000000UL
|
|
|
+#define pctl_m_dcrtv 0x0000000300000000UL
|
|
|
+#define pctl_m_en_stepping 0x0000000400000000UL
|
|
|
+#define apctl_m_rsvd1 0x000FFFF800000000UL
|
|
|
+#define apctl_m_agp_rate 0x0030000000000000UL
|
|
|
+#define apctl_m_agp_sba_en 0x0040000000000000UL
|
|
|
+#define apctl_m_agp_en 0x0080000000000000UL
|
|
|
+#define apctl_m_rsvd2 0x0100000000000000UL
|
|
|
+#define apctl_m_agp_present 0x0200000000000000UL
|
|
|
+#define apctl_agp_hp_rd 0x1C00000000000000UL
|
|
|
+#define apctl_agp_lp_rd 0xE000000000000000UL
|
|
|
+#define gpctl_m_rsvd 0xFFFFFFF800000000UL
|
|
|
+union TPAchipPCTL {
|
|
|
+ struct {
|
|
|
+ unsigned pctl_v_fbtb : 1; /* A/G [0] */
|
|
|
+ unsigned pctl_v_thdis : 1; /* A/G [1] */
|
|
|
+ unsigned pctl_v_chaindis : 1; /* A/G [2] */
|
|
|
+ unsigned pctl_v_tgtlat : 2; /* A/G [4:3] */
|
|
|
+ unsigned pctl_v_hole : 1; /* A/G [5] */
|
|
|
+ unsigned pctl_v_mwin : 1; /* A/G [6] */
|
|
|
+ unsigned pctl_v_arbena : 1; /* A/G [7] */
|
|
|
+ unsigned pctl_v_prigrp : 8; /* A/G [15:8] */
|
|
|
+ unsigned pctl_v_ppri : 1; /* A/G [16] */
|
|
|
+ unsigned pctl_v_pcispd66 : 1; /* A/G [17] */
|
|
|
+ unsigned pctl_v_cngstlt : 4; /* A/G [21:18] */
|
|
|
+ unsigned pctl_v_ptpdesten : 8; /* A/G [29:22] */
|
|
|
+ unsigned pctl_v_dpcen : 1; /* A/G [30] */
|
|
|
+ unsigned pctl_v_apcen : 1; /* A/G [31] */
|
|
|
+ unsigned pctl_v_dcrtv : 2; /* A/G [33:32] */
|
|
|
+ unsigned pctl_v_en_stepping :1; /* A/G [34] */
|
|
|
+ unsigned apctl_v_rsvd1 : 17; /* A [51:35] */
|
|
|
+ unsigned apctl_v_agp_rate : 2; /* A [53:52] */
|
|
|
+ unsigned apctl_v_agp_sba_en : 1; /* A [54] */
|
|
|
+ unsigned apctl_v_agp_en : 1; /* A [55] */
|
|
|
+ unsigned apctl_v_rsvd2 : 1; /* A [56] */
|
|
|
+ unsigned apctl_v_agp_present : 1; /* A [57] */
|
|
|
+ unsigned apctl_v_agp_hp_rd : 3; /* A [60:58] */
|
|
|
+ unsigned apctl_v_agp_lp_rd : 3; /* A [63:61] */
|
|
|
+ } pctl_r_bits;
|
|
|
+ unsigned int pctl_l_whole [2];
|
|
|
+ unsigned long pctl_q_whole;
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * SERROR / SERREN / SERRSET
|
|
|
+ */
|
|
|
+union TPAchipSERR {
|
|
|
+ struct {
|
|
|
+ unsigned serr_v_lost_uecc : 1; /* [0] */
|
|
|
+ unsigned serr_v_uecc : 1; /* [1] */
|
|
|
+ unsigned serr_v_cre : 1; /* [2] */
|
|
|
+ unsigned serr_v_nxio : 1; /* [3] */
|
|
|
+ unsigned serr_v_lost_cre : 1; /* [4] */
|
|
|
+ unsigned serr_v_rsvd0 : 10; /* [14:5] */
|
|
|
+ unsigned serr_v_addr : 32; /* [46:15] */
|
|
|
+ unsigned serr_v_rsvd1 : 5; /* [51:47] */
|
|
|
+ unsigned serr_v_source : 2; /* [53:52] */
|
|
|
+ unsigned serr_v_cmd : 2; /* [55:54] */
|
|
|
+ unsigned serr_v_syn : 8; /* [63:56] */
|
|
|
+ } serr_r_bits;
|
|
|
+ unsigned int serr_l_whole[2];
|
|
|
+ unsigned long serr_q_whole;
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * GPERROR / APERROR / GPERREN / APERREN / GPERRSET / APERRSET
|
|
|
+ */
|
|
|
+union TPAchipPERR {
|
|
|
+ struct {
|
|
|
+ unsigned long perr_v_lost : 1; /* [0] */
|
|
|
+ unsigned long perr_v_serr : 1; /* [1] */
|
|
|
+ unsigned long perr_v_perr : 1; /* [2] */
|
|
|
+ unsigned long perr_v_dcrto : 1; /* [3] */
|
|
|
+ unsigned long perr_v_sge : 1; /* [4] */
|
|
|
+ unsigned long perr_v_ape : 1; /* [5] */
|
|
|
+ unsigned long perr_v_ta : 1; /* [6] */
|
|
|
+ unsigned long perr_v_dpe : 1; /* [7] */
|
|
|
+ unsigned long perr_v_nds : 1; /* [8] */
|
|
|
+ unsigned long perr_v_iptpr : 1; /* [9] */
|
|
|
+ unsigned long perr_v_iptpw : 1; /* [10] */
|
|
|
+ unsigned long perr_v_rsvd0 : 3; /* [13:11] */
|
|
|
+ unsigned long perr_v_addr : 33; /* [46:14] */
|
|
|
+ unsigned long perr_v_dac : 1; /* [47] */
|
|
|
+ unsigned long perr_v_mwin : 1; /* [48] */
|
|
|
+ unsigned long perr_v_rsvd1 : 3; /* [51:49] */
|
|
|
+ unsigned long perr_v_cmd : 4; /* [55:52] */
|
|
|
+ unsigned long perr_v_rsvd2 : 8; /* [63:56] */
|
|
|
+ } perr_r_bits;
|
|
|
+ unsigned int perr_l_whole[2];
|
|
|
+ unsigned long perr_q_whole;
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * AGPERROR / AGPERREN / AGPERRSET
|
|
|
+ */
|
|
|
+union TPAchipAGPERR {
|
|
|
+ struct {
|
|
|
+ unsigned agperr_v_lost : 1; /* [0] */
|
|
|
+ unsigned agperr_v_lpqfull : 1; /* [1] */
|
|
|
+ unsigned apgerr_v_hpqfull : 1; /* [2] */
|
|
|
+ unsigned agperr_v_rescmd : 1; /* [3] */
|
|
|
+ unsigned agperr_v_ipte : 1; /* [4] */
|
|
|
+ unsigned agperr_v_ptp : 1; /* [5] */
|
|
|
+ unsigned agperr_v_nowindow : 1; /* [6] */
|
|
|
+ unsigned agperr_v_rsvd0 : 8; /* [14:7] */
|
|
|
+ unsigned agperr_v_addr : 32; /* [46:15] */
|
|
|
+ unsigned agperr_v_rsvd1 : 1; /* [47] */
|
|
|
+ unsigned agperr_v_dac : 1; /* [48] */
|
|
|
+ unsigned agperr_v_mwin : 1; /* [49] */
|
|
|
+ unsigned agperr_v_cmd : 3; /* [52:50] */
|
|
|
+ unsigned agperr_v_length : 6; /* [58:53] */
|
|
|
+ unsigned agperr_v_fence : 1; /* [59] */
|
|
|
+ unsigned agperr_v_rsvd2 : 4; /* [63:60] */
|
|
|
+ } agperr_r_bits;
|
|
|
+ unsigned int agperr_l_whole[2];
|
|
|
+ unsigned long agperr_q_whole;
|
|
|
+};
|
|
|
+/*
|
|
|
+ * Memory spaces:
|
|
|
+ * Hose numbers are assigned as follows:
|
|
|
+ * 0 - pachip 0 / G Port
|
|
|
+ * 1 - pachip 1 / G Port
|
|
|
+ * 2 - pachip 0 / A Port
|
|
|
+ * 3 - pachip 1 / A Port
|
|
|
+ */
|
|
|
+#define TITAN_HOSE_SHIFT (33)
|
|
|
+#define TITAN_HOSE(h) (((unsigned long)(h)) << TITAN_HOSE_SHIFT)
|
|
|
+#define TITAN_BASE (IDENT_ADDR + TI_BIAS)
|
|
|
+#define TITAN_MEM(h) (TITAN_BASE+TITAN_HOSE(h)+0x000000000UL)
|
|
|
+#define _TITAN_IACK_SC(h) (TITAN_BASE+TITAN_HOSE(h)+0x1F8000000UL)
|
|
|
+#define TITAN_IO(h) (TITAN_BASE+TITAN_HOSE(h)+0x1FC000000UL)
|
|
|
+#define TITAN_CONF(h) (TITAN_BASE+TITAN_HOSE(h)+0x1FE000000UL)
|
|
|
+
|
|
|
+#define TITAN_HOSE_MASK TITAN_HOSE(3)
|
|
|
+#define TITAN_IACK_SC _TITAN_IACK_SC(0) /* hack! */
|
|
|
+
|
|
|
+/*
|