[Dell] Force10-S6000-Q24S32 new HWSKU support (#4680)

**Why I did it**

- Added support for S6000 new HWSKU-Q24S32

**How I did it**

- Modified port_config.ini, TD2 settings to bring the ports UP.

**How to verify it**

- Check LLDP neighbors,LLDP table, interface status,EEPROM and other show commands.
- Do OIR, LED, Traffic testings.
This commit is contained in:
Aravind Mani 2020-06-09 22:37:14 +05:30 committed by GitHub
parent 7f07865ac2
commit f31eabb5ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 909 additions and 0 deletions

View File

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

View File

@ -0,0 +1,55 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,16) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(16,25) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 1)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 3)) %}{% endif %}
{% endfor %}
{% for port_idx in range(25,32) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% 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,55 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,16) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(16,25) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 1)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{% endif %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 3)) %}{% endif %}
{% endfor %}
{% for port_idx in range(25,32) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% 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,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,57 @@
# name lanes alias index speed
Ethernet0 29,30,31,32 fortyGigE0/0 0 40000
Ethernet4 25,26,27,28 fortyGigE0/4 1 40000
Ethernet8 37,38,39,40 fortyGigE0/8 2 40000
Ethernet12 33,34,35,36 fortyGigE0/12 3 40000
Ethernet16 41,42,43,44 fortyGigE0/16 4 40000
Ethernet20 45,46,47,48 fortyGigE0/20 5 40000
Ethernet24 5,6,7,8 fortyGigE0/24 6 40000
Ethernet28 1,2,3,4 fortyGigE0/28 7 40000
Ethernet32 9,10,11,12 fortyGigE0/32 8 40000
Ethernet36 13,14,15,16 fortyGigE0/36 9 40000
Ethernet40 21,22,23,24 fortyGigE0/40 10 40000
Ethernet44 17,18,19,20 fortyGigE0/44 11 40000
Ethernet48 49,50,51,52 fortyGigE0/48 12 40000
Ethernet52 53,54,55,56 fortyGigE0/52 13 40000
Ethernet56 61,62,63,64 fortyGigE0/56 14 40000
Ethernet60 57,58,59,60 fortyGigE0/60 15 40000
Ethernet64 65 tenGigE0/64 16 10000
Ethernet65 66 tenGigE0/65 16 10000
Ethernet66 67 tenGigE0/66 16 10000
Ethernet67 68 tenGigE0/67 16 10000
Ethernet68 69 tenGigE0/68 17 10000
Ethernet69 70 tenGigE0/69 17 10000
Ethernet70 71 tenGigE0/70 17 10000
Ethernet71 72 tenGigE0/71 17 10000
Ethernet72 77 tenGigE0/72 18 10000
Ethernet73 78 tenGigE0/73 18 10000
Ethernet74 79 tenGigE0/74 18 10000
Ethernet75 80 tenGigE0/75 18 10000
Ethernet76 73 tenGigE0/76 19 10000
Ethernet77 74 tenGigE0/77 19 10000
Ethernet78 75 tenGigE0/78 19 10000
Ethernet79 76 tenGigE0/79 19 10000
Ethernet80 105 tenGigE0/80 20 10000
Ethernet81 106 tenGigE0/81 20 10000
Ethernet82 107 tenGigE0/82 20 10000
Ethernet83 108 tenGigE0/83 20 10000
Ethernet84 109 tenGigE0/84 21 10000
Ethernet85 110 tenGigE0/85 21 10000
Ethernet86 111 tenGigE0/86 21 10000
Ethernet87 112 tenGigE0/87 21 10000
Ethernet88 117 tenGigE0/88 22 10000
Ethernet89 118 tenGigE0/89 22 10000
Ethernet90 119 tenGigE0/90 22 10000
Ethernet91 120 tenGigE0/91 22 10000
Ethernet92 113 tenGigE0/92 23 10000
Ethernet93 114 tenGigE0/93 23 10000
Ethernet94 115 tenGigE0/94 23 10000
Ethernet95 116 tenGigE0/95 23 10000
Ethernet96 121,122,123,124 fortyGigE0/96 24 40000
Ethernet100 125,126,127,128 fortyGigE0/100 25 40000
Ethernet104 85,86,87,88 fortyGigE0/104 26 40000
Ethernet108 81,82,83,84 fortyGigE0/108 27 40000
Ethernet112 89,90,91,92 fortyGigE0/112 28 40000
Ethernet116 93,94,95,96 fortyGigE0/116 29 40000
Ethernet120 97,98,99,100 fortyGigE0/120 30 40000
Ethernet124 101,102,103,104 fortyGigE0/124 31 40000

View File

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

View File

@ -0,0 +1,2 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-s6000-24x40G-32x10G.config.bcm
SAI_NUM_ECMP_MEMBERS=32

View File

@ -0,0 +1,719 @@
# 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
# 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=8
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=0x000001fffffffffffffffffffff
pbmp_xport_xe=0x000001fffffffffffffffffffff
# Ports configuration
# xe0 (40G)
portmap_1=29: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_1=0x6
serdes_driver_current_lane1_1=0x7
serdes_driver_current_lane2_1=0x6
serdes_driver_current_lane3_1=0x6
serdes_pre_driver_current_lane0_1=0x6
serdes_pre_driver_current_lane1_1=0x7
serdes_pre_driver_current_lane2_1=0x6
serdes_pre_driver_current_lane3_1=0x6
serdes_preemphasis_lane0_1=0xc2f0
serdes_preemphasis_lane1_1=0xd2b0
serdes_preemphasis_lane2_1=0xc6e0
serdes_preemphasis_lane3_1=0xc2f0
# xe1 (40G)
portmap_2=25: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_2=0x5
serdes_driver_current_lane1_2=0x5
serdes_driver_current_lane2_2=0x5
serdes_driver_current_lane3_2=0x5
serdes_pre_driver_current_lane0_2=0x5
serdes_pre_driver_current_lane1_2=0x5
serdes_pre_driver_current_lane2_2=0x5
serdes_pre_driver_current_lane3_2=0x5
serdes_preemphasis_lane0_2=0xcad0
serdes_preemphasis_lane1_2=0xc6e0
serdes_preemphasis_lane2_2=0xc6e0
serdes_preemphasis_lane3_2=0xd2b0
# xe2 (40G)
portmap_3=37: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
serdes_driver_current_lane0_3=0x4
serdes_driver_current_lane1_3=0x4
serdes_driver_current_lane2_3=0x4
serdes_driver_current_lane3_3=0x4
serdes_pre_driver_current_lane0_3=0x4
serdes_pre_driver_current_lane1_3=0x4
serdes_pre_driver_current_lane2_3=0x4
serdes_pre_driver_current_lane3_3=0x4
serdes_preemphasis_lane0_3=0xcad0
serdes_preemphasis_lane1_3=0xcad0
serdes_preemphasis_lane2_3=0xc2f0
serdes_preemphasis_lane3_3=0xc2f0
# xe3 (40G)
portmap_4=33: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
serdes_driver_current_lane0_4=0x4
serdes_driver_current_lane1_4=0x4
serdes_driver_current_lane2_4=0x4
serdes_driver_current_lane3_4=0x4
serdes_pre_driver_current_lane0_4=0x4
serdes_pre_driver_current_lane1_4=0x4
serdes_pre_driver_current_lane2_4=0x4
serdes_pre_driver_current_lane3_4=0x4
serdes_preemphasis_lane0_4=0xc6e0
serdes_preemphasis_lane1_4=0xc6e0
serdes_preemphasis_lane2_4=0xc6e0
serdes_preemphasis_lane3_4=0xc6e0
# xe4 (40G)
portmap_5=41: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
serdes_driver_current_lane0_5=0x4
serdes_driver_current_lane1_5=0x4
serdes_driver_current_lane2_5=0x4
serdes_driver_current_lane3_5=0x4
serdes_pre_driver_current_lane0_5=0x4
serdes_pre_driver_current_lane1_5=0x4
serdes_pre_driver_current_lane2_5=0x4
serdes_pre_driver_current_lane3_5=0x4
serdes_preemphasis_lane0_5=0xc6e0
serdes_preemphasis_lane1_5=0xc2f0
serdes_preemphasis_lane2_5=0xc2f0
serdes_preemphasis_lane3_5=0xcad0
# xe5 (40G)
portmap_6=45: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
serdes_driver_current_lane0_6=0x4
serdes_driver_current_lane1_6=0x4
serdes_driver_current_lane2_6=0x4
serdes_driver_current_lane3_6=0x4
serdes_pre_driver_current_lane0_6=0x4
serdes_pre_driver_current_lane1_6=0x4
serdes_pre_driver_current_lane2_6=0x4
serdes_pre_driver_current_lane3_6=0x4
serdes_preemphasis_lane0_6=0xc2f0
serdes_preemphasis_lane1_6=0xc2f0
serdes_preemphasis_lane2_6=0xc2f0
serdes_preemphasis_lane3_6=0xc2f0
# xe6 (40G)
portmap_7=5: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_7=0x4
serdes_driver_current_lane1_7=0x4
serdes_driver_current_lane2_7=0x4
serdes_driver_current_lane3_7=0x4
serdes_pre_driver_current_lane0_7=0x4
serdes_pre_driver_current_lane1_7=0x4
serdes_pre_driver_current_lane2_7=0x4
serdes_pre_driver_current_lane3_7=0x4
serdes_preemphasis_lane0_7=0xc6e0
serdes_preemphasis_lane1_7=0xc6e0
serdes_preemphasis_lane2_7=0xc6e0
serdes_preemphasis_lane3_7=0xc6e0
# xe7 (40G)
portmap_8=1: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_8=0x5
serdes_driver_current_lane1_8=0x5
serdes_driver_current_lane2_8=0x5
serdes_driver_current_lane3_8=0x5
serdes_pre_driver_current_lane0_8=0x5
serdes_pre_driver_current_lane1_8=0x5
serdes_pre_driver_current_lane2_8=0x5
serdes_pre_driver_current_lane3_8=0x5
serdes_preemphasis_lane0_8=0xc6e0
serdes_preemphasis_lane1_8=0xcad0
serdes_preemphasis_lane2_8=0xc6e0
serdes_preemphasis_lane3_8=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_9=0x3
serdes_driver_current_lane1_9=0x3
serdes_driver_current_lane2_9=0x3
serdes_driver_current_lane3_9=0x3
serdes_pre_driver_current_lane0_9=0x3
serdes_pre_driver_current_lane1_9=0x3
serdes_pre_driver_current_lane2_9=0x3
serdes_pre_driver_current_lane3_9=0x3
serdes_preemphasis_lane0_9=0xc2f0
serdes_preemphasis_lane1_9=0xc6e0
serdes_preemphasis_lane2_9=0xbf00
serdes_preemphasis_lane3_9=0xc2f0
# 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_10=0x2
serdes_driver_current_lane1_10=0x3
serdes_driver_current_lane2_10=0x2
serdes_driver_current_lane3_10=0x2
serdes_pre_driver_current_lane0_10=0x2
serdes_pre_driver_current_lane1_10=0x3
serdes_pre_driver_current_lane2_10=0x2
serdes_pre_driver_current_lane3_10=0x2
serdes_preemphasis_lane0_10=0xb270
serdes_preemphasis_lane1_10=0xbb10
serdes_preemphasis_lane2_10=0xb720
serdes_preemphasis_lane3_10=0xb720
# 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
serdes_driver_current_lane0_11=0x2
serdes_driver_current_lane1_11=0x2
serdes_driver_current_lane2_11=0x2
serdes_driver_current_lane3_11=0x2
serdes_pre_driver_current_lane0_11=0x2
serdes_pre_driver_current_lane1_11=0x2
serdes_pre_driver_current_lane2_11=0x2
serdes_pre_driver_current_lane3_11=0x2
serdes_preemphasis_lane0_11=0xb330
serdes_preemphasis_lane1_11=0xb330
serdes_preemphasis_lane2_11=0xb330
serdes_preemphasis_lane3_11=0xb330
# 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
serdes_driver_current_lane0_12=0x2
serdes_driver_current_lane1_12=0x2
serdes_driver_current_lane2_12=0x2
serdes_driver_current_lane3_12=0x2
serdes_pre_driver_current_lane0_12=0x2
serdes_pre_driver_current_lane1_12=0x2
serdes_pre_driver_current_lane2_12=0x2
serdes_pre_driver_current_lane3_12=0x2
serdes_preemphasis_lane0_12=0xb330
serdes_preemphasis_lane1_12=0xbb10
serdes_preemphasis_lane2_12=0xbb10
serdes_preemphasis_lane3_12=0xbb10
# 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
serdes_driver_current_lane0_13=0x2
serdes_driver_current_lane1_13=0x2
serdes_driver_current_lane2_13=0x2
serdes_driver_current_lane3_13=0x2
serdes_pre_driver_current_lane0_13=0x2
serdes_pre_driver_current_lane1_13=0x2
serdes_pre_driver_current_lane2_13=0x2
serdes_pre_driver_current_lane3_13=0x2
serdes_preemphasis_lane0_13=0xa760
serdes_preemphasis_lane1_13=0xa760
serdes_preemphasis_lane2_13=0xa760
serdes_preemphasis_lane3_13=0xa760
# 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
serdes_driver_current_lane0_14=0x2
serdes_driver_current_lane1_14=0x2
serdes_driver_current_lane2_14=0x2
serdes_driver_current_lane3_14=0x2
serdes_pre_driver_current_lane0_14=0x2
serdes_pre_driver_current_lane1_14=0x2
serdes_pre_driver_current_lane2_14=0x2
serdes_pre_driver_current_lane3_14=0x2
serdes_preemphasis_lane0_14=0xaf40
serdes_preemphasis_lane1_14=0xaf40
serdes_preemphasis_lane2_14=0xaf40
serdes_preemphasis_lane3_14=0xaf40
# 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
phy_xaui_tx_polarity_flip_15=0x0
serdes_driver_current_lane0_15=0x2
serdes_driver_current_lane1_15=0x2
serdes_driver_current_lane2_15=0x2
serdes_driver_current_lane3_15=0x2
serdes_pre_driver_current_lane0_15=0x2
serdes_pre_driver_current_lane1_15=0x2
serdes_pre_driver_current_lane2_15=0x2
serdes_pre_driver_current_lane3_15=0x2
serdes_preemphasis_lane0_15=0xa760
serdes_preemphasis_lane1_15=0xa760
serdes_preemphasis_lane2_15=0xa760
serdes_preemphasis_lane3_15=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
phy_xaui_tx_polarity_flip_16=0x0
serdes_driver_current_lane0_16=0x1
serdes_driver_current_lane1_16=0x1
serdes_driver_current_lane2_16=0x1
serdes_driver_current_lane3_16=0x1
serdes_pre_driver_current_lane0_16=0x1
serdes_pre_driver_current_lane1_16=0x1
serdes_pre_driver_current_lane2_16=0x1
serdes_pre_driver_current_lane3_16=0x1
serdes_preemphasis_lane0_16=0xa760
serdes_preemphasis_lane1_16=0xa760
serdes_preemphasis_lane2_16=0xa760
serdes_preemphasis_lane3_16=0xa760
# xe16 (4x10G)
portmap_17=65:10
portmap_18=66:10
portmap_19=67:10
portmap_20=68:10
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
phy_xaui_rx_polarity_flip_18=0x1
phy_xaui_tx_polarity_flip_18=0x0
phy_xaui_rx_polarity_flip_19=0x0
phy_xaui_tx_polarity_flip_19=0x0
phy_xaui_rx_polarity_flip_20=0x0
phy_xaui_tx_polarity_flip_20=0x1
serdes_driver_current_lane0_17=0x1
serdes_driver_current_lane1_17=0x1
serdes_driver_current_lane2_17=0x1
serdes_driver_current_lane3_17=0x1
serdes_pre_driver_current_lane0_17=0x1
serdes_pre_driver_current_lane1_17=0x1
serdes_pre_driver_current_lane2_17=0x1
serdes_pre_driver_current_lane3_17=0x1
serdes_preemphasis_lane0_17=0xa370
serdes_preemphasis_lane1_17=0xa370
serdes_preemphasis_lane2_17=0xa370
serdes_preemphasis_lane3_17=0xa370
# xe17 (4x10G)
portmap_21=69:10
portmap_22=70:10
portmap_23=71:10
portmap_24=72:10
xgxs_rx_lane_map_21=0x213
xgxs_tx_lane_map_21=0x2130
phy_xaui_rx_polarity_flip_21=0x1
phy_xaui_tx_polarity_flip_21=0xf
phy_xaui_rx_polarity_flip_22=0x0
phy_xaui_tx_polarity_flip_22=0x1
phy_xaui_rx_polarity_flip_23=0x0
phy_xaui_tx_polarity_flip_23=0x1
phy_xaui_rx_polarity_flip_24=0x0
phy_xaui_tx_polarity_flip_24=0x1
serdes_driver_current_lane0_21=0x1
serdes_driver_current_lane1_21=0x1
serdes_driver_current_lane2_21=0x1
serdes_driver_current_lane3_21=0x1
serdes_pre_driver_current_lane0_21=0x1
serdes_pre_driver_current_lane1_21=0x1
serdes_pre_driver_current_lane2_21=0x1
serdes_pre_driver_current_lane3_21=0x1
serdes_preemphasis_lane0_21=0xa760
serdes_preemphasis_lane1_21=0xa760
serdes_preemphasis_lane2_21=0xa760
serdes_preemphasis_lane3_21=0xa760
# xe18 (4x10G)
portmap_25=77:10
portmap_26=78:10
portmap_27=79:10
portmap_28=80:10
xgxs_rx_lane_map_25=0x123
xgxs_tx_lane_map_25=0x1203
phy_xaui_rx_polarity_flip_25=0x3
phy_xaui_tx_polarity_flip_25=0xe
phy_xaui_rx_polarity_flip_26=0x1
phy_xaui_tx_polarity_flip_26=0x1
phy_xaui_rx_polarity_flip_27=0x0
phy_xaui_tx_polarity_flip_27=0x1
phy_xaui_rx_polarity_flip_28=0x0
phy_xaui_tx_polarity_flip_28=0x1
serdes_driver_current_lane0_25=0x2
serdes_driver_current_lane1_25=0x2
serdes_driver_current_lane2_25=0x2
serdes_driver_current_lane3_25=0x2
serdes_pre_driver_current_lane0_25=0x2
serdes_pre_driver_current_lane1_25=0x2
serdes_pre_driver_current_lane2_25=0x2
serdes_pre_driver_current_lane3_25=0x2
serdes_preemphasis_lane0_25=0xaf40
serdes_preemphasis_lane1_25=0xaf40
serdes_preemphasis_lane2_25=0xaf40
serdes_preemphasis_lane3_25=0xaf40
# xe19 (4x10G)
portmap_29=73:10
portmap_30=74:10
portmap_31=75:10
portmap_32=76:10
xgxs_rx_lane_map_29=0x213
xgxs_tx_lane_map_29=0x2031
phy_xaui_rx_polarity_flip_29=0x1
phy_xaui_tx_polarity_flip_29=0x0
phy_xaui_rx_polarity_flip_30=0x0
phy_xaui_tx_polarity_flip_30=0x0
phy_xaui_rx_polarity_flip_31=0x0
phy_xaui_tx_polarity_flip_31=0x0
phy_xaui_rx_polarity_flip_32=0x0
phy_xaui_tx_polarity_flip_32=0x0
serdes_driver_current_lane0_29=0x2
serdes_driver_current_lane1_29=0x2
serdes_driver_current_lane2_29=0x2
serdes_driver_current_lane3_29=0x2
serdes_pre_driver_current_lane0_29=0x2
serdes_pre_driver_current_lane1_29=0x2
serdes_pre_driver_current_lane2_29=0x2
serdes_pre_driver_current_lane3_29=0x2
serdes_preemphasis_lane0_29=0xa760
serdes_preemphasis_lane1_29=0xa760
serdes_preemphasis_lane2_29=0xa760
serdes_preemphasis_lane3_29=0xa760
# xe20 (4x10G)
portmap_33=105:10
portmap_34=106:10
portmap_35=107:10
portmap_36=108:10
xgxs_rx_lane_map_33=0x1320
xgxs_tx_lane_map_33=0x3021
phy_xaui_rx_polarity_flip_33=0xd
phy_xaui_tx_polarity_flip_33=0xb
phy_xaui_rx_polarity_flip_34=0x0
phy_xaui_tx_polarity_flip_34=0x1
phy_xaui_rx_polarity_flip_35=0x1
phy_xaui_tx_polarity_flip_35=0x0
phy_xaui_rx_polarity_flip_36=0x1
phy_xaui_tx_polarity_flip_36=0x1
serdes_driver_current_lane0_33=0x1
serdes_driver_current_lane1_33=0x1
serdes_driver_current_lane2_33=0x1
serdes_driver_current_lane3_33=0x1
serdes_pre_driver_current_lane0_33=0x1
serdes_pre_driver_current_lane1_33=0x1
serdes_pre_driver_current_lane2_33=0x1
serdes_pre_driver_current_lane3_33=0x1
serdes_preemphasis_lane0_33=0xb330
serdes_preemphasis_lane1_33=0xb330
serdes_preemphasis_lane2_33=0xb330
serdes_preemphasis_lane3_33=0xb330
# xe21 (4x10G)
portmap_37=109:10
portmap_38=110:10
portmap_39=111:10
portmap_40=112:10
xgxs_rx_lane_map_37=0x132
xgxs_tx_lane_map_37=0x132
phy_xaui_rx_polarity_flip_37=0x8
phy_xaui_tx_polarity_flip_37=0x0
phy_xaui_rx_polarity_flip_38=0x0
phy_xaui_tx_polarity_flip_38=0x0
phy_xaui_rx_polarity_flip_39=0x0
phy_xaui_tx_polarity_flip_39=0x0
phy_xaui_rx_polarity_flip_40=0x1
phy_xaui_tx_polarity_flip_40=0x0
serdes_driver_current_lane0_37=0x1
serdes_driver_current_lane1_37=0x1
serdes_driver_current_lane2_37=0x1
serdes_driver_current_lane3_37=0x2
serdes_pre_driver_current_lane0_37=0x1
serdes_pre_driver_current_lane1_37=0x1
serdes_pre_driver_current_lane2_37=0x1
serdes_pre_driver_current_lane3_37=0x2
serdes_preemphasis_lane0_37=0xb330
serdes_preemphasis_lane1_37=0xb330
serdes_preemphasis_lane2_37=0xb330
serdes_preemphasis_lane3_37=0xbff0
# xe22 (4x10G)
portmap_41=117:10
portmap_42=118:10
portmap_43=119:10
portmap_44=120:10
xgxs_rx_lane_map_41=0x231
xgxs_tx_lane_map_41=0x1203
phy_xaui_rx_polarity_flip_41=0x3
phy_xaui_tx_polarity_flip_41=0xe
phy_xaui_rx_polarity_flip_42=0x1
phy_xaui_tx_polarity_flip_42=0x1
phy_xaui_rx_polarity_flip_43=0x0
phy_xaui_tx_polarity_flip_43=0x1
phy_xaui_rx_polarity_flip_44=0x0
phy_xaui_tx_polarity_flip_44=0x1
serdes_driver_current_lane0_41=0x3
serdes_driver_current_lane1_41=0x5
serdes_driver_current_lane2_41=0x3
serdes_driver_current_lane3_41=0x3
serdes_pre_driver_current_lane0_41=0x3
serdes_pre_driver_current_lane1_41=0x5
serdes_pre_driver_current_lane2_41=0x3
serdes_pre_driver_current_lane3_41=0x3
serdes_preemphasis_lane0_41=0xc6e0
serdes_preemphasis_lane1_41=0xc6e0
serdes_preemphasis_lane2_41=0xc6e0
serdes_preemphasis_lane3_41=0xc6e0
# xe23 (40x10G)
portmap_45=113:10
portmap_46=114:10
portmap_47=115:10
portmap_48=116:10
xgxs_rx_lane_map_45=0x132
xgxs_tx_lane_map_45=0x132
phy_xaui_rx_polarity_flip_45=0x8
phy_xaui_tx_polarity_flip_45=0x0
phy_xaui_rx_polarity_flip_46=0x0
phy_xaui_tx_polarity_flip_46=0x0
phy_xaui_rx_polarity_flip_47=0x0
phy_xaui_tx_polarity_flip_47=0x0
phy_xaui_rx_polarity_flip_48=0x1
phy_xaui_tx_polarity_flip_48=0x0
serdes_driver_current_lane0_45=0x1
serdes_driver_current_lane1_45=0x1
serdes_driver_current_lane2_45=0x1
serdes_driver_current_lane3_45=0x1
serdes_pre_driver_current_lane0_45=0x1
serdes_pre_driver_current_lane1_45=0x1
serdes_pre_driver_current_lane2_45=0x1
serdes_pre_driver_current_lane3_45=0x1
serdes_preemphasis_lane0_45=0xbb10
serdes_preemphasis_lane1_45=0xbb10
serdes_preemphasis_lane2_45=0xbb10
serdes_preemphasis_lane3_45=0xc2f0
# xe24 (40G)
portmap_49=121:40
xgxs_rx_lane_map_49=0x1320
xgxs_tx_lane_map_49=0x3021
phy_xaui_rx_polarity_flip_49=0xd
phy_xaui_tx_polarity_flip_49=0xb
serdes_driver_current_lane0_49=0x4
serdes_driver_current_lane1_49=0x4
serdes_driver_current_lane2_49=0x4
serdes_driver_current_lane3_49=0x4
serdes_pre_driver_current_lane0_49=0x4
serdes_pre_driver_current_lane1_49=0x4
serdes_pre_driver_current_lane2_49=0x4
serdes_pre_driver_current_lane3_49=0x4
serdes_preemphasis_lane0_49=0xc6e0
serdes_preemphasis_lane1_49=0xc6e0
serdes_preemphasis_lane2_49=0xc6e0
serdes_preemphasis_lane3_49=0xc6e0
# xe25 (40G)
portmap_50=125:40
xgxs_rx_lane_map_50=0x132
xgxs_tx_lane_map_50=0x132
phy_xaui_rx_polarity_flip_50=0x8
phy_xaui_tx_polarity_flip_50=0x0
serdes_driver_current_lane0_50=0x4
serdes_driver_current_lane1_50=0x4
serdes_driver_current_lane2_50=0x4
serdes_driver_current_lane3_50=0x4
serdes_pre_driver_current_lane0_50=0x4
serdes_pre_driver_current_lane1_50=0x4
serdes_pre_driver_current_lane2_50=0x4
serdes_pre_driver_current_lane3_50=0x4
serdes_preemphasis_lane0_50=0xc6e0
serdes_preemphasis_lane1_50=0xc6e0
serdes_preemphasis_lane2_50=0xc6e0
serdes_preemphasis_lane3_50=0xcec0
# xe26 (40G)
portmap_51=85:40
xgxs_rx_lane_map_51=0x213
xgxs_tx_lane_map_51=0x1203
phy_xaui_rx_polarity_flip_51=0xc
phy_xaui_tx_polarity_flip_51=0xe
serdes_driver_current_lane0_51=0x4
serdes_driver_current_lane1_51=0x5
serdes_driver_current_lane2_51=0x4
serdes_driver_current_lane3_51=0x5
serdes_pre_driver_current_lane0_51=0x4
serdes_pre_driver_current_lane1_51=0x5
serdes_pre_driver_current_lane2_51=0x4
serdes_pre_driver_current_lane3_51=0x5
serdes_preemphasis_lane0_51=0xc2f0
serdes_preemphasis_lane1_51=0xc6e0
serdes_preemphasis_lane2_51=0xc6e0
serdes_preemphasis_lane3_51=0xc6e0
# xe27 (40G)
portmap_52=81:40
xgxs_rx_lane_map_52=0x1320
xgxs_tx_lane_map_52=0x2031
phy_xaui_rx_polarity_flip_52=0x1
phy_xaui_tx_polarity_flip_52=0x2
serdes_driver_current_lane0_52=0x2
serdes_driver_current_lane1_52=0x2
serdes_driver_current_lane2_52=0x2
serdes_driver_current_lane3_52=0x2
serdes_pre_driver_current_lane0_52=0x2
serdes_pre_driver_current_lane1_52=0x2
serdes_pre_driver_current_lane2_52=0x2
serdes_pre_driver_current_lane3_52=0x2
serdes_preemphasis_lane0_52=0xbb10
serdes_preemphasis_lane1_52=0xbb10
serdes_preemphasis_lane2_52=0xbf00
serdes_preemphasis_lane3_52=0xbb10
# xe28 (40G)
portmap_53=89:40
xgxs_rx_lane_map_53=0x1320
xgxs_tx_lane_map_53=0x3021
phy_xaui_rx_polarity_flip_53=0x2
phy_xaui_tx_polarity_flip_53=0xb
serdes_driver_current_lane0_53=0x4
serdes_driver_current_lane1_53=0x4
serdes_driver_current_lane2_53=0x4
serdes_driver_current_lane3_53=0x4
serdes_pre_driver_current_lane0_53=0x4
serdes_pre_driver_current_lane1_53=0x4
serdes_pre_driver_current_lane2_53=0x4
serdes_pre_driver_current_lane3_53=0x4
serdes_preemphasis_lane0_53=0xcad0
serdes_preemphasis_lane1_53=0xc6e0
serdes_preemphasis_lane2_53=0xc6e0
serdes_preemphasis_lane3_53=0xc6e0
# xe29 (40G)
portmap_54=93:40
xgxs_rx_lane_map_54=0x1320
xgxs_tx_lane_map_54=0x2031
phy_xaui_rx_polarity_flip_54=0x1
phy_xaui_tx_polarity_flip_54=0x2
serdes_driver_current_lane0_54=0x4
serdes_driver_current_lane1_54=0x4
serdes_driver_current_lane2_54=0x4
serdes_driver_current_lane3_54=0x4
serdes_pre_driver_current_lane0_54=0x4
serdes_pre_driver_current_lane1_54=0x4
serdes_pre_driver_current_lane2_54=0x4
serdes_pre_driver_current_lane3_54=0x4
serdes_preemphasis_lane0_54=0xc2f0
serdes_preemphasis_lane1_54=0xc2f0
serdes_preemphasis_lane2_54=0xc2f0
serdes_preemphasis_lane3_54=0xc2f0
# xe30 (40G)
portmap_55=97:40
xgxs_rx_lane_map_55=0x213
xgxs_tx_lane_map_55=0x2031
phy_xaui_rx_polarity_flip_55=0xc
phy_xaui_tx_polarity_flip_55=0x3
serdes_driver_current_lane0_55=0x5
serdes_driver_current_lane1_55=0x5
serdes_driver_current_lane2_55=0x5
serdes_driver_current_lane3_55=0x5
serdes_pre_driver_current_lane0_55=0x5
serdes_pre_driver_current_lane1_55=0x5
serdes_pre_driver_current_lane2_55=0x5
serdes_pre_driver_current_lane3_55=0x5
serdes_preemphasis_lane0_55=0xcad0
serdes_preemphasis_lane1_55=0xcad0
serdes_preemphasis_lane2_55=0xcad0
serdes_preemphasis_lane3_55=0xcad0
# xe31 (40G)
portmap_56=101:40
xgxs_rx_lane_map_56=0x1320
xgxs_tx_lane_map_56=0x1203
phy_xaui_rx_polarity_flip_56=0x1
phy_xaui_tx_polarity_flip_56=0x6
serdes_driver_current_lane0_56=0x6
serdes_driver_current_lane1_56=0x6
serdes_driver_current_lane2_56=0x6
serdes_driver_current_lane3_56=0x7
serdes_pre_driver_current_lane0_56=0x6
serdes_pre_driver_current_lane1_56=0x6
serdes_pre_driver_current_lane2_56=0x6
serdes_pre_driver_current_lane3_56=0x7
serdes_preemphasis_lane0_56=0xcec0
serdes_preemphasis_lane1_56=0xcec0
serdes_preemphasis_lane2_56=0xcad0
serdes_preemphasis_lane3_56=0xc6e0