📄 skgehw.h
字号:
#define P_CF1_PCIE_RST_CLKREQ BIT_16 /* Enable PCI-E rst generate CLKREQ */#define P_CF1_ENA_CFG_LDR_DONE BIT_8 /* Enable core level Config loader done */#define P_CF1_ENA_TXBMU_RD_IDLE BIT_1 /* Enable TX BMU Read IDLE for ASPM */#define P_CF1_ENA_TXBMU_WR_IDLE BIT_0 /* Enable TX BMU Write IDLE for ASPM */#define PCIE_CFG1_EVENT_CLK_D3_SET ( \ P_CF1_DIS_REL_EVT_RST | \ P_CF1_REL_LDR_NOT_FIN | \ P_CF1_REL_VMAIN_AVLBL | \ P_CF1_REL_PCIE_RESET | \ P_CF1_GAT_LDR_NOT_FIN | \ P_CF1_GAT_PCIE_RESET | \ P_CF1_PRST_PHY_CLKREQ | \ P_CF1_ENA_CFG_LDR_DONE | \ P_CF1_ENA_TXBMU_RD_IDLE | \ P_CF1_ENA_TXBMU_WR_IDLE)/* PEX_DEV_CTRL 16 bit PEX Device Control (Yukon-2) */ /* Bit 15 reserved */#define PEX_DC_MAX_RRS_MSK (7<<12) /* Bit 14..12: Max. Read Request Size */#define PEX_DC_EN_NO_SNOOP BIT_11S /* Enable No Snoop */#define PEX_DC_EN_AUX_POW BIT_10S /* Enable AUX Power */#define PEX_DC_EN_PHANTOM BIT_9S /* Enable Phantom Functions */#define PEX_DC_EN_EXT_TAG BIT_8S /* Enable Extended Tag Field */#define PEX_DC_MAX_PLS_MSK (7<<5) /* Bit 7.. 5: Max. Payload Size Mask */#define PEX_DC_EN_REL_ORD BIT_4S /* Enable Relaxed Ordering */#define PEX_DC_EN_UNS_RQ_RP BIT_3S /* Enable Unsupported Request Reporting */#define PEX_DC_EN_FAT_ER_RP BIT_2S /* Enable Fatal Error Reporting */#define PEX_DC_EN_NFA_ER_RP BIT_1S /* Enable Non-Fatal Error Reporting */#define PEX_DC_EN_COR_ER_RP BIT_0S /* Enable Correctable Error Reporting */#define PEX_DC_MAX_RD_RQ_SIZE(x) (SHIFT12(x) & PEX_DC_MAX_RRS_MSK)/* PEX_LNK_CAP 32 bit PEX Link Capabilities */#define PEX_CAP_MAX_WI_MSK (0x3f<<4) /* Bit 9.. 4: Max. Link Width Mask */#define PEX_CAP_MAX_SP_MSK 0x0f /* Bit 3.. 0: Max. Link Speed Mask *//* PEX_LNK_CTRL 16 bit PEX Link Control (Yukon-2) */#define PEX_LC_CLK_PM_ENA BIT_8S /* Enable Clock Power Management (CLKREQ) */#define PEX_LC_ASPM_LC_L1 BIT_1S /* Enable ASPM Entry L1 */#define PEX_LC_ASPM_LC_L0S BIT_0S /* Enable ASPM Entry L0s */#define PEX_LC_ASPM_LC_MSK 0x03 /* Bit 1.. 0: ASPM Link Control Mask *//* PEX_LNK_STAT 16 bit PEX Link Status (Yukon-2) */ /* Bit 15..13 reserved */#define PEX_LS_SLOT_CLK_CFG BIT_12S /* Slot Clock Config */#define PEX_LS_LINK_TRAIN BIT_11S /* Link Training */#define PEX_LS_TRAIN_ERROR BIT_10S /* Training Error */#define PEX_LS_LINK_WI_MSK (0x3f<<4) /* Bit 9.. 4: Neg. Link Width Mask */#define PEX_LS_LINK_SP_MSK 0x0f /* Bit 3.. 0: Link Speed Mask *//* PEX_UNC_ERR_STAT 32 bit PEX Uncorrectable Errors Status (Yukon-2) */ /* Bit 31..21 reserved */#define PEX_UNSUP_REQ BIT_20 /* Unsupported Request Error */ /* ECRC Error (not supported) */#define PEX_MALFOR_TLP BIT_18 /* Malformed TLP */#define PEX_RX_OV BIT_17 /* Receiver Overflow (not supported) */#define PEX_UNEXP_COMP BIT_16 /* Unexpected Completion */ /* Completer Abort (not supported) */#define PEX_COMP_TO BIT_14 /* Completion Timeout */#define PEX_FLOW_CTRL_P BIT_13 /* Flow Control Protocol Error */#define PEX_POIS_TLP BIT_12 /* Poisoned TLP */ /* Bit 11.. 5: reserved */#define PEX_DATA_LINK_P BIT_4 /* Data Link Protocol Error */ /* Bit 3.. 1: reserved */ /* Training Error (not supported) */#define PEX_FATAL_ERRORS (PEX_MALFOR_TLP | PEX_FLOW_CTRL_P | PEX_DATA_LINK_P)/* Control Register File (Address Map) *//* * Bank 0 */#define B0_RAP 0x0000 /* 8 bit Register Address Port */ /* 0x0001 - 0x0003: reserved */#define B0_CTST 0x0004 /* 16 bit Control/Status Register */#define B0_LED 0x0006 /* 8 Bit LED Register */#define B0_POWER_CTRL 0x0007 /* 8 Bit Power Control reg (YUKON only) */#define B0_ISRC 0x0008 /* 32 bit Interrupt Source Register */#define B0_IMSK 0x000c /* 32 bit Interrupt Mask Register */#define B0_HWE_ISRC 0x0010 /* 32 bit HW Error Interrupt Src Reg */#define B0_HWE_IMSK 0x0014 /* 32 bit HW Error Interrupt Mask Reg */#define B0_SP_ISRC 0x0018 /* 32 bit Special Interrupt Source Reg 1 *//* Special ISR registers (Yukon-2 only) */#define B0_Y2_SP_ISRC2 0x001c /* 32 bit Special Interrupt Source Reg 2 */#define B0_Y2_SP_ISRC3 0x0020 /* 32 bit Special Interrupt Source Reg 3 */#define B0_Y2_SP_EISR 0x0024 /* 32 bit Enter ISR Register */#define B0_Y2_SP_LISR 0x0028 /* 32 bit Leave ISR Register */#define B0_Y2_SP_ICR 0x002c /* 32 bit Interrupt Control Register *//* B0 XMAC 1 registers (GENESIS only) */#define B0_XM1_IMSK 0x0020 /* 16 bit r/w XMAC 1 Interrupt Mask Register*/ /* 0x0022 - 0x0027: reserved */#define B0_XM1_ISRC 0x0028 /* 16 bit ro XMAC 1 Interrupt Status Reg */ /* 0x002a - 0x002f: reserved */#define B0_XM1_PHY_ADDR 0x0030 /* 16 bit r/w XMAC 1 PHY Address Register */ /* 0x0032 - 0x0033: reserved */#define B0_XM1_PHY_DATA 0x0034 /* 16 bit r/w XMAC 1 PHY Data Register */ /* 0x0036 - 0x003f: reserved *//* B0 XMAC 2 registers (GENESIS only) */#define B0_XM2_IMSK 0x0040 /* 16 bit r/w XMAC 2 Interrupt Mask Register*/ /* 0x0042 - 0x0047: reserved */#define B0_XM2_ISRC 0x0048 /* 16 bit ro XMAC 2 Interrupt Status Reg */ /* 0x004a - 0x004f: reserved */#define B0_XM2_PHY_ADDR 0x0050 /* 16 bit r/w XMAC 2 PHY Address Register */ /* 0x0052 - 0x0053: reserved */#define B0_XM2_PHY_DATA 0x0054 /* 16 bit r/w XMAC 2 PHY Data Register */ /* 0x0056 - 0x005f: reserved *//* BMU Control Status Registers (Yukon and Genesis) */#define B0_R1_CSR 0x0060 /* 32 bit BMU Ctrl/Stat Rx Queue 1 */#define B0_R2_CSR 0x0064 /* 32 bit BMU Ctrl/Stat Rx Queue 2 */#define B0_XS1_CSR 0x0068 /* 32 bit BMU Ctrl/Stat Sync Tx Queue 1 */#define B0_XA1_CSR 0x006c /* 32 bit BMU Ctrl/Stat Async Tx Queue 1*/#define B0_XS2_CSR 0x0070 /* 32 bit BMU Ctrl/Stat Sync Tx Queue 2 */#define B0_XA2_CSR 0x0074 /* 32 bit BMU Ctrl/Stat Async Tx Queue 2*/ /* 0x0078 - 0x007f: reserved *//* * Bank 1 * - completely empty (this is the RAP Block window) * Note: if RAP = 1 this page is reserved *//* * Bank 2 *//* NA reg = 48 bit Network Address Register, 3x16 or 6x8 bit readable */#define B2_MAC_1 0x0100 /* NA reg MAC Address 1 */ /* 0x0106 - 0x0107: reserved */#define B2_MAC_2 0x0108 /* NA reg MAC Address 2 */ /* 0x010e - 0x010f: reserved */#define B2_MAC_3 0x0110 /* NA reg MAC Address 3 */ /* 0x0116 - 0x0117: reserved */#define B2_CONN_TYP 0x0118 /* 8 bit Connector type */#define B2_PMD_TYP 0x0119 /* 8 bit PMD type */#define B2_MAC_CFG 0x011a /* 8 bit MAC Configuration / Chip Revision */#define B2_CHIP_ID 0x011b /* 8 bit Chip Identification Number */ /* Eprom registers */#define B2_E_0 0x011c /* 8 bit EPROM Byte 0 (ext. SRAM size *//* Yukon and Genesis */#define B2_E_1 0x011d /* 8 bit EPROM Byte 1 (PHY type) */#define B2_E_2 0x011e /* 8 bit EPROM Byte 2 *//* Yukon-2 */#define B2_Y2_CLK_GATE 0x011d /* 8 bit Clock Gating (Yukon-2) */#define B2_Y2_HW_RES 0x011e /* 8 bit HW Resources (Yukon-2) */#define B2_E_3 0x011f /* 8 bit EPROM Byte 3 *//* Yukon and Genesis */#define B2_FAR 0x0120 /* 32 bit Flash-Prom Addr Reg/Cnt */#define B2_FDP 0x0124 /* 8 bit Flash-Prom Data Port *//* Yukon-2 */#define B2_Y2_CLK_CTRL 0x0120 /* 32 bit Core Clock Frequency Control */ /* 0x0125 - 0x0127: reserved */#define B2_LD_CTRL 0x0128 /* 8 bit EPROM loader control register */#define B2_LD_TEST 0x0129 /* 8 bit EPROM loader test register */ /* 0x012a - 0x012f: reserved */#define B2_TI_INI 0x0130 /* 32 bit Timer Init Value */#define B2_TI_VAL 0x0134 /* 32 bit Timer Value */#define B2_TI_CTRL 0x0138 /* 8 bit Timer Control */#define B2_TI_TEST 0x0139 /* 8 Bit Timer Test */ /* 0x013a - 0x013f: reserved */#define B2_IRQM_INI 0x0140 /* 32 bit IRQ Moderation Timer Init Reg.*/#define B2_IRQM_VAL 0x0144 /* 32 bit IRQ Moderation Timer Value */#define B2_IRQM_CTRL 0x0148 /* 8 bit IRQ Moderation Timer Control */#define B2_IRQM_TEST 0x0149 /* 8 bit IRQ Moderation Timer Test */#define B2_IRQM_MSK 0x014c /* 32 bit IRQ Moderation Mask */#define B2_IRQM_HWE_MSK 0x0150 /* 32 bit IRQ Moderation HW Error Mask */ /* 0x0154 - 0x0157: reserved */#define B2_TST_CTRL1 0x0158 /* 8 bit Test Control Register 1 */#define B2_TST_CTRL2 0x0159 /* 8 bit Test Control Register 2 */ /* 0x015a - 0x015b: reserved */#define B2_GP_IO 0x015c /* 32 bit General Purpose I/O Register */#define B2_I2C_CTRL 0x0160 /* 32 bit I2C HW Control Register */#define B2_I2C_DATA 0x0164 /* 32 bit I2C HW Data Register */#define B2_I2C_IRQ 0x0168 /* 32 bit I2C HW IRQ Register */#define B2_I2C_SW 0x016c /* 32 bit I2C SW Port Register *//* Blink Source Counter (GENESIS only) */#define B2_BSC_INI 0x0170 /* 32 bit Blink Source Counter Init Val */#define B2_BSC_VAL 0x0174 /* 32 bit Blink Source Counter Value */#define B2_BSC_CTRL 0x0178 /* 8 bit Blink Source Counter Control */#define B2_BSC_STAT 0x0179 /* 8 bit Blink Source Counter Status */#define B2_BSC_TST 0x017a /* 16 bit Blink Source Counter Test Reg *//* Yukon-2 */#define Y2_PEX_PHY_DATA 0x0170 /* 16 bit PEX PHY Data Register */#define Y2_PEX_PHY_ADDR 0x0172 /* 16 bit PEX PHY Address Register */ /* 0x017c - 0x017f: reserved *//* * Bank 3 *//* RAM Random Registers */#define B3_RAM_ADDR 0x0180 /* 32 bit RAM Address, to read or write */#define B3_RAM_DATA_LO 0x0184 /* 32 bit RAM Data Word (low dWord) */#define B3_RAM_DATA_HI 0x0188 /* 32 bit RAM Data Word (high dWord) */#define B3_RAM_PARITY 0x018c /* 8 bit RAM Parity (Yukon-ECU A1) */#define SELECT_RAM_BUFFER(rb, addr) (addr | (rb << 6)) /* Yukon-2 only */ /* 0x018c - 0x018f: reserved *//* RAM Interface Registers *//* Yukon-2: use SELECT_RAM_BUFFER() to access the RAM buffer *//* * The HW-Spec. calls this registers Timeout Value 0..11. But this names are * not usable in SW. Please notice these are NOT real timeouts, these are * the number of qWords transferred continuously. */#define B3_RI_WTO_R1 0x0190 /* 8 bit WR Timeout Queue R1 (TO0) */#define B3_RI_WTO_XA1 0x0191 /* 8 bit WR Timeout Queue XA1 (TO1) */#define B3_RI_WTO_XS1 0x0192 /* 8 bit WR Timeout Queue XS1 (TO2) */#define B3_RI_RTO_R1 0x0193 /* 8 bit RD Timeout Queue R1 (TO3) */#define B3_RI_RTO_XA1 0x0194 /* 8 bit RD Timeout Queue XA1 (TO4) */#define B3_RI_RTO_XS1 0x0195 /* 8 bit RD Timeout Queue XS1 (TO5) */#define B3_RI_WTO_R2 0x0196 /* 8 bit WR Timeout Queue R2 (TO6) */#define B3_RI_WTO_XA2 0x0197 /* 8 bit WR Timeout Queue XA2 (TO7) */#define B3_RI_WTO_XS2 0x0198 /* 8 bit WR Timeout Queue XS2 (TO8) */#define B3_RI_RTO_R2 0x0199 /* 8 bit RD Timeout Queue R2 (TO9) */#define B3_RI_RTO_XA2 0x019a /* 8 bit RD Timeout Queue XA2 (TO10) */#define B3_RI_RTO_XS2 0x019b /* 8 bit RD Timeout Queue XS2 (TO11) */#define B3_RI_TO_VAL 0x019c /* 8 bit Current Timeout Count Val */ /* 0x019d - 0x019f: reserved */#define B3_RI_CTRL 0x01a0 /* 16 bit RAM Interface Control Register */#define B3_RI_TEST 0x01a2 /* 8 bit RAM Interface Test Register */ /* 0x01a3 - 0x01af: reserved *//* MAC Arbiter Registers (GENESIS only) *//* these are the no. of qWord transferred continuously and NOT real timeouts */#define B3_MA_TOINI_RX1 0x01b0 /* 8 bit Timeout Init Val Rx Path MAC 1 */#define B3_MA_TOINI_RX2 0x01b1 /* 8 bit Timeout Init Val Rx Path MAC 2 */#define B3_MA_TOINI_TX1 0x01b2 /* 8 bit Timeout Init Val Tx Path MAC 1 */#define B3_MA_TOINI_TX2 0x01b3 /* 8 bit Timeout Init Val Tx Path MAC 2 */#define B3_MA_TOVAL_RX1 0x01b4 /* 8 bit Timeout Value Rx Path MAC 1 */#define B3_MA_TOVAL_RX2 0x01b5 /* 8 bit Timeout Value Rx Path MAC 1 */#define B3_MA_TOVAL_TX1 0x01b6 /* 8 bit Timeout Value Tx Path MAC 2 */#define B3_MA_TOVAL_TX2 0x01b7 /* 8 bit Timeout Value Tx Path MAC 2 */#define B3_MA_TO_CTRL 0x01b8 /* 16 bit MAC Arbiter Timeout Ctrl Reg */#define B3_MA_TO_TEST 0x01ba /* 16 bit MAC Arbiter Timeout Test Reg */ /* 0x01bc - 0x01bf: reserved */#define B3_MA_RCINI_RX1 0x01c0 /* 8 bit Recovery Init Val Rx Path MAC 1 */#define B3_MA_RCINI_RX2 0x01c1 /* 8 bit Recovery Init Val Rx Path MAC 2 */#define B3_MA_RCINI_TX1 0x01c2 /* 8 bit Recovery Init Val Tx Path MAC 1 */#define B3_MA_RCINI_TX2 0x01c3 /* 8 bit Recovery Init Val Tx Path MAC 2 */#define B3_MA_RCVAL_RX1 0x01c4 /* 8 bit Recovery Value Rx Path MAC 1 */#define B3_MA_RCVAL_RX2 0x01c5 /* 8 bit Recovery Value Rx Path MAC 1 */#define B3_MA_RCVAL_TX1 0x01c6 /* 8 bit Recovery Value Tx Path MAC 2 */#define B3_MA_RCVAL_TX2 0x01c7 /* 8 bit Recovery Value Tx Path MAC 2 */#define B3_MA_RC_CTRL 0x01c8 /* 16 bit MAC Arbiter Recovery Ctrl Reg */#define B3_MA_RC_TEST 0x01ca /* 16 bit MAC Arbiter Recovery Test Reg */ /* 0x01cc - 0x01cf: reserved *//* Packet Arbiter Registers (GENESIS only) *//* these are real timeouts */#define B3_PA_TOINI_RX1 0x01d0 /* 16 bit Timeout Init Val Rx Path MAC 1 */ /* 0x01d2 - 0x01d3: reserved */#define B3_PA_TOINI_RX2 0x01d4 /* 16 bit Timeout Init Val Rx Path MAC 2 */ /* 0x01d6 - 0x01d7: reserved */#define B3_PA_TOINI_TX1 0x01d8 /* 16 bit Timeout Init Val Tx Path MAC 1 */ /* 0x01da - 0x01db: reserved */#define B3_PA_TOINI_TX2 0x01dc /* 16 bit Timeout Init Val Tx Path MAC 2 */ /* 0x01de - 0x01df: reserved */#define B3_PA_TOVAL_RX1 0x01e0 /* 16 bit Timeout Val Rx Path MAC 1 */ /* 0x01e2 - 0x01e3: reserved */#define B3_PA_TOVAL_RX2 0x01e4 /* 16 bit Timeout Val Rx Path MAC 2 */ /* 0x01e6 - 0x01e7: reserved */#define B3_PA_TOVAL_TX1 0x01e8 /* 16 bit Timeout Val Tx Path MAC 1 */ /* 0x01ea - 0x01eb: reserved */#define B3_PA_TOVAL_TX2 0x01ec /* 16 bit Timeout Val Tx Path MAC 2 */ /* 0x01ee - 0x01ef: reserved */#define B3_PA_CTRL 0x01f0 /* 16 bit Packet Arbiter Ctrl Register */#define B3_PA_TEST 0x01f2 /* 16 bit Packet Arbiter Test Register */ /* 0x01f4 - 0x01ff: reserved *//* * Bank 4 - 5 *//* Transmit Arbiter Registers MAC 1 and 2, use MR_ADDR() to access */#define TXA_ITI_INI 0x0200 /* 32 bit Tx Arb Interval Timer Init Val*/#define TXA_ITI_VAL 0x0204 /* 32 bit Tx Arb Interval Timer Value */#define TXA_LIM_INI 0x0208 /* 32 bit Tx Arb Limit Counter Init Val */#define TXA_LIM_VAL 0x020c /* 32 bit Tx Arb Limit Counter Value */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -