From 50f4aee8eadfb7555de5dd68170659f719ccaeec Mon Sep 17 00:00:00 2001 From: dgsudharsan Date: Tue, 27 Nov 2018 10:02:44 -0800 Subject: [PATCH] Dell S6000 ON related Port numbering and eeprom changes --- .../Force10-S6000/port_config.ini | 64 +- .../Force10-S6000/td2-s6000-32x40G.config.bcm | 720 +++++++++--------- .../plugins/eeprom.py | 102 --- 3 files changed, 392 insertions(+), 494 deletions(-) diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini index 06898f1d7964..f34bb3fb8d83 100644 --- a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini @@ -1,33 +1,33 @@ # name lanes alias -Ethernet0 29,30,31,32 fortyGigE0/0 -Ethernet4 25,26,27,28 fortyGigE0/4 -Ethernet8 37,38,39,40 fortyGigE0/8 -Ethernet12 33,34,35,36 fortyGigE0/12 -Ethernet16 41,42,43,44 fortyGigE0/16 -Ethernet20 45,46,47,48 fortyGigE0/20 -Ethernet24 5,6,7,8 fortyGigE0/24 -Ethernet28 1,2,3,4 fortyGigE0/28 -Ethernet32 9,10,11,12 fortyGigE0/32 -Ethernet36 13,14,15,16 fortyGigE0/36 -Ethernet40 21,22,23,24 fortyGigE0/40 -Ethernet44 17,18,19,20 fortyGigE0/44 -Ethernet48 49,50,51,52 fortyGigE0/48 -Ethernet52 53,54,55,56 fortyGigE0/52 -Ethernet56 61,62,63,64 fortyGigE0/56 -Ethernet60 57,58,59,60 fortyGigE0/60 -Ethernet64 65,66,67,68 fortyGigE0/64 -Ethernet68 69,70,71,72 fortyGigE0/68 -Ethernet72 77,78,79,80 fortyGigE0/72 -Ethernet76 73,74,75,76 fortyGigE0/76 -Ethernet80 105,106,107,108 fortyGigE0/80 -Ethernet84 109,110,111,112 fortyGigE0/84 -Ethernet88 117,118,119,120 fortyGigE0/88 -Ethernet92 113,114,115,116 fortyGigE0/92 -Ethernet96 121,122,123,124 fortyGigE0/96 -Ethernet100 125,126,127,128 fortyGigE0/100 -Ethernet104 85,86,87,88 fortyGigE0/104 -Ethernet108 81,82,83,84 fortyGigE0/108 -Ethernet112 89,90,91,92 fortyGigE0/112 -Ethernet116 93,94,95,96 fortyGigE0/116 -Ethernet120 97,98,99,100 fortyGigE0/120 -Ethernet124 101,102,103,104 fortyGigE0/124 +Ethernet0 25,26,27,28 fortyGigE0/0 +Ethernet4 29,30,31,32 fortyGigE0/4 +Ethernet8 33,34,35,36 fortyGigE0/8 +Ethernet12 37,38,39,40 fortyGigE0/12 +Ethernet16 45,46,47,48 fortyGigE0/16 +Ethernet20 41,42,43,44 fortyGigE0/20 +Ethernet24 1,2,3,4 fortyGigE0/24 +Ethernet28 5,6,7,8 fortyGigE0/28 +Ethernet32 13,14,15,16 fortyGigE0/32 +Ethernet36 9,10,11,12 fortyGigE0/36 +Ethernet40 17,18,19,20 fortyGigE0/40 +Ethernet44 21,22,23,24 fortyGigE0/44 +Ethernet48 53,54,55,56 fortyGigE0/48 +Ethernet52 49,50,51,52 fortyGigE0/52 +Ethernet56 57,58,59,60 fortyGigE0/56 +Ethernet60 61,62,63,64 fortyGigE0/60 +Ethernet64 69,70,71,72 fortyGigE0/64 +Ethernet68 65,66,67,68 fortyGigE0/68 +Ethernet72 73,74,75,76 fortyGigE0/72 +Ethernet76 77,78,79,80 fortyGigE0/76 +Ethernet80 109,110,111,112 fortyGigE0/80 +Ethernet84 105,106,107,108 fortyGigE0/84 +Ethernet88 113,114,115,116 fortyGigE0/88 +Ethernet92 117,118,119,120 fortyGigE0/92 +Ethernet96 125,126,127,128 fortyGigE0/96 +Ethernet100 121,122,123,124 fortyGigE0/100 +Ethernet104 81,82,83,84 fortyGigE0/104 +Ethernet108 85,86,87,88 fortyGigE0/108 +Ethernet112 93,94,95,96 fortyGigE0/112 +Ethernet116 89,90,91,92 fortyGigE0/116 +Ethernet120 101,102,103,104 fortyGigE0/120 +Ethernet124 97,98,99,100 fortyGigE0/124 diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/td2-s6000-32x40G.config.bcm b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/td2-s6000-32x40G.config.bcm index 068b587202bd..4c94db7107c7 100644 --- a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/td2-s6000-32x40G.config.bcm +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/td2-s6000-32x40G.config.bcm @@ -38,49 +38,49 @@ pbmp_xport_xe=0x000007fffffffffffffffffffffffffe # Ports configuration # xe0 (40G) -portmap_1=29:40 +portmap_1=25:40 xgxs_rx_lane_map_1=0x213 -xgxs_tx_lane_map_1=0x213 -phy_xaui_rx_polarity_flip_1=0xc -phy_xaui_tx_polarity_flip_1=0x9 -serdes_driver_current_lane0_xe0=0x6 -serdes_driver_current_lane1_xe0=0x7 -serdes_driver_current_lane2_xe0=0x6 -serdes_driver_current_lane3_xe0=0x6 -serdes_pre_driver_current_lane0_xe0=0x6 -serdes_pre_driver_current_lane1_xe0=0x7 -serdes_pre_driver_current_lane2_xe0=0x6 -serdes_pre_driver_current_lane3_xe0=0x6 -serdes_preemphasis_lane0_xe0=0xc2f0 -serdes_preemphasis_lane1_xe0=0xd2b0 +xgxs_tx_lane_map_1=0x2031 +phy_xaui_rx_polarity_flip_1=0xe +phy_xaui_tx_polarity_flip_1=0x2 +serdes_driver_current_lane0_xe0=0x5 +serdes_driver_current_lane1_xe0=0x5 +serdes_driver_current_lane2_xe0=0x5 +serdes_driver_current_lane3_xe0=0x5 +serdes_pre_driver_current_lane0_xe0=0x5 +serdes_pre_driver_current_lane1_xe0=0x5 +serdes_pre_driver_current_lane2_xe0=0x5 +serdes_pre_driver_current_lane3_xe0=0x5 +serdes_preemphasis_lane0_xe0=0xcad0 +serdes_preemphasis_lane1_xe0=0xc6e0 serdes_preemphasis_lane2_xe0=0xc6e0 -serdes_preemphasis_lane3_xe0=0xc2f0 +serdes_preemphasis_lane3_xe0=0xd2b0 # xe1 (40G) -portmap_2=25:40 +portmap_2=29:40 xgxs_rx_lane_map_2=0x213 -xgxs_tx_lane_map_2=0x2031 -phy_xaui_rx_polarity_flip_2=0xe -phy_xaui_tx_polarity_flip_2=0x2 -serdes_driver_current_lane0_xe1=0x5 -serdes_driver_current_lane1_xe1=0x5 -serdes_driver_current_lane2_xe1=0x5 -serdes_driver_current_lane3_xe1=0x5 -serdes_pre_driver_current_lane0_xe1=0x5 -serdes_pre_driver_current_lane1_xe1=0x5 -serdes_pre_driver_current_lane2_xe1=0x5 -serdes_pre_driver_current_lane3_xe1=0x5 -serdes_preemphasis_lane0_xe1=0xcad0 -serdes_preemphasis_lane1_xe1=0xc6e0 +xgxs_tx_lane_map_2=0x213 +phy_xaui_rx_polarity_flip_2=0xc +phy_xaui_tx_polarity_flip_2=0x9 +serdes_driver_current_lane0_xe1=0x6 +serdes_driver_current_lane1_xe1=0x7 +serdes_driver_current_lane2_xe1=0x6 +serdes_driver_current_lane3_xe1=0x6 +serdes_pre_driver_current_lane0_xe1=0x6 +serdes_pre_driver_current_lane1_xe1=0x7 +serdes_pre_driver_current_lane2_xe1=0x6 +serdes_pre_driver_current_lane3_xe1=0x6 +serdes_preemphasis_lane0_xe1=0xc2f0 +serdes_preemphasis_lane1_xe1=0xd2b0 serdes_preemphasis_lane2_xe1=0xc6e0 -serdes_preemphasis_lane3_xe1=0xd2b0 +serdes_preemphasis_lane3_xe1=0xc2f0 # xe2 (40G) -portmap_3=37:40 +portmap_3=33:40 xgxs_rx_lane_map_3=0x213 -xgxs_tx_lane_map_3=0x1203 -phy_xaui_rx_polarity_flip_3=0x3 -phy_xaui_tx_polarity_flip_3=0xe +xgxs_tx_lane_map_3=0x132 +phy_xaui_rx_polarity_flip_3=0xe +phy_xaui_tx_polarity_flip_3=0x2 serdes_driver_current_lane0_xe2=0x4 serdes_driver_current_lane1_xe2=0x4 serdes_driver_current_lane2_xe2=0x4 @@ -89,17 +89,17 @@ serdes_pre_driver_current_lane0_xe2=0x4 serdes_pre_driver_current_lane1_xe2=0x4 serdes_pre_driver_current_lane2_xe2=0x4 serdes_pre_driver_current_lane3_xe2=0x4 -serdes_preemphasis_lane0_xe2=0xcad0 -serdes_preemphasis_lane1_xe2=0xcad0 -serdes_preemphasis_lane2_xe2=0xc2f0 -serdes_preemphasis_lane3_xe2=0xc2f0 +serdes_preemphasis_lane0_xe2=0xc6e0 +serdes_preemphasis_lane1_xe2=0xc6e0 +serdes_preemphasis_lane2_xe2=0xc6e0 +serdes_preemphasis_lane3_xe2=0xc6e0 # xe3 (40G) -portmap_4=33:40 +portmap_4=37:40 xgxs_rx_lane_map_4=0x213 -xgxs_tx_lane_map_4=0x132 -phy_xaui_rx_polarity_flip_4=0xe -phy_xaui_tx_polarity_flip_4=0x2 +xgxs_tx_lane_map_4=0x1203 +phy_xaui_rx_polarity_flip_4=0x3 +phy_xaui_tx_polarity_flip_4=0xe serdes_driver_current_lane0_xe3=0x4 serdes_driver_current_lane1_xe3=0x4 serdes_driver_current_lane2_xe3=0x4 @@ -108,17 +108,17 @@ serdes_pre_driver_current_lane0_xe3=0x4 serdes_pre_driver_current_lane1_xe3=0x4 serdes_pre_driver_current_lane2_xe3=0x4 serdes_pre_driver_current_lane3_xe3=0x4 -serdes_preemphasis_lane0_xe3=0xc6e0 -serdes_preemphasis_lane1_xe3=0xc6e0 -serdes_preemphasis_lane2_xe3=0xc6e0 -serdes_preemphasis_lane3_xe3=0xc6e0 +serdes_preemphasis_lane0_xe3=0xcad0 +serdes_preemphasis_lane1_xe3=0xcad0 +serdes_preemphasis_lane2_xe3=0xc2f0 +serdes_preemphasis_lane3_xe3=0xc2f0 # xe4 (40G) -portmap_5=41:40 +portmap_5=45:40 xgxs_rx_lane_map_5=0x213 -xgxs_tx_lane_map_5=0x3021 -phy_xaui_rx_polarity_flip_5=0x3 -phy_xaui_tx_polarity_flip_5=0xb +xgxs_tx_lane_map_5=0x213 +phy_xaui_rx_polarity_flip_5=0xe +phy_xaui_tx_polarity_flip_5=0x8 serdes_driver_current_lane0_xe4=0x4 serdes_driver_current_lane1_xe4=0x4 serdes_driver_current_lane2_xe4=0x4 @@ -127,17 +127,17 @@ serdes_pre_driver_current_lane0_xe4=0x4 serdes_pre_driver_current_lane1_xe4=0x4 serdes_pre_driver_current_lane2_xe4=0x4 serdes_pre_driver_current_lane3_xe4=0x4 -serdes_preemphasis_lane0_xe4=0xc6e0 +serdes_preemphasis_lane0_xe4=0xc2f0 serdes_preemphasis_lane1_xe4=0xc2f0 serdes_preemphasis_lane2_xe4=0xc2f0 -serdes_preemphasis_lane3_xe4=0xcad0 +serdes_preemphasis_lane3_xe4=0xc2f0 # xe5 (40G) -portmap_6=45:40 +portmap_6=41:40 xgxs_rx_lane_map_6=0x213 -xgxs_tx_lane_map_6=0x213 -phy_xaui_rx_polarity_flip_6=0xe -phy_xaui_tx_polarity_flip_6=0x8 +xgxs_tx_lane_map_6=0x3021 +phy_xaui_rx_polarity_flip_6=0x3 +phy_xaui_tx_polarity_flip_6=0xb serdes_driver_current_lane0_xe5=0x4 serdes_driver_current_lane1_xe5=0x4 serdes_driver_current_lane2_xe5=0x4 @@ -146,93 +146,93 @@ serdes_pre_driver_current_lane0_xe5=0x4 serdes_pre_driver_current_lane1_xe5=0x4 serdes_pre_driver_current_lane2_xe5=0x4 serdes_pre_driver_current_lane3_xe5=0x4 -serdes_preemphasis_lane0_xe5=0xc2f0 +serdes_preemphasis_lane0_xe5=0xc6e0 serdes_preemphasis_lane1_xe5=0xc2f0 serdes_preemphasis_lane2_xe5=0xc2f0 -serdes_preemphasis_lane3_xe5=0xc2f0 +serdes_preemphasis_lane3_xe5=0xcad0 # xe6 (40G) -portmap_7=5:40 +portmap_7=1:40 xgxs_rx_lane_map_7=0x213 -xgxs_tx_lane_map_7=0x1203 -phy_xaui_rx_polarity_flip_7=0xc -phy_xaui_tx_polarity_flip_7=0x1 -serdes_driver_current_lane0_xe6=0x4 -serdes_driver_current_lane1_xe6=0x4 -serdes_driver_current_lane2_xe6=0x4 -serdes_driver_current_lane3_xe6=0x4 -serdes_pre_driver_current_lane0_xe6=0x4 -serdes_pre_driver_current_lane1_xe6=0x4 -serdes_pre_driver_current_lane2_xe6=0x4 -serdes_pre_driver_current_lane3_xe6=0x4 +xgxs_tx_lane_map_7=0x2031 +phy_xaui_rx_polarity_flip_7=0xe +phy_xaui_tx_polarity_flip_7=0xd +serdes_driver_current_lane0_xe6=0x5 +serdes_driver_current_lane1_xe6=0x5 +serdes_driver_current_lane2_xe6=0x5 +serdes_driver_current_lane3_xe6=0x5 +serdes_pre_driver_current_lane0_xe6=0x5 +serdes_pre_driver_current_lane1_xe6=0x5 +serdes_pre_driver_current_lane2_xe6=0x5 +serdes_pre_driver_current_lane3_xe6=0x5 serdes_preemphasis_lane0_xe6=0xc6e0 -serdes_preemphasis_lane1_xe6=0xc6e0 +serdes_preemphasis_lane1_xe6=0xcad0 serdes_preemphasis_lane2_xe6=0xc6e0 -serdes_preemphasis_lane3_xe6=0xc6e0 +serdes_preemphasis_lane3_xe6=0xcad0 # xe7 (40G) -portmap_8=1:40 +portmap_8=5:40 xgxs_rx_lane_map_8=0x213 -xgxs_tx_lane_map_8=0x2031 -phy_xaui_rx_polarity_flip_8=0xe -phy_xaui_tx_polarity_flip_8=0xd -serdes_driver_current_lane0_xe7=0x5 -serdes_driver_current_lane1_xe7=0x5 -serdes_driver_current_lane2_xe7=0x5 -serdes_driver_current_lane3_xe7=0x5 -serdes_pre_driver_current_lane0_xe7=0x5 -serdes_pre_driver_current_lane1_xe7=0x5 -serdes_pre_driver_current_lane2_xe7=0x5 -serdes_pre_driver_current_lane3_xe7=0x5 +xgxs_tx_lane_map_8=0x1203 +phy_xaui_rx_polarity_flip_8=0xc +phy_xaui_tx_polarity_flip_8=0x1 +serdes_driver_current_lane0_xe7=0x4 +serdes_driver_current_lane1_xe7=0x4 +serdes_driver_current_lane2_xe7=0x4 +serdes_driver_current_lane3_xe7=0x4 +serdes_pre_driver_current_lane0_xe7=0x4 +serdes_pre_driver_current_lane1_xe7=0x4 +serdes_pre_driver_current_lane2_xe7=0x4 +serdes_pre_driver_current_lane3_xe7=0x4 serdes_preemphasis_lane0_xe7=0xc6e0 -serdes_preemphasis_lane1_xe7=0xcad0 +serdes_preemphasis_lane1_xe7=0xc6e0 serdes_preemphasis_lane2_xe7=0xc6e0 -serdes_preemphasis_lane3_xe7=0xcad0 - -# xe9 (40G) -portmap_9=9:40 -xgxs_rx_lane_map_9=0x3120 -xgxs_tx_lane_map_9=0x3021 -phy_xaui_rx_polarity_flip_9=0x0 -phy_xaui_tx_polarity_flip_9=0x4 -serdes_driver_current_lane0_xe8=0x3 +serdes_preemphasis_lane3_xe7=0xc6e0 + +# xe8 (40G) +portmap_9=13:40 +xgxs_rx_lane_map_9=0x213 +xgxs_tx_lane_map_9=0x132 +phy_xaui_rx_polarity_flip_9=0xe +phy_xaui_tx_polarity_flip_9=0x0 +serdes_driver_current_lane0_xe8=0x2 serdes_driver_current_lane1_xe8=0x3 -serdes_driver_current_lane2_xe8=0x3 -serdes_driver_current_lane3_xe8=0x3 -serdes_pre_driver_current_lane0_xe8=0x3 +serdes_driver_current_lane2_xe8=0x2 +serdes_driver_current_lane3_xe8=0x2 +serdes_pre_driver_current_lane0_xe8=0x2 serdes_pre_driver_current_lane1_xe8=0x3 -serdes_pre_driver_current_lane2_xe8=0x3 -serdes_pre_driver_current_lane3_xe8=0x3 -serdes_preemphasis_lane0_xe8=0xc2f0 -serdes_preemphasis_lane1_xe8=0xc6e0 -serdes_preemphasis_lane2_xe8=0xbf00 -serdes_preemphasis_lane3_xe8=0xc2f0 +serdes_pre_driver_current_lane2_xe8=0x2 +serdes_pre_driver_current_lane3_xe8=0x2 +serdes_preemphasis_lane0_xe8=0xb270 +serdes_preemphasis_lane1_xe8=0xbb10 +serdes_preemphasis_lane2_xe8=0xb720 +serdes_preemphasis_lane3_xe8=0xb720 # xe9 (40G) -portmap_10=13:40 -xgxs_rx_lane_map_10=0x213 -xgxs_tx_lane_map_10=0x132 -phy_xaui_rx_polarity_flip_10=0xe -phy_xaui_tx_polarity_flip_10=0x0 -serdes_driver_current_lane0_xe9=0x2 +portmap_10=9:40 +xgxs_rx_lane_map_10=0x3120 +xgxs_tx_lane_map_10=0x3021 +phy_xaui_rx_polarity_flip_10=0x0 +phy_xaui_tx_polarity_flip_10=0x4 +serdes_driver_current_lane0_xe9=0x3 serdes_driver_current_lane1_xe9=0x3 -serdes_driver_current_lane2_xe9=0x2 -serdes_driver_current_lane3_xe9=0x2 -serdes_pre_driver_current_lane0_xe9=0x2 +serdes_driver_current_lane2_xe9=0x3 +serdes_driver_current_lane3_xe9=0x3 +serdes_pre_driver_current_lane0_xe9=0x3 serdes_pre_driver_current_lane1_xe9=0x3 -serdes_pre_driver_current_lane2_xe9=0x2 -serdes_pre_driver_current_lane3_xe9=0x2 -serdes_preemphasis_lane0_xe9=0xb270 -serdes_preemphasis_lane1_xe9=0xbb10 -serdes_preemphasis_lane2_xe9=0xb720 -serdes_preemphasis_lane3_xe9=0xb720 +serdes_pre_driver_current_lane2_xe9=0x3 +serdes_pre_driver_current_lane3_xe9=0x3 +serdes_preemphasis_lane0_xe9=0xc2f0 +serdes_preemphasis_lane1_xe9=0xc6e0 +serdes_preemphasis_lane2_xe9=0xbf00 +serdes_preemphasis_lane3_xe9=0xc2f0 # xe10 (40G) -portmap_11=21:40 -xgxs_rx_lane_map_11=0x123 -xgxs_tx_lane_map_11=0x1203 -phy_xaui_rx_polarity_flip_11=0xc -phy_xaui_tx_polarity_flip_11=0xe +portmap_11=17:40 +xgxs_rx_lane_map_11=0x213 +xgxs_tx_lane_map_11=0x132 +phy_xaui_rx_polarity_flip_11=0xe +phy_xaui_tx_polarity_flip_11=0x0 serdes_driver_current_lane0_xe10=0x2 serdes_driver_current_lane1_xe10=0x2 serdes_driver_current_lane2_xe10=0x2 @@ -242,16 +242,16 @@ serdes_pre_driver_current_lane1_xe10=0x2 serdes_pre_driver_current_lane2_xe10=0x2 serdes_pre_driver_current_lane3_xe10=0x2 serdes_preemphasis_lane0_xe10=0xb330 -serdes_preemphasis_lane1_xe10=0xb330 -serdes_preemphasis_lane2_xe10=0xb330 -serdes_preemphasis_lane3_xe10=0xb330 +serdes_preemphasis_lane1_xe10=0xbb10 +serdes_preemphasis_lane2_xe10=0xbb10 +serdes_preemphasis_lane3_xe10=0xbb10 # xe11 (40G) -portmap_12=17:40 -xgxs_rx_lane_map_12=0x213 -xgxs_tx_lane_map_12=0x132 -phy_xaui_rx_polarity_flip_12=0xe -phy_xaui_tx_polarity_flip_12=0x0 +portmap_12=21:40 +xgxs_rx_lane_map_12=0x123 +xgxs_tx_lane_map_12=0x1203 +phy_xaui_rx_polarity_flip_12=0xc +phy_xaui_tx_polarity_flip_12=0xe serdes_driver_current_lane0_xe11=0x2 serdes_driver_current_lane1_xe11=0x2 serdes_driver_current_lane2_xe11=0x2 @@ -261,16 +261,16 @@ serdes_pre_driver_current_lane1_xe11=0x2 serdes_pre_driver_current_lane2_xe11=0x2 serdes_pre_driver_current_lane3_xe11=0x2 serdes_preemphasis_lane0_xe11=0xb330 -serdes_preemphasis_lane1_xe11=0xbb10 -serdes_preemphasis_lane2_xe11=0xbb10 -serdes_preemphasis_lane3_xe11=0xbb10 +serdes_preemphasis_lane1_xe11=0xb330 +serdes_preemphasis_lane2_xe11=0xb330 +serdes_preemphasis_lane3_xe11=0xb330 # xe12 (40G) -portmap_13=49:40 -xgxs_rx_lane_map_13=0x1302 -xgxs_tx_lane_map_13=0x2031 -phy_xaui_rx_polarity_flip_13=0xb -phy_xaui_tx_polarity_flip_13=0x3 +portmap_13=53:40 +xgxs_rx_lane_map_13=0x213 +xgxs_tx_lane_map_13=0x231 +phy_xaui_rx_polarity_flip_13=0x1 +phy_xaui_tx_polarity_flip_13=0x0 serdes_driver_current_lane0_xe12=0x2 serdes_driver_current_lane1_xe12=0x2 serdes_driver_current_lane2_xe12=0x2 @@ -279,17 +279,17 @@ serdes_pre_driver_current_lane0_xe12=0x2 serdes_pre_driver_current_lane1_xe12=0x2 serdes_pre_driver_current_lane2_xe12=0x2 serdes_pre_driver_current_lane3_xe12=0x2 -serdes_preemphasis_lane0_xe12=0xa760 -serdes_preemphasis_lane1_xe12=0xa760 -serdes_preemphasis_lane2_xe12=0xa760 -serdes_preemphasis_lane3_xe12=0xa760 +serdes_preemphasis_lane0_xe12=0xaf40 +serdes_preemphasis_lane1_xe12=0xaf40 +serdes_preemphasis_lane2_xe12=0xaf40 +serdes_preemphasis_lane3_xe12=0xaf40 # xe13 (40G) -portmap_14=53:40 -xgxs_rx_lane_map_14=0x213 -xgxs_tx_lane_map_14=0x231 -phy_xaui_rx_polarity_flip_14=0x1 -phy_xaui_tx_polarity_flip_14=0x0 +portmap_14=49:40 +xgxs_rx_lane_map_14=0x1302 +xgxs_tx_lane_map_14=0x2031 +phy_xaui_rx_polarity_flip_14=0xb +phy_xaui_tx_polarity_flip_14=0x3 serdes_driver_current_lane0_xe13=0x2 serdes_driver_current_lane1_xe13=0x2 serdes_driver_current_lane2_xe13=0x2 @@ -298,55 +298,55 @@ serdes_pre_driver_current_lane0_xe13=0x2 serdes_pre_driver_current_lane1_xe13=0x2 serdes_pre_driver_current_lane2_xe13=0x2 serdes_pre_driver_current_lane3_xe13=0x2 -serdes_preemphasis_lane0_xe13=0xaf40 -serdes_preemphasis_lane1_xe13=0xaf40 -serdes_preemphasis_lane2_xe13=0xaf40 -serdes_preemphasis_lane3_xe13=0xaf40 +serdes_preemphasis_lane0_xe13=0xa760 +serdes_preemphasis_lane1_xe13=0xa760 +serdes_preemphasis_lane2_xe13=0xa760 +serdes_preemphasis_lane3_xe13=0xa760 # xe14 (40G) -portmap_15=61:40 -xgxs_rx_lane_map_15=0x132 -xgxs_tx_lane_map_15=0x213 -phy_xaui_rx_polarity_flip_15=0x0 +portmap_15=57:40 +xgxs_rx_lane_map_15=0x213 +xgxs_tx_lane_map_15=0x2031 +phy_xaui_rx_polarity_flip_15=0x1 phy_xaui_tx_polarity_flip_15=0x0 -serdes_driver_current_lane0_xe14=0x2 -serdes_driver_current_lane1_xe14=0x2 -serdes_driver_current_lane2_xe14=0x2 -serdes_driver_current_lane3_xe14=0x2 -serdes_pre_driver_current_lane0_xe14=0x2 -serdes_pre_driver_current_lane1_xe14=0x2 -serdes_pre_driver_current_lane2_xe14=0x2 -serdes_pre_driver_current_lane3_xe14=0x2 +serdes_driver_current_lane0_xe14=0x1 +serdes_driver_current_lane1_xe14=0x1 +serdes_driver_current_lane2_xe14=0x1 +serdes_driver_current_lane3_xe14=0x1 +serdes_pre_driver_current_lane0_xe14=0x1 +serdes_pre_driver_current_lane1_xe14=0x1 +serdes_pre_driver_current_lane2_xe14=0x1 +serdes_pre_driver_current_lane3_xe14=0x1 serdes_preemphasis_lane0_xe14=0xa760 serdes_preemphasis_lane1_xe14=0xa760 serdes_preemphasis_lane2_xe14=0xa760 serdes_preemphasis_lane3_xe14=0xa760 # xe15 (40G) -portmap_16=57:40 -xgxs_rx_lane_map_16=0x213 -xgxs_tx_lane_map_16=0x2031 -phy_xaui_rx_polarity_flip_16=0x1 +portmap_16=61:40 +xgxs_rx_lane_map_16=0x132 +xgxs_tx_lane_map_16=0x213 +phy_xaui_rx_polarity_flip_16=0x0 phy_xaui_tx_polarity_flip_16=0x0 -serdes_driver_current_lane0_xe15=0x1 -serdes_driver_current_lane1_xe15=0x1 -serdes_driver_current_lane2_xe15=0x1 -serdes_driver_current_lane3_xe15=0x1 -serdes_pre_driver_current_lane0_xe15=0x1 -serdes_pre_driver_current_lane1_xe15=0x1 -serdes_pre_driver_current_lane2_xe15=0x1 -serdes_pre_driver_current_lane3_xe15=0x1 +serdes_driver_current_lane0_xe15=0x2 +serdes_driver_current_lane1_xe15=0x2 +serdes_driver_current_lane2_xe15=0x2 +serdes_driver_current_lane3_xe15=0x2 +serdes_pre_driver_current_lane0_xe15=0x2 +serdes_pre_driver_current_lane1_xe15=0x2 +serdes_pre_driver_current_lane2_xe15=0x2 +serdes_pre_driver_current_lane3_xe15=0x2 serdes_preemphasis_lane0_xe15=0xa760 serdes_preemphasis_lane1_xe15=0xa760 serdes_preemphasis_lane2_xe15=0xa760 serdes_preemphasis_lane3_xe15=0xa760 # xe16 (40G) -portmap_17=65:40 -xgxs_rx_lane_map_17=0x132 -xgxs_tx_lane_map_17=0x2031 -phy_xaui_rx_polarity_flip_17=0x3 -phy_xaui_tx_polarity_flip_17=0x9 +portmap_17=69:40 +xgxs_rx_lane_map_17=0x213 +xgxs_tx_lane_map_17=0x2130 +phy_xaui_rx_polarity_flip_17=0x1 +phy_xaui_tx_polarity_flip_17=0xf serdes_driver_current_lane0_xe16=0x1 serdes_driver_current_lane1_xe16=0x1 serdes_driver_current_lane2_xe16=0x1 @@ -355,17 +355,17 @@ serdes_pre_driver_current_lane0_xe16=0x1 serdes_pre_driver_current_lane1_xe16=0x1 serdes_pre_driver_current_lane2_xe16=0x1 serdes_pre_driver_current_lane3_xe16=0x1 -serdes_preemphasis_lane0_xe16=0xa370 -serdes_preemphasis_lane1_xe16=0xa370 -serdes_preemphasis_lane2_xe16=0xa370 -serdes_preemphasis_lane3_xe16=0xa370 +serdes_preemphasis_lane0_xe16=0xa760 +serdes_preemphasis_lane1_xe16=0xa760 +serdes_preemphasis_lane2_xe16=0xa760 +serdes_preemphasis_lane3_xe16=0xa760 # xe17 (40G) -portmap_18=69:40 -xgxs_rx_lane_map_18=0x213 -xgxs_tx_lane_map_18=0x2130 -phy_xaui_rx_polarity_flip_18=0x1 -phy_xaui_tx_polarity_flip_18=0xf +portmap_18=65:40 +xgxs_rx_lane_map_18=0x132 +xgxs_tx_lane_map_18=0x2031 +phy_xaui_rx_polarity_flip_18=0x3 +phy_xaui_tx_polarity_flip_18=0x9 serdes_driver_current_lane0_xe17=0x1 serdes_driver_current_lane1_xe17=0x1 serdes_driver_current_lane2_xe17=0x1 @@ -374,17 +374,17 @@ serdes_pre_driver_current_lane0_xe17=0x1 serdes_pre_driver_current_lane1_xe17=0x1 serdes_pre_driver_current_lane2_xe17=0x1 serdes_pre_driver_current_lane3_xe17=0x1 -serdes_preemphasis_lane0_xe17=0xa760 -serdes_preemphasis_lane1_xe17=0xa760 -serdes_preemphasis_lane2_xe17=0xa760 -serdes_preemphasis_lane3_xe17=0xa760 - -# xe19 (40G) -portmap_19=77:40 -xgxs_rx_lane_map_19=0x123 -xgxs_tx_lane_map_19=0x1203 -phy_xaui_rx_polarity_flip_19=0x3 -phy_xaui_tx_polarity_flip_19=0xe +serdes_preemphasis_lane0_xe17=0xa370 +serdes_preemphasis_lane1_xe17=0xa370 +serdes_preemphasis_lane2_xe17=0xa370 +serdes_preemphasis_lane3_xe17=0xa370 + +# xe18 (40G) +portmap_19=73:40 +xgxs_rx_lane_map_19=0x213 +xgxs_tx_lane_map_19=0x2031 +phy_xaui_rx_polarity_flip_19=0x1 +phy_xaui_tx_polarity_flip_19=0x0 serdes_driver_current_lane0_xe18=0x2 serdes_driver_current_lane1_xe18=0x2 serdes_driver_current_lane2_xe18=0x2 @@ -393,17 +393,17 @@ serdes_pre_driver_current_lane0_xe18=0x2 serdes_pre_driver_current_lane1_xe18=0x2 serdes_pre_driver_current_lane2_xe18=0x2 serdes_pre_driver_current_lane3_xe18=0x2 -serdes_preemphasis_lane0_xe18=0xaf40 -serdes_preemphasis_lane1_xe18=0xaf40 -serdes_preemphasis_lane2_xe18=0xaf40 -serdes_preemphasis_lane3_xe18=0xaf40 +serdes_preemphasis_lane0_xe18=0xa760 +serdes_preemphasis_lane1_xe18=0xa760 +serdes_preemphasis_lane2_xe18=0xa760 +serdes_preemphasis_lane3_xe18=0xa760 # xe19 (40G) -portmap_20=73:40 -xgxs_rx_lane_map_20=0x213 -xgxs_tx_lane_map_20=0x2031 -phy_xaui_rx_polarity_flip_20=0x1 -phy_xaui_tx_polarity_flip_20=0x0 +portmap_20=77:40 +xgxs_rx_lane_map_20=0x123 +xgxs_tx_lane_map_20=0x1203 +phy_xaui_rx_polarity_flip_20=0x3 +phy_xaui_tx_polarity_flip_20=0xe serdes_driver_current_lane0_xe19=0x2 serdes_driver_current_lane1_xe19=0x2 serdes_driver_current_lane2_xe19=0x2 @@ -412,93 +412,93 @@ serdes_pre_driver_current_lane0_xe19=0x2 serdes_pre_driver_current_lane1_xe19=0x2 serdes_pre_driver_current_lane2_xe19=0x2 serdes_pre_driver_current_lane3_xe19=0x2 -serdes_preemphasis_lane0_xe19=0xa760 -serdes_preemphasis_lane1_xe19=0xa760 -serdes_preemphasis_lane2_xe19=0xa760 -serdes_preemphasis_lane3_xe19=0xa760 +serdes_preemphasis_lane0_xe19=0xaf40 +serdes_preemphasis_lane1_xe19=0xaf40 +serdes_preemphasis_lane2_xe19=0xaf40 +serdes_preemphasis_lane3_xe19=0xaf40 # xe20 (40G) -portmap_21=105:40 -xgxs_rx_lane_map_21=0x1320 -xgxs_tx_lane_map_21=0x3021 -phy_xaui_rx_polarity_flip_21=0xd -phy_xaui_tx_polarity_flip_21=0xb +portmap_21=109:40 +xgxs_rx_lane_map_21=0x132 +xgxs_tx_lane_map_21=0x132 +phy_xaui_rx_polarity_flip_21=0x8 +phy_xaui_tx_polarity_flip_21=0x0 serdes_driver_current_lane0_xe20=0x1 serdes_driver_current_lane1_xe20=0x1 serdes_driver_current_lane2_xe20=0x1 -serdes_driver_current_lane3_xe20=0x1 +serdes_driver_current_lane3_xe20=0x2 serdes_pre_driver_current_lane0_xe20=0x1 serdes_pre_driver_current_lane1_xe20=0x1 serdes_pre_driver_current_lane2_xe20=0x1 -serdes_pre_driver_current_lane3_xe20=0x1 +serdes_pre_driver_current_lane3_xe20=0x2 serdes_preemphasis_lane0_xe20=0xb330 serdes_preemphasis_lane1_xe20=0xb330 serdes_preemphasis_lane2_xe20=0xb330 -serdes_preemphasis_lane3_xe20=0xb330 +serdes_preemphasis_lane3_xe20=0xbff0 # xe21 (40G) -portmap_22=109:40 -xgxs_rx_lane_map_22=0x132 -xgxs_tx_lane_map_22=0x132 -phy_xaui_rx_polarity_flip_22=0x8 -phy_xaui_tx_polarity_flip_22=0x0 +portmap_22=105:40 +xgxs_rx_lane_map_22=0x1320 +xgxs_tx_lane_map_22=0x3021 +phy_xaui_rx_polarity_flip_22=0xd +phy_xaui_tx_polarity_flip_22=0xb serdes_driver_current_lane0_xe21=0x1 serdes_driver_current_lane1_xe21=0x1 serdes_driver_current_lane2_xe21=0x1 -serdes_driver_current_lane3_xe21=0x2 +serdes_driver_current_lane3_xe21=0x1 serdes_pre_driver_current_lane0_xe21=0x1 serdes_pre_driver_current_lane1_xe21=0x1 serdes_pre_driver_current_lane2_xe21=0x1 -serdes_pre_driver_current_lane3_xe21=0x2 +serdes_pre_driver_current_lane3_xe21=0x1 serdes_preemphasis_lane0_xe21=0xb330 serdes_preemphasis_lane1_xe21=0xb330 serdes_preemphasis_lane2_xe21=0xb330 -serdes_preemphasis_lane3_xe21=0xbff0 +serdes_preemphasis_lane3_xe21=0xb330 # xe22 (40G) -portmap_23=117:40 -xgxs_rx_lane_map_23=0x231 -xgxs_tx_lane_map_23=0x1203 -phy_xaui_rx_polarity_flip_23=0x3 -phy_xaui_tx_polarity_flip_23=0xe -serdes_driver_current_lane0_xe22=0x3 -serdes_driver_current_lane1_xe22=0x5 -serdes_driver_current_lane2_xe22=0x3 -serdes_driver_current_lane3_xe22=0x3 -serdes_pre_driver_current_lane0_xe22=0x3 -serdes_pre_driver_current_lane1_xe22=0x5 -serdes_pre_driver_current_lane2_xe22=0x3 -serdes_pre_driver_current_lane3_xe22=0x3 -serdes_preemphasis_lane0_xe22=0xc6e0 -serdes_preemphasis_lane1_xe22=0xc6e0 -serdes_preemphasis_lane2_xe22=0xc6e0 -serdes_preemphasis_lane3_xe22=0xc6e0 +portmap_23=113:40 +xgxs_rx_lane_map_23=0x132 +xgxs_tx_lane_map_23=0x132 +phy_xaui_rx_polarity_flip_23=0x8 +phy_xaui_tx_polarity_flip_23=0x0 +serdes_driver_current_lane0_xe22=0x1 +serdes_driver_current_lane1_xe22=0x1 +serdes_driver_current_lane2_xe22=0x1 +serdes_driver_current_lane3_xe22=0x1 +serdes_pre_driver_current_lane0_xe22=0x1 +serdes_pre_driver_current_lane1_xe22=0x1 +serdes_pre_driver_current_lane2_xe22=0x1 +serdes_pre_driver_current_lane3_xe22=0x1 +serdes_preemphasis_lane0_xe22=0xbb10 +serdes_preemphasis_lane1_xe22=0xbb10 +serdes_preemphasis_lane2_xe22=0xbb10 +serdes_preemphasis_lane3_xe22=0xc2f0 # xe23 (40G) -portmap_24=113:40 -xgxs_rx_lane_map_24=0x132 -xgxs_tx_lane_map_24=0x132 -phy_xaui_rx_polarity_flip_24=0x8 -phy_xaui_tx_polarity_flip_24=0x0 -serdes_driver_current_lane0_xe23=0x1 -serdes_driver_current_lane1_xe23=0x1 -serdes_driver_current_lane2_xe23=0x1 -serdes_driver_current_lane3_xe23=0x1 -serdes_pre_driver_current_lane0_xe23=0x1 -serdes_pre_driver_current_lane1_xe23=0x1 -serdes_pre_driver_current_lane2_xe23=0x1 -serdes_pre_driver_current_lane3_xe23=0x1 -serdes_preemphasis_lane0_xe23=0xbb10 -serdes_preemphasis_lane1_xe23=0xbb10 -serdes_preemphasis_lane2_xe23=0xbb10 -serdes_preemphasis_lane3_xe23=0xc2f0 +portmap_24=117:40 +xgxs_rx_lane_map_24=0x231 +xgxs_tx_lane_map_24=0x1203 +phy_xaui_rx_polarity_flip_24=0x3 +phy_xaui_tx_polarity_flip_24=0xe +serdes_driver_current_lane0_xe23=0x3 +serdes_driver_current_lane1_xe23=0x5 +serdes_driver_current_lane2_xe23=0x3 +serdes_driver_current_lane3_xe23=0x3 +serdes_pre_driver_current_lane0_xe23=0x3 +serdes_pre_driver_current_lane1_xe23=0x5 +serdes_pre_driver_current_lane2_xe23=0x3 +serdes_pre_driver_current_lane3_xe23=0x3 +serdes_preemphasis_lane0_xe23=0xc6e0 +serdes_preemphasis_lane1_xe23=0xc6e0 +serdes_preemphasis_lane2_xe23=0xc6e0 +serdes_preemphasis_lane3_xe23=0xc6e0 # xe24 (40G) -portmap_25=121:40 -xgxs_rx_lane_map_25=0x1320 -xgxs_tx_lane_map_25=0x3021 -phy_xaui_rx_polarity_flip_25=0xd -phy_xaui_tx_polarity_flip_25=0xb +portmap_25=125:40 +xgxs_rx_lane_map_25=0x132 +xgxs_tx_lane_map_25=0x132 +phy_xaui_rx_polarity_flip_25=0x8 +phy_xaui_tx_polarity_flip_25=0x0 serdes_driver_current_lane0_xe24=0x4 serdes_driver_current_lane1_xe24=0x4 serdes_driver_current_lane2_xe24=0x4 @@ -510,14 +510,14 @@ serdes_pre_driver_current_lane3_xe24=0x4 serdes_preemphasis_lane0_xe24=0xc6e0 serdes_preemphasis_lane1_xe24=0xc6e0 serdes_preemphasis_lane2_xe24=0xc6e0 -serdes_preemphasis_lane3_xe24=0xc6e0 +serdes_preemphasis_lane3_xe24=0xcec0 # xe25 (40G) -portmap_26=125:40 -xgxs_rx_lane_map_26=0x132 -xgxs_tx_lane_map_26=0x132 -phy_xaui_rx_polarity_flip_26=0x8 -phy_xaui_tx_polarity_flip_26=0x0 +portmap_26=121:40 +xgxs_rx_lane_map_26=0x1320 +xgxs_tx_lane_map_26=0x3021 +phy_xaui_rx_polarity_flip_26=0xd +phy_xaui_tx_polarity_flip_26=0xb serdes_driver_current_lane0_xe25=0x4 serdes_driver_current_lane1_xe25=0x4 serdes_driver_current_lane2_xe25=0x4 @@ -529,52 +529,52 @@ serdes_pre_driver_current_lane3_xe25=0x4 serdes_preemphasis_lane0_xe25=0xc6e0 serdes_preemphasis_lane1_xe25=0xc6e0 serdes_preemphasis_lane2_xe25=0xc6e0 -serdes_preemphasis_lane3_xe25=0xcec0 +serdes_preemphasis_lane3_xe25=0xc6e0 # xe26 (40G) -portmap_27=85:40 -xgxs_rx_lane_map_27=0x213 -xgxs_tx_lane_map_27=0x1203 -phy_xaui_rx_polarity_flip_27=0xc -phy_xaui_tx_polarity_flip_27=0xe -serdes_driver_current_lane0_xe26=0x4 -serdes_driver_current_lane1_xe26=0x5 -serdes_driver_current_lane2_xe26=0x4 -serdes_driver_current_lane3_xe26=0x5 -serdes_pre_driver_current_lane0_xe26=0x4 -serdes_pre_driver_current_lane1_xe26=0x5 -serdes_pre_driver_current_lane2_xe26=0x4 -serdes_pre_driver_current_lane3_xe26=0x5 -serdes_preemphasis_lane0_xe26=0xc2f0 -serdes_preemphasis_lane1_xe26=0xc6e0 -serdes_preemphasis_lane2_xe26=0xc6e0 -serdes_preemphasis_lane3_xe26=0xc6e0 +portmap_27=81:40 +xgxs_rx_lane_map_27=0x1320 +xgxs_tx_lane_map_27=0x2031 +phy_xaui_rx_polarity_flip_27=0x1 +phy_xaui_tx_polarity_flip_27=0x2 +serdes_driver_current_lane0_xe26=0x2 +serdes_driver_current_lane1_xe26=0x2 +serdes_driver_current_lane2_xe26=0x2 +serdes_driver_current_lane3_xe26=0x2 +serdes_pre_driver_current_lane0_xe26=0x2 +serdes_pre_driver_current_lane1_xe26=0x2 +serdes_pre_driver_current_lane2_xe26=0x2 +serdes_pre_driver_current_lane3_xe26=0x2 +serdes_preemphasis_lane0_xe26=0xbb10 +serdes_preemphasis_lane1_xe26=0xbb10 +serdes_preemphasis_lane2_xe26=0xbf00 +serdes_preemphasis_lane3_xe26=0xbb10 # xe27 (40G) -portmap_28=81:40 -xgxs_rx_lane_map_28=0x1320 -xgxs_tx_lane_map_28=0x2031 -phy_xaui_rx_polarity_flip_28=0x1 -phy_xaui_tx_polarity_flip_28=0x2 -serdes_driver_current_lane0_xe27=0x2 -serdes_driver_current_lane1_xe27=0x2 -serdes_driver_current_lane2_xe27=0x2 -serdes_driver_current_lane3_xe27=0x2 -serdes_pre_driver_current_lane0_xe27=0x2 -serdes_pre_driver_current_lane1_xe27=0x2 -serdes_pre_driver_current_lane2_xe27=0x2 -serdes_pre_driver_current_lane3_xe27=0x2 -serdes_preemphasis_lane0_xe27=0xbb10 -serdes_preemphasis_lane1_xe27=0xbb10 -serdes_preemphasis_lane2_xe27=0xbf00 -serdes_preemphasis_lane3_xe27=0xbb10 - -# xe29 (40G) -portmap_29=89:40 +portmap_28=85:40 +xgxs_rx_lane_map_28=0x213 +xgxs_tx_lane_map_28=0x1203 +phy_xaui_rx_polarity_flip_28=0xc +phy_xaui_tx_polarity_flip_28=0xe +serdes_driver_current_lane0_xe27=0x4 +serdes_driver_current_lane1_xe27=0x5 +serdes_driver_current_lane2_xe27=0x4 +serdes_driver_current_lane3_xe27=0x5 +serdes_pre_driver_current_lane0_xe27=0x4 +serdes_pre_driver_current_lane1_xe27=0x5 +serdes_pre_driver_current_lane2_xe27=0x4 +serdes_pre_driver_current_lane3_xe27=0x5 +serdes_preemphasis_lane0_xe27=0xc2f0 +serdes_preemphasis_lane1_xe27=0xc6e0 +serdes_preemphasis_lane2_xe27=0xc6e0 +serdes_preemphasis_lane3_xe27=0xc6e0 + +# xe28 (40G) +portmap_29=93:40 xgxs_rx_lane_map_29=0x1320 -xgxs_tx_lane_map_29=0x3021 -phy_xaui_rx_polarity_flip_29=0x2 -phy_xaui_tx_polarity_flip_29=0xb +xgxs_tx_lane_map_29=0x2031 +phy_xaui_rx_polarity_flip_29=0x1 +phy_xaui_tx_polarity_flip_29=0x2 serdes_driver_current_lane0_xe28=0x4 serdes_driver_current_lane1_xe28=0x4 serdes_driver_current_lane2_xe28=0x4 @@ -583,17 +583,17 @@ serdes_pre_driver_current_lane0_xe28=0x4 serdes_pre_driver_current_lane1_xe28=0x4 serdes_pre_driver_current_lane2_xe28=0x4 serdes_pre_driver_current_lane3_xe28=0x4 -serdes_preemphasis_lane0_xe28=0xcad0 -serdes_preemphasis_lane1_xe28=0xc6e0 -serdes_preemphasis_lane2_xe28=0xc6e0 -serdes_preemphasis_lane3_xe28=0xc6e0 +serdes_preemphasis_lane0_xe28=0xc2f0 +serdes_preemphasis_lane1_xe28=0xc2f0 +serdes_preemphasis_lane2_xe28=0xc2f0 +serdes_preemphasis_lane3_xe28=0xc2f0 # xe29 (40G) -portmap_30=93:40 +portmap_30=89:40 xgxs_rx_lane_map_30=0x1320 -xgxs_tx_lane_map_30=0x2031 -phy_xaui_rx_polarity_flip_30=0x1 -phy_xaui_tx_polarity_flip_30=0x2 +xgxs_tx_lane_map_30=0x3021 +phy_xaui_rx_polarity_flip_30=0x2 +phy_xaui_tx_polarity_flip_30=0xb serdes_driver_current_lane0_xe29=0x4 serdes_driver_current_lane1_xe29=0x4 serdes_driver_current_lane2_xe29=0x4 @@ -602,45 +602,45 @@ serdes_pre_driver_current_lane0_xe29=0x4 serdes_pre_driver_current_lane1_xe29=0x4 serdes_pre_driver_current_lane2_xe29=0x4 serdes_pre_driver_current_lane3_xe29=0x4 -serdes_preemphasis_lane0_xe29=0xc2f0 -serdes_preemphasis_lane1_xe29=0xc2f0 -serdes_preemphasis_lane2_xe29=0xc2f0 -serdes_preemphasis_lane3_xe29=0xc2f0 +serdes_preemphasis_lane0_xe29=0xcad0 +serdes_preemphasis_lane1_xe29=0xc6e0 +serdes_preemphasis_lane2_xe29=0xc6e0 +serdes_preemphasis_lane3_xe29=0xc6e0 # xe30 (40G) -portmap_31=97:40 -xgxs_rx_lane_map_31=0x213 -xgxs_tx_lane_map_31=0x2031 -phy_xaui_rx_polarity_flip_31=0xc -phy_xaui_tx_polarity_flip_31=0x3 -serdes_driver_current_lane0_xe30=0x5 -serdes_driver_current_lane1_xe30=0x5 -serdes_driver_current_lane2_xe30=0x5 -serdes_driver_current_lane3_xe30=0x5 -serdes_pre_driver_current_lane0_xe30=0x5 -serdes_pre_driver_current_lane1_xe30=0x5 -serdes_pre_driver_current_lane2_xe30=0x5 -serdes_pre_driver_current_lane3_xe30=0x5 -serdes_preemphasis_lane0_xe30=0xcad0 -serdes_preemphasis_lane1_xe30=0xcad0 +portmap_31=101:40 +xgxs_rx_lane_map_31=0x1320 +xgxs_tx_lane_map_31=0x1203 +phy_xaui_rx_polarity_flip_31=0x1 +phy_xaui_tx_polarity_flip_31=0x6 +serdes_driver_current_lane0_xe30=0x6 +serdes_driver_current_lane1_xe30=0x6 +serdes_driver_current_lane2_xe30=0x6 +serdes_driver_current_lane3_xe30=0x7 +serdes_pre_driver_current_lane0_xe30=0x6 +serdes_pre_driver_current_lane1_xe30=0x6 +serdes_pre_driver_current_lane2_xe30=0x6 +serdes_pre_driver_current_lane3_xe30=0x7 +serdes_preemphasis_lane0_xe30=0xcec0 +serdes_preemphasis_lane1_xe30=0xcec0 serdes_preemphasis_lane2_xe30=0xcad0 -serdes_preemphasis_lane3_xe30=0xcad0 +serdes_preemphasis_lane3_xe30=0xc6e0 # xe31 (40G) -portmap_32=101:40 -xgxs_rx_lane_map_32=0x1320 -xgxs_tx_lane_map_32=0x1203 -phy_xaui_rx_polarity_flip_32=0x1 -phy_xaui_tx_polarity_flip_32=0x6 -serdes_driver_current_lane0_xe31=0x6 -serdes_driver_current_lane1_xe31=0x6 -serdes_driver_current_lane2_xe31=0x6 -serdes_driver_current_lane3_xe31=0x7 -serdes_pre_driver_current_lane0_xe31=0x6 -serdes_pre_driver_current_lane1_xe31=0x6 -serdes_pre_driver_current_lane2_xe31=0x6 -serdes_pre_driver_current_lane3_xe31=0x7 -serdes_preemphasis_lane0_xe31=0xcec0 -serdes_preemphasis_lane1_xe31=0xcec0 +portmap_32=97:40 +xgxs_rx_lane_map_32=0x213 +xgxs_tx_lane_map_32=0x2031 +phy_xaui_rx_polarity_flip_32=0xc +phy_xaui_tx_polarity_flip_32=0x3 +serdes_driver_current_lane0_xe31=0x5 +serdes_driver_current_lane1_xe31=0x5 +serdes_driver_current_lane2_xe31=0x5 +serdes_driver_current_lane3_xe31=0x5 +serdes_pre_driver_current_lane0_xe31=0x5 +serdes_pre_driver_current_lane1_xe31=0x5 +serdes_pre_driver_current_lane2_xe31=0x5 +serdes_pre_driver_current_lane3_xe31=0x5 +serdes_preemphasis_lane0_xe31=0xcad0 +serdes_preemphasis_lane1_xe31=0xcad0 serdes_preemphasis_lane2_xe31=0xcad0 -serdes_preemphasis_lane3_xe31=0xc6e0 +serdes_preemphasis_lane3_xe31=0xcad0 diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/plugins/eeprom.py b/device/dell/x86_64-dell_s6000_s1220-r0/plugins/eeprom.py index f08c5ba52cec..b326d24f6d44 100644 --- a/device/dell/x86_64-dell_s6000_s1220-r0/plugins/eeprom.py +++ b/device/dell/x86_64-dell_s6000_s1220-r0/plugins/eeprom.py @@ -10,115 +10,13 @@ ############################################################################# try: - import exceptions - import binascii - import time - import optparse - import warnings - import os - import sys - import subprocess - from sonic_eeprom import eeprom_base from sonic_eeprom import eeprom_tlvinfo except ImportError, e: raise ImportError (str(e) + "- required module not found") class board(eeprom_tlvinfo.TlvInfoDecoder): - _TLV_INFO_MAX_LEN = 128 - _TLV_HDR_ENABLED = 0 - - _TLV_BLOCK_NUMBER = 3 - _TLV_BLOCK_HDR_STRING = "\x3a\x29" - - _TLV_CODE_MFG = 0x20 - _TLV_CODE_SW = 0x1f - _TLV_CODE_MAC = 0x21 def __init__(self, name, path, cpld_root, ro): self.eeprom_path = "/sys/class/i2c-adapter/i2c-10/10-0053/eeprom" super(board, self).__init__(self.eeprom_path, 0, '', True) - - def decode_eeprom(self, e): - tlv_block_index = 0 - tlv_index = self.eeprom_start - tlv_end = self._TLV_INFO_MAX_LEN - - print "TLV Name Len Value" - print "-------------------- --- -----" - while tlv_block_index < self._TLV_BLOCK_NUMBER: - if not self.is_valid_block(e[tlv_index:]): - print "Invalid TLV field starting at EEPROM offset %d" % (tlv_index,) - return - print self.decoder(None, e[tlv_index:tlv_index + ord(e[tlv_index+2])]) - if not self.is_valid_block_checksum(e[tlv_index:tlv_index + ord(e[tlv_index+2])]): - print "(*** checksum invalid)" - tlv_index += ord(e[tlv_index+2]) - tlv_block_index += 1 - - def is_valid_block(self, e): - return (len(e) >= 8 and ord(e[2]) <= len(e) and \ - e[0:2] == self._TLV_BLOCK_HDR_STRING) - - def is_valid_block_checksum(self, e): - crc = self.compute_dell_crc(e[:-2]) - tlv_crc = ord(e[-1]) << 8 | ord(e[-2]) - return crc == tlv_crc - - def decoder(self, s, t): - ret = "" - if ord(t[4]) == self._TLV_CODE_MFG: - name = "PPID" - value = t[6:8] + "-" + t[8:14] + "-" + t[14:19] + "-" + \ - t[19:22] + "-" + t[22:26] - ret += "%-20s %3d %s\n" % (name, 20, value) - name = "DPN Rev" - ret += "%-20s %3d %s\n" % (name, 3, t[26:29]) - name = "Service Tag" - ret += "%-20s %3d %s\n" % (name, 7, t[29:36]) - name = "Part Number" - ret += "%-20s %3d %s\n" % (name, 10, t[36:46]) - name = "Part Number Rev" - ret += "%-20s %3d %s\n" % (name, 3, t[46:49]) - name = "Mfg Test Results" - ret += "%-20s %3d %s" % (name, 2, t[49:51]) - if ord(t[4]) == self._TLV_CODE_SW: - name = "Card ID" - ret += "%-20s %3d 0x%s\n" % (name, 2, t[6:8].encode('hex')) - name = "Module ID" - ret += "%-20s %3d %s" % (name, 2, ord(t[8:9])) - if ord(t[4]) == self._TLV_CODE_MAC: - name = "Base MAC Address" - value = ":".join([binascii.b2a_hex(T) for T in t[6:12]]).upper() - ret += "%-20s %3d %s" % (name, 12, value) - return ret - - def is_checksum_valid(self, e): - # Checksum is already calculated before - return (True, 0) - - def get_tlv_index(self, e, code): - tlv_index = 0 - while tlv_index < len(e): - if not self.is_valid_block(e[tlv_index:]): - return (False, 0) - if ord(e[tlv_index+4]) == code: - if not self.is_valid_block_checksum(e[tlv_index:tlv_index + ord(e[tlv_index+2])]): - print "(*** checksum invalid)" - return (True, tlv_index) - tlv_index += ord(e[tlv_index+2]) - return (Flase, 0) - - def base_mac_addr(self, e): - (is_valid, t) = self.get_tlv_index(e, self._TLV_CODE_MAC) - if not is_valid: - return "Bad base MAC address" - return ":".join([binascii.b2a_hex(T) for T in e[t:][6:12]]).upper() - - def serial_number_str(self, e): - ''' Return Service Tag ''' - (is_valid, t) = self.get_tlv_index(e, self._TLV_CODE_MFG) - if not is_valid: - return "Bad service tag" - t = e[t:] - return t[29:36]