14919Sxy150489 /* 24919Sxy150489 * This file is provided under a CDDLv1 license. When using or 34919Sxy150489 * redistributing this file, you may do so under this license. 44919Sxy150489 * In redistributing this file this license must be included 54919Sxy150489 * and no other modification of this header file is permitted. 64919Sxy150489 * 74919Sxy150489 * CDDL LICENSE SUMMARY 84919Sxy150489 * 98479SChenlu.Chen@Sun.COM * Copyright(c) 1999 - 2009 Intel Corporation. All rights reserved. 104919Sxy150489 * 114919Sxy150489 * The contents of this file are subject to the terms of Version 124919Sxy150489 * 1.0 of the Common Development and Distribution License (the "License"). 134919Sxy150489 * 144919Sxy150489 * You should have received a copy of the License with this software. 154919Sxy150489 * You can obtain a copy of the License at 164919Sxy150489 * http://www.opensolaris.org/os/licensing. 174919Sxy150489 * See the License for the specific language governing permissions 184919Sxy150489 * and limitations under the License. 194919Sxy150489 */ 204919Sxy150489 214919Sxy150489 /* 228479SChenlu.Chen@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 234919Sxy150489 * Use is subject to license terms of the CDDLv1. 244919Sxy150489 */ 254919Sxy150489 264919Sxy150489 /* 27*11020SMin.Xu@Sun.COM * IntelVersion: 1.9 v3-1-10-1_2009-9-18_Release14-6 284919Sxy150489 */ 294919Sxy150489 #ifndef _E1000_82541_H_ 304919Sxy150489 #define _E1000_82541_H_ 314919Sxy150489 324919Sxy150489 #ifdef __cplusplus 334919Sxy150489 extern "C" { 344919Sxy150489 #endif 354919Sxy150489 364919Sxy150489 #define NVM_WORD_SIZE_BASE_SHIFT_82541 (NVM_WORD_SIZE_BASE_SHIFT + 1) 374919Sxy150489 384919Sxy150489 #define IGP01E1000_PHY_CHANNEL_NUM 4 394919Sxy150489 404919Sxy150489 #define IGP01E1000_PHY_AGC_A 0x1172 414919Sxy150489 #define IGP01E1000_PHY_AGC_B 0x1272 424919Sxy150489 #define IGP01E1000_PHY_AGC_C 0x1472 434919Sxy150489 #define IGP01E1000_PHY_AGC_D 0x1872 444919Sxy150489 454919Sxy150489 #define IGP01E1000_PHY_AGC_PARAM_A 0x1171 464919Sxy150489 #define IGP01E1000_PHY_AGC_PARAM_B 0x1271 474919Sxy150489 #define IGP01E1000_PHY_AGC_PARAM_C 0x1471 484919Sxy150489 #define IGP01E1000_PHY_AGC_PARAM_D 0x1871 494919Sxy150489 504919Sxy150489 #define IGP01E1000_PHY_EDAC_MU_INDEX 0xC000 514919Sxy150489 #define IGP01E1000_PHY_EDAC_SIGN_EXT_9_BITS 0x8000 524919Sxy150489 534919Sxy150489 #define IGP01E1000_PHY_DSP_RESET 0x1F33 544919Sxy150489 554919Sxy150489 #define IGP01E1000_PHY_DSP_FFE 0x1F35 564919Sxy150489 #define IGP01E1000_PHY_DSP_FFE_CM_CP 0x0069 574919Sxy150489 #define IGP01E1000_PHY_DSP_FFE_DEFAULT 0x002A 584919Sxy150489 594919Sxy150489 #define IGP01E1000_IEEE_FORCE_GIG 0x0140 604919Sxy150489 #define IGP01E1000_IEEE_RESTART_AUTONEG 0x3300 614919Sxy150489 624919Sxy150489 #define IGP01E1000_AGC_LENGTH_SHIFT 7 634919Sxy150489 #define IGP01E1000_AGC_RANGE 10 644919Sxy150489 654919Sxy150489 #define FFE_IDLE_ERR_COUNT_TIMEOUT_20 20 664919Sxy150489 #define FFE_IDLE_ERR_COUNT_TIMEOUT_100 100 674919Sxy150489 684919Sxy150489 #define IGP01E1000_ANALOG_FUSE_STATUS 0x20D0 694919Sxy150489 #define IGP01E1000_ANALOG_SPARE_FUSE_STATUS 0x20D1 704919Sxy150489 #define IGP01E1000_ANALOG_FUSE_CONTROL 0x20DC 714919Sxy150489 #define IGP01E1000_ANALOG_FUSE_BYPASS 0x20DE 724919Sxy150489 734919Sxy150489 #define IGP01E1000_ANALOG_SPARE_FUSE_ENABLED 0x0100 744919Sxy150489 #define IGP01E1000_ANALOG_FUSE_FINE_MASK 0x0F80 754919Sxy150489 #define IGP01E1000_ANALOG_FUSE_COARSE_MASK 0x0070 764919Sxy150489 #define IGP01E1000_ANALOG_FUSE_COARSE_THRESH 0x0040 774919Sxy150489 #define IGP01E1000_ANALOG_FUSE_COARSE_10 0x0010 784919Sxy150489 #define IGP01E1000_ANALOG_FUSE_FINE_1 0x0080 794919Sxy150489 #define IGP01E1000_ANALOG_FUSE_FINE_10 0x0500 804919Sxy150489 #define IGP01E1000_ANALOG_FUSE_POLY_MASK 0xF000 814919Sxy150489 #define IGP01E1000_ANALOG_FUSE_ENABLE_SW_CONTROL 0x0002 824919Sxy150489 834919Sxy150489 #define IGP01E1000_MSE_CHANNEL_D 0x000F 844919Sxy150489 #define IGP01E1000_MSE_CHANNEL_C 0x00F0 854919Sxy150489 #define IGP01E1000_MSE_CHANNEL_B 0x0F00 864919Sxy150489 #define IGP01E1000_MSE_CHANNEL_A 0xF000 874919Sxy150489 884919Sxy150489 #define E1000_FIFO_MULTIPLIER 0x80 894919Sxy150489 #define E1000_FIFO_HDR_SIZE 0x10 904919Sxy150489 #define E1000_FIFO_GRANULARITY 0x10 914919Sxy150489 #define E1000_FIFO_PAD_82547 0x3E0 924919Sxy150489 #define E1000_ERR_FIFO_WRAP 8 934919Sxy150489 944919Sxy150489 #define DSP_RESET_ENABLE 0x0 954919Sxy150489 #define DSP_RESET_DISABLE 0x2 964919Sxy150489 #define E1000_MAX_DSP_RESETS 10 974919Sxy150489 984919Sxy150489 #define E1000_ROUNDUP(size, unit) (((size) + (unit) - 1) & ~((unit) - 1)) 994919Sxy150489 1007607STed.You@Sun.COM void e1000_init_script_state_82541(struct e1000_hw *hw, bool state); 1017607STed.You@Sun.COM s32 e1000_fifo_workaround_82547(struct e1000_hw *hw, u16 length); 1027607STed.You@Sun.COM void e1000_update_tx_fifo_head_82547(struct e1000_hw *hw, u32 length); 1037607STed.You@Sun.COM void e1000_set_ttl_workaround_state_82541(struct e1000_hw *hw, bool state); 1047607STed.You@Sun.COM bool e1000_ttl_workaround_enabled_82541(struct e1000_hw *hw); 1057607STed.You@Sun.COM s32 e1000_igp_ttl_workaround_82547(struct e1000_hw *hw); 1064919Sxy150489 1074919Sxy150489 #ifdef __cplusplus 1084919Sxy150489 } 1094919Sxy150489 #endif 1104919Sxy150489 1114919Sxy150489 #endif /* _E1000_82541_H_ */ 112