|
@@ -66,3 +66,58 @@ typedef struct {
|
|
/*
|
|
/*
|
|
* IO7 registers
|
|
* IO7 registers
|
|
*/
|
|
*/
|
|
|
|
+typedef struct {
|
|
|
|
+ volatile unsigned long csr __attribute__((aligned(64)));
|
|
|
|
+} io7_csr;
|
|
|
|
+
|
|
|
|
+typedef struct {
|
|
|
|
+ /* I/O Port Control Registers */
|
|
|
|
+ io7_csr POx_CTRL; /* 0x0000 */
|
|
|
|
+ io7_csr POx_CACHE_CTL;
|
|
|
|
+ io7_csr POx_TIMER;
|
|
|
|
+ io7_csr POx_IO_ADR_EXT;
|
|
|
|
+ io7_csr POx_MEM_ADR_EXT; /* 0x0100 */
|
|
|
|
+ io7_csr POx_XCAL_CTRL;
|
|
|
|
+ io7_csr rsvd1[2]; /* ?? spec doesn't show 0x180 */
|
|
|
|
+ io7_csr POx_DM_SOURCE; /* 0x0200 */
|
|
|
|
+ io7_csr POx_DM_DEST;
|
|
|
|
+ io7_csr POx_DM_SIZE;
|
|
|
|
+ io7_csr POx_DM_CTRL;
|
|
|
|
+ io7_csr rsvd2[4]; /* 0x0300 */
|
|
|
|
+
|
|
|
|
+ /* AGP Control Registers -- port 3 only */
|
|
|
|
+ io7_csr AGP_CAP_ID; /* 0x0400 */
|
|
|
|
+ io7_csr AGP_STAT;
|
|
|
|
+ io7_csr AGP_CMD;
|
|
|
|
+ io7_csr rsvd3;
|
|
|
|
+
|
|
|
|
+ /* I/O Port Monitor Registers */
|
|
|
|
+ io7_csr POx_MONCTL; /* 0x0500 */
|
|
|
|
+ io7_csr POx_CTRA;
|
|
|
|
+ io7_csr POx_CTRB;
|
|
|
|
+ io7_csr POx_CTR56;
|
|
|
|
+ io7_csr POx_SCRATCH; /* 0x0600 */
|
|
|
|
+ io7_csr POx_XTRA_A;
|
|
|
|
+ io7_csr POx_XTRA_TS;
|
|
|
|
+ io7_csr POx_XTRA_Z;
|
|
|
|
+ io7_csr rsvd4; /* 0x0700 */
|
|
|
|
+ io7_csr POx_THRESHA;
|
|
|
|
+ io7_csr POx_THRESHB;
|
|
|
|
+ io7_csr rsvd5[33];
|
|
|
|
+
|
|
|
|
+ /* System Address Space Window Control Registers */
|
|
|
|
+
|
|
|
|
+ io7_csr POx_WBASE[4]; /* 0x1000 */
|
|
|
|
+ io7_csr POx_WMASK[4];
|
|
|
|
+ io7_csr POx_TBASE[4];
|
|
|
|
+ io7_csr POx_SG_TBIA;
|
|
|
|
+ io7_csr POx_MSI_WBASE;
|
|
|
|
+ io7_csr rsvd6[50];
|
|
|
|
+
|
|
|
|
+ /* I/O Port Error Registers */
|
|
|
|
+ io7_csr POx_ERR_SUM;
|
|
|
|
+ io7_csr POx_FIRST_ERR;
|
|
|
|
+ io7_csr POx_MSK_HEI;
|
|
|
|
+ io7_csr POx_TLB_ERR;
|
|
|
|
+ io7_csr POx_SPL_COMPLT;
|
|
|
|
+ io7_csr POx_TRANS_SUM;
|