19a5557fdSlucy wang - Sun Microsystems - Beijing China /* 29a5557fdSlucy wang - Sun Microsystems - Beijing China * CDDL HEADER START 39a5557fdSlucy wang - Sun Microsystems - Beijing China * 49a5557fdSlucy wang - Sun Microsystems - Beijing China * The contents of this file are subject to the terms of the 59a5557fdSlucy wang - Sun Microsystems - Beijing China * Common Development and Distribution License (the "License"). 69a5557fdSlucy wang - Sun Microsystems - Beijing China * You may not use this file except in compliance with the License. 79a5557fdSlucy wang - Sun Microsystems - Beijing China * 89a5557fdSlucy wang - Sun Microsystems - Beijing China * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99a5557fdSlucy wang - Sun Microsystems - Beijing China * or http://www.opensolaris.org/os/licensing. 109a5557fdSlucy wang - Sun Microsystems - Beijing China * See the License for the specific language governing permissions 119a5557fdSlucy wang - Sun Microsystems - Beijing China * and limitations under the License. 129a5557fdSlucy wang - Sun Microsystems - Beijing China * 139a5557fdSlucy wang - Sun Microsystems - Beijing China * When distributing Covered Code, include this CDDL HEADER in each 149a5557fdSlucy wang - Sun Microsystems - Beijing China * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159a5557fdSlucy wang - Sun Microsystems - Beijing China * If applicable, add the following below this CDDL HEADER, with the 169a5557fdSlucy wang - Sun Microsystems - Beijing China * fields enclosed by brackets "[]" replaced with your own identifying 179a5557fdSlucy wang - Sun Microsystems - Beijing China * information: Portions Copyright [yyyy] [name of copyright owner] 189a5557fdSlucy wang - Sun Microsystems - Beijing China * 199a5557fdSlucy wang - Sun Microsystems - Beijing China * CDDL HEADER END 209a5557fdSlucy wang - Sun Microsystems - Beijing China */ 21*93833965Sjing xiong ERI-SUN 229a5557fdSlucy wang - Sun Microsystems - Beijing China /* 239a5557fdSlucy wang - Sun Microsystems - Beijing China * Copyright 2008 NetXen, Inc. All rights reserved. 249a5557fdSlucy wang - Sun Microsystems - Beijing China * Use is subject to license terms. 259a5557fdSlucy wang - Sun Microsystems - Beijing China */ 26*93833965Sjing xiong ERI-SUN 27*93833965Sjing xiong ERI-SUN #ifndef _NIC_PHAN_REG_H_ 28*93833965Sjing xiong ERI-SUN #define _NIC_PHAN_REG_H_ 29*93833965Sjing xiong ERI-SUN 30*93833965Sjing xiong ERI-SUN #ifdef __cplusplus 31*93833965Sjing xiong ERI-SUN extern "C" { 32*93833965Sjing xiong ERI-SUN #endif 339a5557fdSlucy wang - Sun Microsystems - Beijing China 349a5557fdSlucy wang - Sun Microsystems - Beijing China #define NIC_CRB_BASE UNM_CAM_RAM(0x200) 359a5557fdSlucy wang - Sun Microsystems - Beijing China #define NIC_CRB_BASE_2 UNM_CAM_RAM(0x700) 369a5557fdSlucy wang - Sun Microsystems - Beijing China #define UNM_NIC_REG(X) (NIC_CRB_BASE+(X)) 379a5557fdSlucy wang - Sun Microsystems - Beijing China #define UNM_NIC_REG_2(X) (NIC_CRB_BASE_2+(X)) 389a5557fdSlucy wang - Sun Microsystems - Beijing China 399a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CUT_THRU_PAGE_SIZE UNM_CAM_RAM(0x170) 409a5557fdSlucy wang - Sun Microsystems - Beijing China 419a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_PRODUCER_OFFSET UNM_NIC_REG(0x08) 429a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_CONSUMER_OFFSET UNM_NIC_REG(0x0c) 439a5557fdSlucy wang - Sun Microsystems - Beijing China /* C0 EPG BUG */ 449a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_PAUSE_ADDR_LO UNM_NIC_REG(0x10) 459a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_PAUSE_ADDR_HI UNM_NIC_REG(0x14) 469a5557fdSlucy wang - Sun Microsystems - Beijing China #define NX_CDRP_CRB_OFFSET UNM_NIC_REG(0x18) 479a5557fdSlucy wang - Sun Microsystems - Beijing China #define NX_ARG1_CRB_OFFSET UNM_NIC_REG(0x1c) 489a5557fdSlucy wang - Sun Microsystems - Beijing China #define NX_ARG2_CRB_OFFSET UNM_NIC_REG(0x20) 499a5557fdSlucy wang - Sun Microsystems - Beijing China #define NX_ARG3_CRB_OFFSET UNM_NIC_REG(0x24) 509a5557fdSlucy wang - Sun Microsystems - Beijing China #define NX_SIGN_CRB_OFFSET UNM_NIC_REG(0x28) 519a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMDPEG_CMDRING UNM_NIC_REG(0x38) 529a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_HOST_DUMMY_BUF_ADDR_HI UNM_NIC_REG(0x3c) 539a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_HOST_DUMMY_BUF_ADDR_LO UNM_NIC_REG(0x40) 549a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMDPEG_STATE UNM_NIC_REG(0x50) 559a5557fdSlucy wang - Sun Microsystems - Beijing China /* interrupt coalescing */ 569a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_GLOBAL_INT_COAL UNM_NIC_REG(0x64) 579a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_INT_COAL_MODE UNM_NIC_REG(0x68) 589a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_MAX_RCV_BUFS UNM_NIC_REG(0x6c) 599a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_TX_INT_THRESHOLD UNM_NIC_REG(0x70) 609a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_PKT_TIMER UNM_NIC_REG(0x74) 619a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_TX_PKT_TIMER UNM_NIC_REG(0x78) 629a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_PKT_CNT UNM_NIC_REG(0x7c) 639a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_TMR_CNT UNM_NIC_REG(0x80) 649a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RCV_INTR_COUNT UNM_NIC_REG(0x84) 659a5557fdSlucy wang - Sun Microsystems - Beijing China /* XG Link status */ 669a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_XG_STATE UNM_NIC_REG(0x94) 679a5557fdSlucy wang - Sun Microsystems - Beijing China /* XG PF Link status */ 689a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_XG_STATE_P3 UNM_NIC_REG(0x98) 699a5557fdSlucy wang - Sun Microsystems - Beijing China /* Debug -performance */ 709a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_TX_STATE UNM_NIC_REG(0xac) 719a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_TX_COUNT UNM_NIC_REG(0xb0) 729a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_STATE UNM_NIC_REG(0xb4) 739a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_PERF_DEBUG_1 UNM_NIC_REG(0xb8) 749a5557fdSlucy wang - Sun Microsystems - Beijing China /* LRO On/OFF */ 759a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RX_LRO_CONTROL UNM_NIC_REG(0xbc) 769a5557fdSlucy wang - Sun Microsystems - Beijing China /* Multiport Mode */ 779a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_MPORT_MODE UNM_NIC_REG(0xc4) 789a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_INT_VECTOR UNM_NIC_REG(0xd4) 799a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_PF_LINK_SPEED_1 UNM_NIC_REG(0xe8) 809a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_PF_LINK_SPEED_2 UNM_NIC_REG(0xec) 819a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_HOST_DUMMY_BUF UNM_NIC_REG(0xfc) 829a5557fdSlucy wang - Sun Microsystems - Beijing China 839a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SCRATCHPAD_TEST UNM_NIC_REG(0x280) 849a5557fdSlucy wang - Sun Microsystems - Beijing China 859a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_RCVPEG_STATE UNM_NIC_REG(0x13c) 869a5557fdSlucy wang - Sun Microsystems - Beijing China 879a5557fdSlucy wang - Sun Microsystems - Beijing China /* 12 registers to store MAC addresses for 8 PCI functions */ 889a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_MAC_BLOCK_START UNM_CAM_RAM(0x1c0) 899a5557fdSlucy wang - Sun Microsystems - Beijing China 909a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_PRODUCER_OFFSET_1 UNM_NIC_REG(0x1ac) 919a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_CONSUMER_OFFSET_1 UNM_NIC_REG(0x1b0) 929a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_TEMP_STATE UNM_NIC_REG(0x1b4) 939a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_PRODUCER_OFFSET_2 UNM_NIC_REG(0x1b8) 949a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_CONSUMER_OFFSET_2 UNM_NIC_REG(0x1bc) 959a5557fdSlucy wang - Sun Microsystems - Beijing China 969a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_PRODUCER_OFFSET_3 UNM_NIC_REG(0x1d0) 979a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CMD_CONSUMER_OFFSET_3 UNM_NIC_REG(0x1d4) 989a5557fdSlucy wang - Sun Microsystems - Beijing China /* sw int status/mask registers */ 999a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_0 0x1d8 1009a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_1 0x1e0 1019a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_2 0x1e4 1029a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_3 0x1e8 1039a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_4 0x450 1049a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_5 0x454 1059a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_6 0x458 1069a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_OFFSET_7 0x45c 1079a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_0 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_0) 1089a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_1 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_1) 1099a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_2 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_2) 1109a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_3 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_3) 1119a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_4 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_4) 1129a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_5 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_5) 1139a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_6 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_6) 1149a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_SW_INT_MASK_7 UNM_NIC_REG(CRB_SW_INT_MASK_OFFSET_7) 1159a5557fdSlucy wang - Sun Microsystems - Beijing China 1169a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_NIC_DEBUG_STRUCT_BASE UNM_NIC_REG(0x288) 1179a5557fdSlucy wang - Sun Microsystems - Beijing China 1189a5557fdSlucy wang - Sun Microsystems - Beijing China /* 1199a5557fdSlucy wang - Sun Microsystems - Beijing China * capabilities register, can be used to selectively enable/disable features 1209a5557fdSlucy wang - Sun Microsystems - Beijing China * for backward compability 1219a5557fdSlucy wang - Sun Microsystems - Beijing China */ 1229a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_NIC_CAPABILITIES_HOST UNM_NIC_REG(0x1a8) 1239a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_NIC_MSI_MODE_HOST UNM_NIC_REG(0x270) 1249a5557fdSlucy wang - Sun Microsystems - Beijing China #define INTR_SCHEME_PERPORT 0x1 1259a5557fdSlucy wang - Sun Microsystems - Beijing China #define MSI_MODE_MULTIFUNC 0x1 1269a5557fdSlucy wang - Sun Microsystems - Beijing China 1279a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_EPG_QUEUE_BUSY_COUNT UNM_NIC_REG(0x200) 1289a5557fdSlucy wang - Sun Microsystems - Beijing China 1299a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_V2P_0 UNM_NIC_REG(0x290) 1309a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_V2P_1 UNM_NIC_REG(0x294) 1319a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_V2P_2 UNM_NIC_REG(0x298) 1329a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_V2P_3 UNM_NIC_REG(0x29c) 1339a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_V2P(port) (CRB_V2P_0+((port)*4)) 1349a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_DRIVER_VERSION UNM_NIC_REG(0x2a0) 1359a5557fdSlucy wang - Sun Microsystems - Beijing China 1369a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CNT_DBG1 UNM_NIC_REG(0x2a4) 1379a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CNT_DBG2 UNM_NIC_REG(0x2a8) 1389a5557fdSlucy wang - Sun Microsystems - Beijing China #define CRB_CNT_DBG3 UNM_NIC_REG(0x2ac) 1399a5557fdSlucy wang - Sun Microsystems - Beijing China 1409a5557fdSlucy wang - Sun Microsystems - Beijing China /* 1419a5557fdSlucy wang - Sun Microsystems - Beijing China * Driver must set the version number register as follows: 1429a5557fdSlucy wang - Sun Microsystems - Beijing China * (major << 16) | (minor << 8) | (subminor) 1439a5557fdSlucy wang - Sun Microsystems - Beijing China */ 1449a5557fdSlucy wang - Sun Microsystems - Beijing China 1459a5557fdSlucy wang - Sun Microsystems - Beijing China /* last -> 0x2a0 */ 1469a5557fdSlucy wang - Sun Microsystems - Beijing China 1479a5557fdSlucy wang - Sun Microsystems - Beijing China /* Upper 16 bits of CRB_TEMP_STATE:temperature value. Lower 16 bits: state */ 1489a5557fdSlucy wang - Sun Microsystems - Beijing China #define nx_get_temp_val(x) ((x) >> 16) 1499a5557fdSlucy wang - Sun Microsystems - Beijing China #define nx_get_temp_state(x) ((x) & 0xffff) 1509a5557fdSlucy wang - Sun Microsystems - Beijing China #define nx_encode_temp(val, state) (((val) << 16) | (state)) 1519a5557fdSlucy wang - Sun Microsystems - Beijing China 1529a5557fdSlucy wang - Sun Microsystems - Beijing China #define lower32(x) ((__uint32_t)((x) & 0xffffffff)) 1539a5557fdSlucy wang - Sun Microsystems - Beijing China #define upper32(x) ((__uint32_t)(((unsigned long long)(x) >> 32) & \ 1549a5557fdSlucy wang - Sun Microsystems - Beijing China 0xffffffff)) 1559a5557fdSlucy wang - Sun Microsystems - Beijing China 1569a5557fdSlucy wang - Sun Microsystems - Beijing China /* 1579a5557fdSlucy wang - Sun Microsystems - Beijing China * Temperature control. 1589a5557fdSlucy wang - Sun Microsystems - Beijing China */ 1599a5557fdSlucy wang - Sun Microsystems - Beijing China enum { 1609a5557fdSlucy wang - Sun Microsystems - Beijing China NX_TEMP_NORMAL = 0x1, /* Normal operating range */ 1619a5557fdSlucy wang - Sun Microsystems - Beijing China NX_TEMP_WARN, /* Sound alert, temperature getting high */ 1629a5557fdSlucy wang - Sun Microsystems - Beijing China NX_TEMP_PANIC /* Fatal error, hardware has shut down. */ 1639a5557fdSlucy wang - Sun Microsystems - Beijing China }; 1649a5557fdSlucy wang - Sun Microsystems - Beijing China 1659a5557fdSlucy wang - Sun Microsystems - Beijing China #define D3_CRB_REG_FUN2 (UNM_PCIX_PS_REG(0x2084)) 1669a5557fdSlucy wang - Sun Microsystems - Beijing China #define D3_CRB_REG_FUN3 (UNM_PCIX_PS_REG(0x3084)) 167*93833965Sjing xiong ERI-SUN 168*93833965Sjing xiong ERI-SUN #ifdef __cplusplus 169*93833965Sjing xiong ERI-SUN } 170*93833965Sjing xiong ERI-SUN #endif 171*93833965Sjing xiong ERI-SUN 172*93833965Sjing xiong ERI-SUN #endif /* !_NIC_PHAN_REG_H_ */ 173