[devices]: Add new SKU for SONiC VM (#8971)

The default ethernet port naming style is Ethernet0, Ethernet4...Ethernet(i*4) which isn't compatible with EOS's style Ethernet1,Ethernet2...Etherent(i+1)
SONiC-mgmt usually use EOS as neighbor devices. To relieve the compatible issue on SONiC as neighbor devices, This PR introduces a new SKU SONiC VM.

Signed-off-by: Ze Gan <ganze718@gmail.com>
This commit is contained in:
Ze Gan 2021-10-15 01:47:40 +08:00 committed by GitHub
parent b9366f3f8e
commit f4f6955e43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 901 additions and 0 deletions

View File

@ -0,0 +1,3 @@
{%- set default_topo = 't1' %}
{%- include 'buffers_config.j2' %}

View File

@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,32) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"static_th":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,32) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"static_th":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,32) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"static_th":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,16 @@
fabric1:1
fabric2:2
fabric3:3
fabric4:4
fabric5:5
fabric6:6
fabric7:7
fabric8:8
fabric9:9
fabric10:10
fabric11:11
fabric12:12
fabric13:13
fabric14:14
fabric15:15
fabric16:16

View File

@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100

View File

@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM81724
SAI_VS_SAI_SWITCH_TYPE=SAI_SWITCH_TYPE_PHY
SAI_VS_HOSTIF_USE_TAP_DEVICE=false
SAI_VS_USE_BCMSIM_LINK_MON=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 56368 18432 55120 -3 2496
25000 5m 56368 18432 55120 -3 2496
40000 5m 56368 18432 55120 -3 2496
50000 5m 56368 18432 55120 -3 2496
100000 5m 56368 18432 55120 -3 2496
10000 40m 56368 18432 55120 -3 2496
25000 40m 56368 18432 55120 -3 2496
40000 40m 56368 18432 55120 -3 2496
50000 40m 56368 18432 55120 -3 2496
100000 40m 56368 18432 55120 -3 2496
10000 300m 56368 18432 55120 -3 2496
25000 300m 56368 18432 55120 -3 2496
40000 300m 56368 18432 55120 -3 2496
50000 300m 56368 18432 55120 -3 2496
100000 300m 56368 18432 55120 -3 2496

View File

@ -0,0 +1,33 @@
# name lanes alias index speed
Ethernet1 25,26,27,28 fortyGigE0/0 0 40000
Ethernet2 29,30,31,32 fortyGigE0/4 1 40000
Ethernet3 33,34,35,36 fortyGigE0/8 2 40000
Ethernet4 37,38,39,40 fortyGigE0/12 3 40000
Ethernet5 45,46,47,48 fortyGigE0/16 4 40000
Ethernet6 41,42,43,44 fortyGigE0/20 5 40000
Ethernet7 1,2,3,4 fortyGigE0/24 6 40000
Ethernet8 5,6,7,8 fortyGigE0/28 7 40000
Ethernet9 13,14,15,16 fortyGigE0/32 8 40000
Ethernet10 9,10,11,12 fortyGigE0/36 9 40000
Ethernet11 17,18,19,20 fortyGigE0/40 10 40000
Ethernet12 21,22,23,24 fortyGigE0/44 11 40000
Ethernet13 53,54,55,56 fortyGigE0/48 12 40000
Ethernet14 49,50,51,52 fortyGigE0/52 13 40000
Ethernet15 57,58,59,60 fortyGigE0/56 14 40000
Ethernet16 61,62,63,64 fortyGigE0/60 15 40000
Ethernet17 69,70,71,72 fortyGigE0/64 16 40000
Ethernet18 65,66,67,68 fortyGigE0/68 17 40000
Ethernet19 73,74,75,76 fortyGigE0/72 18 40000
Ethernet20 77,78,79,80 fortyGigE0/76 19 40000
Ethernet21 109,110,111,112 fortyGigE0/80 20 40000
Ethernet22 105,106,107,108 fortyGigE0/84 21 40000
Ethernet23 113,114,115,116 fortyGigE0/88 22 40000
Ethernet24 117,118,119,120 fortyGigE0/92 23 40000
Ethernet25 125,126,127,128 fortyGigE0/96 24 40000
Ethernet26 121,122,123,124 fortyGigE0/100 25 40000
Ethernet27 81,82,83,84 fortyGigE0/104 26 40000
Ethernet28 85,86,87,88 fortyGigE0/108 27 40000
Ethernet29 93,94,95,96 fortyGigE0/112 28 40000
Ethernet30 89,90,91,92 fortyGigE0/116 29 40000
Ethernet31 101,102,103,104 fortyGigE0/120 30 40000
Ethernet32 97,98,99,100 fortyGigE0/124 31 40000

View File

@ -0,0 +1 @@
{%- include 'qos_config.j2' %}

View File

@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
SAI_VS_CORE_PORT_INDEX_MAP_FILE=/usr/share/sonic/hwsku/coreportindexmap.ini
SAI_VS_INTERFACE_FABRIC_LANE_MAP_FILE=/usr/share/sonic/hwsku/fabriclanemap.ini

View File

@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_MLNX2700
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
SAI_VS_CORE_PORT_INDEX_MAP_FILE=/usr/share/sonic/hwsku/coreportindexmap.ini
SAI_VS_INTERFACE_FABRIC_LANE_MAP_FILE=/usr/share/sonic/hwsku/fabriclanemap.ini

View File

@ -0,0 +1,649 @@
# Old LPM only configuration
# l2_mem_entries=163840
# l3_mem_entries=90112
# l3_alpm_enable=0
# ipv6_lpm_128b_enable=0
#
# ALPM enable
l3_alpm_enable=2
ipv6_lpm_128b_enable=1
l2_mem_entries=32768
l3_mem_entries=16384
# Disable Counting ACL Drop towards interface RX_DRP counter
sai_adjust_acl_drop_in_rx_drop=1
# From old config file
os=unix
higig2_hdr_mode=1
# Parity
parity_correction=1
parity_enable=1
stat_if_parity_enable=0
#
bcm_num_cos=10
bcm_stat_interval=2000000
l2xmsg_hostbuf_size=8192
l2xmsg_mode=1
lls_num_l2uc=12
max_vp_lags=0
miim_intr_enable=0
mmu_lossless=0
module_64ports=0
schan_intr_enable=0
stable_size=0x2000000
tdma_timeout_usec=5000000
pbmp_oversubscribe=0x000007fffffffffffffffffffffffffe
pbmp_xport_xe=0x000007fffffffffffffffffffffffffe
# Ports configuration
# xe0 (40G)
portmap_1=25:40
xgxs_rx_lane_map_1=0x213
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=0xd2b0
# xe1 (40G)
portmap_2=29:40
xgxs_rx_lane_map_2=0x213
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=0xc2f0
# xe2 (40G)
portmap_3=33:40
xgxs_rx_lane_map_3=0x213
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
serdes_driver_current_lane3_xe2=0x4
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=0xc6e0
serdes_preemphasis_lane1_xe2=0xc6e0
serdes_preemphasis_lane2_xe2=0xc6e0
serdes_preemphasis_lane3_xe2=0xc6e0
# xe3 (40G)
portmap_4=37:40
xgxs_rx_lane_map_4=0x213
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
serdes_driver_current_lane3_xe3=0x4
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=0xcad0
serdes_preemphasis_lane1_xe3=0xcad0
serdes_preemphasis_lane2_xe3=0xc2f0
serdes_preemphasis_lane3_xe3=0xc2f0
# xe4 (40G)
portmap_5=45:40
xgxs_rx_lane_map_5=0x213
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
serdes_driver_current_lane3_xe4=0x4
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=0xc2f0
serdes_preemphasis_lane1_xe4=0xc2f0
serdes_preemphasis_lane2_xe4=0xc2f0
serdes_preemphasis_lane3_xe4=0xc2f0
# xe5 (40G)
portmap_6=41:40
xgxs_rx_lane_map_6=0x213
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
serdes_driver_current_lane3_xe5=0x4
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=0xc6e0
serdes_preemphasis_lane1_xe5=0xc2f0
serdes_preemphasis_lane2_xe5=0xc2f0
serdes_preemphasis_lane3_xe5=0xcad0
# xe6 (40G)
portmap_7=1:40
xgxs_rx_lane_map_7=0x213
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=0xcad0
serdes_preemphasis_lane2_xe6=0xc6e0
serdes_preemphasis_lane3_xe6=0xcad0
# xe7 (40G)
portmap_8=5:40
xgxs_rx_lane_map_8=0x213
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=0xc6e0
serdes_preemphasis_lane2_xe7=0xc6e0
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=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=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=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=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=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=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
serdes_driver_current_lane3_xe10=0x2
serdes_pre_driver_current_lane0_xe10=0x2
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=0xbb10
serdes_preemphasis_lane2_xe10=0xbb10
serdes_preemphasis_lane3_xe10=0xbb10
# xe11 (40G)
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
serdes_driver_current_lane3_xe11=0x2
serdes_pre_driver_current_lane0_xe11=0x2
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=0xb330
serdes_preemphasis_lane2_xe11=0xb330
serdes_preemphasis_lane3_xe11=0xb330
# xe12 (40G)
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
serdes_driver_current_lane3_xe12=0x2
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=0xaf40
serdes_preemphasis_lane1_xe12=0xaf40
serdes_preemphasis_lane2_xe12=0xaf40
serdes_preemphasis_lane3_xe12=0xaf40
# xe13 (40G)
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
serdes_driver_current_lane3_xe13=0x2
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=0xa760
serdes_preemphasis_lane1_xe13=0xa760
serdes_preemphasis_lane2_xe13=0xa760
serdes_preemphasis_lane3_xe13=0xa760
# xe14 (40G)
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=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=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=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=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
serdes_driver_current_lane3_xe16=0x1
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=0xa760
serdes_preemphasis_lane1_xe16=0xa760
serdes_preemphasis_lane2_xe16=0xa760
serdes_preemphasis_lane3_xe16=0xa760
# xe17 (40G)
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
serdes_driver_current_lane3_xe17=0x1
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=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
serdes_driver_current_lane3_xe18=0x2
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=0xa760
serdes_preemphasis_lane1_xe18=0xa760
serdes_preemphasis_lane2_xe18=0xa760
serdes_preemphasis_lane3_xe18=0xa760
# xe19 (40G)
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
serdes_driver_current_lane3_xe19=0x2
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=0xaf40
serdes_preemphasis_lane1_xe19=0xaf40
serdes_preemphasis_lane2_xe19=0xaf40
serdes_preemphasis_lane3_xe19=0xaf40
# xe20 (40G)
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=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=0x2
serdes_preemphasis_lane0_xe20=0xb330
serdes_preemphasis_lane1_xe20=0xb330
serdes_preemphasis_lane2_xe20=0xb330
serdes_preemphasis_lane3_xe20=0xbff0
# xe21 (40G)
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=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=0x1
serdes_preemphasis_lane0_xe21=0xb330
serdes_preemphasis_lane1_xe21=0xb330
serdes_preemphasis_lane2_xe21=0xb330
serdes_preemphasis_lane3_xe21=0xb330
# xe22 (40G)
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=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=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
serdes_driver_current_lane3_xe24=0x4
serdes_pre_driver_current_lane0_xe24=0x4
serdes_pre_driver_current_lane1_xe24=0x4
serdes_pre_driver_current_lane2_xe24=0x4
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=0xcec0
# xe25 (40G)
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
serdes_driver_current_lane3_xe25=0x4
serdes_pre_driver_current_lane0_xe25=0x4
serdes_pre_driver_current_lane1_xe25=0x4
serdes_pre_driver_current_lane2_xe25=0x4
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=0xc6e0
# xe26 (40G)
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=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=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
serdes_driver_current_lane3_xe28=0x4
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=0xc2f0
serdes_preemphasis_lane1_xe28=0xc2f0
serdes_preemphasis_lane2_xe28=0xc2f0
serdes_preemphasis_lane3_xe28=0xc2f0
# xe29 (40G)
portmap_30=89:40
xgxs_rx_lane_map_30=0x1320
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
serdes_driver_current_lane3_xe29=0x4
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=0xcad0
serdes_preemphasis_lane1_xe29=0xc6e0
serdes_preemphasis_lane2_xe29=0xc6e0
serdes_preemphasis_lane3_xe29=0xc6e0
# xe30 (40G)
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=0xc6e0
# xe31 (40G)
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=0xcad0