aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_hsi.h
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-02-12 03:37:14 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-16 02:31:41 -0500
commitc2c8b03e200bdda3ba23d27f5c33bac784dced01 (patch)
treec15811bb47f3790e106660e5919cb690f288f3af /drivers/net/bnx2x_hsi.h
parented8680a7e68fc07d6b2bfa977e8f5f3d3c568d14 (diff)
bnx2x: Pre emphasis configuration
Supporting non-default pre-emphasis settings for the internal and some external PHYs Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r--drivers/net/bnx2x_hsi.h45
1 files changed, 15 insertions, 30 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h
index 7a62bfd18aa8..8452605d0588 100644
--- a/drivers/net/bnx2x_hsi.h
+++ b/drivers/net/bnx2x_hsi.h
@@ -178,36 +178,21 @@ struct port_hw_cfg { /* port 0: 0x12c port 1: 0x2bc */
178 u32 rdma_mac_lower; 178 u32 rdma_mac_lower;
179 179
180 u32 serdes_config; 180 u32 serdes_config;
181 /* for external PHY, or forced mode or during AN */ 181#define PORT_HW_CFG_SERDES_TX_DRV_PRE_EMPHASIS_MASK 0x0000FFFF
182#define PORT_HW_CFG_SERDES_TX_DRV_PRE_EMPHASIS_MASK 0xffff0000 182#define PORT_HW_CFG_SERDES_TX_DRV_PRE_EMPHASIS_SHIFT 0
183#define PORT_HW_CFG_SERDES_TX_DRV_PRE_EMPHASIS_SHIFT 16 183
184 184#define PORT_HW_CFG_SERDES_RX_DRV_EQUALIZER_MASK 0xFFFF0000
185#define PORT_HW_CFG_SERDES_RX_DRV_EQUALIZER_MASK 0x0000ffff 185#define PORT_HW_CFG_SERDES_RX_DRV_EQUALIZER_SHIFT 16
186#define PORT_HW_CFG_SERDES_RX_DRV_EQUALIZER_SHIFT 0 186
187 187
188 u16 serdes_tx_driver_pre_emphasis[16]; 188 u32 Reserved0[16]; /* 0x158 */
189 u16 serdes_rx_driver_equalizer[16]; 189
190 190 /* for external PHY, or forced mode or during AN */
191 u32 xgxs_config_lane0; 191 u16 xgxs_config_rx[4]; /* 0x198 */
192 u32 xgxs_config_lane1; 192
193 u32 xgxs_config_lane2; 193 u16 xgxs_config_tx[4]; /* 0x1A0 */
194 u32 xgxs_config_lane3; 194
195 /* for external PHY, or forced mode or during AN */ 195 u32 Reserved1[64]; /* 0x1A8 */
196#define PORT_HW_CFG_XGXS_TX_DRV_PRE_EMPHASIS_MASK 0xffff0000
197#define PORT_HW_CFG_XGXS_TX_DRV_PRE_EMPHASIS_SHIFT 16
198
199#define PORT_HW_CFG_XGXS_RX_DRV_EQUALIZER_MASK 0x0000ffff
200#define PORT_HW_CFG_XGXS_RX_DRV_EQUALIZER_SHIFT 0
201
202 u16 xgxs_tx_driver_pre_emphasis_lane0[16];
203 u16 xgxs_tx_driver_pre_emphasis_lane1[16];
204 u16 xgxs_tx_driver_pre_emphasis_lane2[16];
205 u16 xgxs_tx_driver_pre_emphasis_lane3[16];
206
207 u16 xgxs_rx_driver_equalizer_lane0[16];
208 u16 xgxs_rx_driver_equalizer_lane1[16];
209 u16 xgxs_rx_driver_equalizer_lane2[16];
210 u16 xgxs_rx_driver_equalizer_lane3[16];
211 196
212 u32 lane_config; 197 u32 lane_config;
213#define PORT_HW_CFG_LANE_SWAP_CFG_MASK 0x0000ffff 198#define PORT_HW_CFG_LANE_SWAP_CFG_MASK 0x0000ffff