[devices/dell]: Dell S6000-Q20S48 new HWSKU support (#4628)

Added support for S6000 new HWSKU-Q20S48

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

Added support for S6000 new HWSKU-Q20S48(20x40G-48x10G)
This HWSKU is applicable for S6000 platform, not S6000-ON platform
This commit is contained in:
Aravind Mani 2020-05-26 14:56:08 +05:30 committed by GitHub
parent ddd6368e64
commit 3d0b65d5e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 973 additions and 0 deletions

View File

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

View File

@ -0,0 +1,63 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,8) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(8,14) %}
{% 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(14,18) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(18,24) %}
{% 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(24,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,63 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{% for port_idx in range(0,8) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(8,14) %}
{% 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(14,18) %}
{% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %}
{% endfor %}
{% for port_idx in range(18,24) %}
{% 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(24,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,69 @@
# 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 tenGigE0/32 8 10000
Ethernet33 10 tenGigE0/33 8 10000
Ethernet34 11 tenGigE0/34 8 10000
Ethernet35 12 tenGigE0/35 8 10000
Ethernet36 13 tenGigE0/36 9 10000
Ethernet37 14 tenGigE0/37 9 10000
Ethernet38 15 tenGigE0/38 9 10000
Ethernet39 16 tenGigE0/39 9 10000
Ethernet40 21 tenGigE0/40 10 10000
Ethernet41 22 tenGigE0/41 10 10000
Ethernet42 23 tenGigE0/42 10 10000
Ethernet43 24 tenGigE0/43 10 10000
Ethernet44 17 tenGigE0/44 11 10000
Ethernet45 18 tenGigE0/45 11 10000
Ethernet46 19 tenGigE0/46 11 10000
Ethernet47 20 tenGigE0/47 11 10000
Ethernet48 49 tenGigE0/48 12 10000
Ethernet49 50 tenGigE0/49 12 10000
Ethernet50 51 tenGigE0/50 12 10000
Ethernet51 52 tenGigE0/51 12 10000
Ethernet52 53 tenGigE0/52 13 10000
Ethernet53 54 tenGigE0/53 13 10000
Ethernet54 55 tenGigE0/54 13 10000
Ethernet55 56 tenGigE0/55 13 10000
Ethernet56 61,62,63,64 fortyGigE0/56 14 40000
Ethernet60 57,58,59,60 fortyGigE0/60 15 40000
Ethernet64 65,66,67,68 fortyGigE0/64 16 40000
Ethernet68 69,70,71,72 fortyGigE0/68 17 40000
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-20x40G-48x10G.config.bcm
SAI_NUM_ECMP_MEMBERS=32

View File

@ -0,0 +1,755 @@
# 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=0x000000000000001fffffffffffffffff
pbmp_xport_xe=0x000000000000001fffffffffffffffff
# 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
# xe8 (4x10G)
portmap_9=9:10
portmap_10=10:10
portmap_11=11:10
portmap_12=12:10
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
phy_xaui_rx_polarity_flip_10=0x0
phy_xaui_tx_polarity_flip_10=0x0
phy_xaui_rx_polarity_flip_11=0x0
phy_xaui_tx_polarity_flip_11=0x1
phy_xaui_rx_polarity_flip_12=0x0
phy_xaui_tx_polarity_flip_12=0x0
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 (4x10G)
portmap_13=13:10
portmap_14=14:10
portmap_15=15:10
portmap_16=16:10
xgxs_rx_lane_map_13=0x213
xgxs_tx_lane_map_13=0x132
phy_xaui_rx_polarity_flip_13=0xe
phy_xaui_tx_polarity_flip_13=0x0
phy_xaui_rx_polarity_flip_14=0x1
phy_xaui_tx_polarity_flip_14=0x0
phy_xaui_rx_polarity_flip_15=0x1
phy_xaui_tx_polarity_flip_15=0x0
phy_xaui_rx_polarity_flip_16=0x1
phy_xaui_tx_polarity_flip_16=0x0
serdes_driver_current_lane0_13=0x2
serdes_driver_current_lane1_13=0x3
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=0x3
serdes_pre_driver_current_lane2_13=0x2
serdes_pre_driver_current_lane3_13=0x2
serdes_preemphasis_lane0_13=0xb270
serdes_preemphasis_lane1_13=0xbb10
serdes_preemphasis_lane2_13=0xb720
serdes_preemphasis_lane3_13=0xb720
# xe10 (4x10G)
portmap_17=21:10
portmap_18=22:10
portmap_19=23:10
portmap_20=24:10
xgxs_rx_lane_map_17=0x123
xgxs_tx_lane_map_17=0x1203
phy_xaui_rx_polarity_flip_17=0xc
phy_xaui_tx_polarity_flip_17=0xe
phy_xaui_rx_polarity_flip_18=0x0
phy_xaui_tx_polarity_flip_18=0x1
phy_xaui_rx_polarity_flip_19=0x1
phy_xaui_tx_polarity_flip_19=0x1
phy_xaui_rx_polarity_flip_20=0x1
phy_xaui_tx_polarity_flip_20=0x1
serdes_driver_current_lane0_17=0x2
serdes_driver_current_lane1_17=0x2
serdes_driver_current_lane2_17=0x2
serdes_driver_current_lane3_17=0x2
serdes_pre_driver_current_lane0_17=0x2
serdes_pre_driver_current_lane1_17=0x2
serdes_pre_driver_current_lane2_17=0x2
serdes_pre_driver_current_lane3_17=0x2
serdes_preemphasis_lane0_17=0xb330
serdes_preemphasis_lane1_17=0xb330
serdes_preemphasis_lane2_17=0xb330
serdes_preemphasis_lane3_17=0xb330
# xe11 (4x10G)
portmap_21=17:10
portmap_22=18:10
portmap_23=19:10
portmap_24=20:10
xgxs_rx_lane_map_21=0x213
xgxs_tx_lane_map_21=0x132
phy_xaui_rx_polarity_flip_21=0xe
phy_xaui_tx_polarity_flip_21=0x0
phy_xaui_rx_polarity_flip_22=0x1
phy_xaui_tx_polarity_flip_22=0x0
phy_xaui_rx_polarity_flip_23=0x1
phy_xaui_tx_polarity_flip_23=0x0
phy_xaui_rx_polarity_flip_24=0x1
phy_xaui_tx_polarity_flip_24=0x0
serdes_driver_current_lane0_21=0x2
serdes_driver_current_lane1_21=0x2
serdes_driver_current_lane2_21=0x2
serdes_driver_current_lane3_21=0x2
serdes_pre_driver_current_lane0_21=0x2
serdes_pre_driver_current_lane1_21=0x2
serdes_pre_driver_current_lane2_21=0x2
serdes_pre_driver_current_lane3_21=0x2
serdes_preemphasis_lane0_21=0xb330
serdes_preemphasis_lane1_21=0xbb10
serdes_preemphasis_lane2_21=0xbb10
serdes_preemphasis_lane3_21=0xbb10
# xe12 (4x10G)
portmap_25=49:10
portmap_26=50:10
portmap_27=51:10
portmap_28=52:10
xgxs_rx_lane_map_25=0x1302
xgxs_tx_lane_map_25=0x2031
phy_xaui_rx_polarity_flip_25=0xb
phy_xaui_tx_polarity_flip_25=0x3
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=0x0
phy_xaui_rx_polarity_flip_28=0x1
phy_xaui_tx_polarity_flip_28=0x0
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=0xa760
serdes_preemphasis_lane1_25=0xa760
serdes_preemphasis_lane2_25=0xa760
serdes_preemphasis_lane3_25=0xa760
# xe13 (4x10G)
portmap_29=53:10
portmap_30=54:10
portmap_31=55:10
portmap_32=56:10
xgxs_rx_lane_map_29=0x213
xgxs_tx_lane_map_29=0x231
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=0xaf40
serdes_preemphasis_lane1_29=0xaf40
serdes_preemphasis_lane2_29=0xaf40
serdes_preemphasis_lane3_29=0xaf40
# xe14 (40G)
portmap_33=61:40
xgxs_rx_lane_map_33=0x132
xgxs_tx_lane_map_33=0x213
phy_xaui_rx_polarity_flip_33=0x0
phy_xaui_tx_polarity_flip_33=0x0
serdes_driver_current_lane0_33=0x2
serdes_driver_current_lane1_33=0x2
serdes_driver_current_lane2_33=0x2
serdes_driver_current_lane3_33=0x2
serdes_pre_driver_current_lane0_33=0x2
serdes_pre_driver_current_lane1_33=0x2
serdes_pre_driver_current_lane2_33=0x2
serdes_pre_driver_current_lane3_33=0x2
serdes_preemphasis_lane0_33=0xa760
serdes_preemphasis_lane1_33=0xa760
serdes_preemphasis_lane2_33=0xa760
serdes_preemphasis_lane3_33=0xa760
# xe15 (40G)
portmap_34=57:40
xgxs_rx_lane_map_34=0x213
xgxs_tx_lane_map_34=0x2031
phy_xaui_rx_polarity_flip_34=0x1
phy_xaui_tx_polarity_flip_34=0x0
serdes_driver_current_lane0_34=0x1
serdes_driver_current_lane1_34=0x1
serdes_driver_current_lane2_34=0x1
serdes_driver_current_lane3_34=0x1
serdes_pre_driver_current_lane0_34=0x1
serdes_pre_driver_current_lane1_34=0x1
serdes_pre_driver_current_lane2_34=0x1
serdes_pre_driver_current_lane3_34=0x1
serdes_preemphasis_lane0_34=0xa760
serdes_preemphasis_lane1_34=0xa760
serdes_preemphasis_lane2_34=0xa760
serdes_preemphasis_lane3_34=0xa760
# xe16 (40G)
portmap_35=65:40
xgxs_rx_lane_map_35=0x132
xgxs_tx_lane_map_35=0x2031
phy_xaui_rx_polarity_flip_35=0x3
phy_xaui_tx_polarity_flip_35=0x9
serdes_driver_current_lane0_35=0x1
serdes_driver_current_lane1_35=0x1
serdes_driver_current_lane2_35=0x1
serdes_driver_current_lane3_35=0x1
serdes_pre_driver_current_lane0_35=0x1
serdes_pre_driver_current_lane1_35=0x1
serdes_pre_driver_current_lane2_35=0x1
serdes_pre_driver_current_lane3_35=0x1
serdes_preemphasis_lane0_35=0xa370
serdes_preemphasis_lane1_35=0xa370
serdes_preemphasis_lane2_35=0xa370
serdes_preemphasis_lane3_35=0xa370
# xe17 (40G)
portmap_36=69:40
xgxs_rx_lane_map_36=0x213
xgxs_tx_lane_map_36=0x2130
phy_xaui_rx_polarity_flip_36=0x1
phy_xaui_tx_polarity_flip_36=0xf
serdes_driver_current_lane0_36=0x1
serdes_driver_current_lane1_36=0x1
serdes_driver_current_lane2_36=0x1
serdes_driver_current_lane3_36=0x1
serdes_pre_driver_current_lane0_36=0x1
serdes_pre_driver_current_lane1_36=0x1
serdes_pre_driver_current_lane2_36=0x1
serdes_pre_driver_current_lane3_36=0x1
serdes_preemphasis_lane0_36=0xa760
serdes_preemphasis_lane1_36=0xa760
serdes_preemphasis_lane2_36=0xa760
serdes_preemphasis_lane3_36=0xa760
# xe18 (4x10G)
portmap_37=77:10
portmap_38=78:10
portmap_39=79:10
portmap_40=80:10
xgxs_rx_lane_map_37=0x123
xgxs_tx_lane_map_37=0x1203
phy_xaui_rx_polarity_flip_37=0x3
phy_xaui_tx_polarity_flip_37=0xe
phy_xaui_rx_polarity_flip_38=0x1
phy_xaui_tx_polarity_flip_38=0x1
phy_xaui_rx_polarity_flip_39=0x0
phy_xaui_tx_polarity_flip_39=0x1
phy_xaui_rx_polarity_flip_40=0x0
phy_xaui_tx_polarity_flip_40=0x1
serdes_driver_current_lane0_37=0x2
serdes_driver_current_lane1_37=0x2
serdes_driver_current_lane2_37=0x2
serdes_driver_current_lane3_37=0x2
serdes_pre_driver_current_lane0_37=0x2
serdes_pre_driver_current_lane1_37=0x2
serdes_pre_driver_current_lane2_37=0x2
serdes_pre_driver_current_lane3_37=0x2
serdes_preemphasis_lane0_37=0xaf40
serdes_preemphasis_lane1_37=0xaf40
serdes_preemphasis_lane2_37=0xaf40
serdes_preemphasis_lane3_37=0xaf40
# xe19 (4x10G)
portmap_41=73:10
portmap_42=74:10
portmap_43=75:10
portmap_44=76:10
xgxs_rx_lane_map_41=0x213
xgxs_tx_lane_map_41=0x2031
phy_xaui_rx_polarity_flip_41=0x1
phy_xaui_tx_polarity_flip_41=0x0
phy_xaui_rx_polarity_flip_42=0x0
phy_xaui_tx_polarity_flip_42=0x0
phy_xaui_rx_polarity_flip_43=0x0
phy_xaui_tx_polarity_flip_43=0x0
phy_xaui_rx_polarity_flip_44=0x0
phy_xaui_tx_polarity_flip_44=0x0
serdes_driver_current_lane0_41=0x2
serdes_driver_current_lane1_41=0x2
serdes_driver_current_lane2_41=0x2
serdes_driver_current_lane3_41=0x2
serdes_pre_driver_current_lane0_41=0x2
serdes_pre_driver_current_lane1_41=0x2
serdes_pre_driver_current_lane2_41=0x2
serdes_pre_driver_current_lane3_41=0x2
serdes_preemphasis_lane0_41=0xa760
serdes_preemphasis_lane1_41=0xa760
serdes_preemphasis_lane2_41=0xa760
serdes_preemphasis_lane3_41=0xa760
# xe20 (4x10G)
portmap_45=105:10
portmap_46=106:10
portmap_47=107:10
portmap_48=108:10
xgxs_rx_lane_map_45=0x1320
xgxs_tx_lane_map_45=0x3021
phy_xaui_rx_polarity_flip_45=0xd
phy_xaui_tx_polarity_flip_45=0xb
phy_xaui_rx_polarity_flip_46=0x0
phy_xaui_tx_polarity_flip_46=0x1
phy_xaui_rx_polarity_flip_47=0x1
phy_xaui_tx_polarity_flip_47=0x0
phy_xaui_rx_polarity_flip_48=0x1
phy_xaui_tx_polarity_flip_48=0x1
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=0xb330
serdes_preemphasis_lane1_45=0xb330
serdes_preemphasis_lane2_45=0xb330
serdes_preemphasis_lane3_45=0xb330
# xe21 (4x10G)
portmap_49=109:10
portmap_50=110:10
portmap_51=111:10
portmap_52=112:10
xgxs_rx_lane_map_49=0x132
xgxs_tx_lane_map_49=0x132
phy_xaui_rx_polarity_flip_49=0x8
phy_xaui_tx_polarity_flip_49=0x0
phy_xaui_rx_polarity_flip_50=0x0
phy_xaui_tx_polarity_flip_50=0x0
phy_xaui_rx_polarity_flip_51=0x0
phy_xaui_tx_polarity_flip_51=0x0
phy_xaui_rx_polarity_flip_52=0x1
phy_xaui_tx_polarity_flip_52=0x0
serdes_driver_current_lane0_49=0x1
serdes_driver_current_lane1_49=0x1
serdes_driver_current_lane2_49=0x1
serdes_driver_current_lane3_49=0x2
serdes_pre_driver_current_lane0_49=0x1
serdes_pre_driver_current_lane1_49=0x1
serdes_pre_driver_current_lane2_49=0x1
serdes_pre_driver_current_lane3_49=0x2
serdes_preemphasis_lane0_49=0xb330
serdes_preemphasis_lane1_49=0xb330
serdes_preemphasis_lane2_49=0xb330
serdes_preemphasis_lane3_49=0xbff0
# xe22 (4x10G)
portmap_53=117:10
portmap_54=118:10
portmap_55=119:10
portmap_56=120:10
xgxs_rx_lane_map_53=0x231
xgxs_tx_lane_map_53=0x1203
phy_xaui_rx_polarity_flip_53=0x3
phy_xaui_tx_polarity_flip_53=0xe
phy_xaui_rx_polarity_flip_54=0x1
phy_xaui_tx_polarity_flip_54=0x1
phy_xaui_rx_polarity_flip_55=0x0
phy_xaui_tx_polarity_flip_55=0x1
phy_xaui_rx_polarity_flip_56=0x0
phy_xaui_tx_polarity_flip_56=0x1
serdes_driver_current_lane0_53=0x3
serdes_driver_current_lane1_53=0x5
serdes_driver_current_lane2_53=0x3
serdes_driver_current_lane3_53=0x3
serdes_pre_driver_current_lane0_53=0x3
serdes_pre_driver_current_lane1_53=0x5
serdes_pre_driver_current_lane2_53=0x3
serdes_pre_driver_current_lane3_53=0x3
serdes_preemphasis_lane0_53=0xc6e0
serdes_preemphasis_lane1_53=0xc6e0
serdes_preemphasis_lane2_53=0xc6e0
serdes_preemphasis_lane3_53=0xc6e0
# xe23 (4x10G)
portmap_57=113:10
portmap_58=114:10
portmap_59=115:10
portmap_60=116:10
xgxs_rx_lane_map_57=0x132
xgxs_tx_lane_map_57=0x132
phy_xaui_rx_polarity_flip_57=0x8
phy_xaui_tx_polarity_flip_57=0x0
phy_xaui_rx_polarity_flip_58=0x0
phy_xaui_tx_polarity_flip_58=0x0
phy_xaui_rx_polarity_flip_59=0x0
phy_xaui_tx_polarity_flip_59=0x0
phy_xaui_rx_polarity_flip_60=0x1
phy_xaui_tx_polarity_flip_60=0x0
serdes_driver_current_lane0_57=0x1
serdes_driver_current_lane1_57=0x1
serdes_driver_current_lane2_57=0x1
serdes_driver_current_lane3_57=0x1
serdes_pre_driver_current_lane0_57=0x1
serdes_pre_driver_current_lane1_57=0x1
serdes_pre_driver_current_lane2_57=0x1
serdes_pre_driver_current_lane3_57=0x1
serdes_preemphasis_lane0_57=0xbb10
serdes_preemphasis_lane1_57=0xbb10
serdes_preemphasis_lane2_57=0xbb10
serdes_preemphasis_lane3_57=0xc2f0
# xe24 (40G)
portmap_61=121:40
xgxs_rx_lane_map_61=0x1320
xgxs_tx_lane_map_61=0x3021
phy_xaui_rx_polarity_flip_61=0xd
phy_xaui_tx_polarity_flip_61=0xb
serdes_driver_current_lane0_61=0x4
serdes_driver_current_lane1_61=0x4
serdes_driver_current_lane2_61=0x4
serdes_driver_current_lane3_61=0x4
serdes_pre_driver_current_lane0_61=0x4
serdes_pre_driver_current_lane1_61=0x4
serdes_pre_driver_current_lane2_61=0x4
serdes_pre_driver_current_lane3_61=0x4
serdes_preemphasis_lane0_61=0xc6e0
serdes_preemphasis_lane1_61=0xc6e0
serdes_preemphasis_lane2_61=0xc6e0
serdes_preemphasis_lane3_61=0xc6e0
# xe25 (40G)
portmap_62=125:40
xgxs_rx_lane_map_62=0x132
xgxs_tx_lane_map_62=0x132
phy_xaui_rx_polarity_flip_62=0x8
phy_xaui_tx_polarity_flip_62=0x0
serdes_driver_current_lane0_62=0x4
serdes_driver_current_lane1_62=0x4
serdes_driver_current_lane2_62=0x4
serdes_driver_current_lane3_62=0x4
serdes_pre_driver_current_lane0_62=0x4
serdes_pre_driver_current_lane1_62=0x4
serdes_pre_driver_current_lane2_62=0x4
serdes_pre_driver_current_lane3_62=0x4
serdes_preemphasis_lane0_62=0xc6e0
serdes_preemphasis_lane1_62=0xc6e0
serdes_preemphasis_lane2_62=0xc6e0
serdes_preemphasis_lane3_62=0xcec0
# xe26 (40G)
portmap_63=85:40
xgxs_rx_lane_map_63=0x213
xgxs_tx_lane_map_63=0x1203
phy_xaui_rx_polarity_flip_63=0xc
phy_xaui_tx_polarity_flip_63=0xe
serdes_driver_current_lane0_63=0x4
serdes_driver_current_lane1_63=0x5
serdes_driver_current_lane2_63=0x4
serdes_driver_current_lane3_63=0x5
serdes_pre_driver_current_lane0_63=0x4
serdes_pre_driver_current_lane1_63=0x5
serdes_pre_driver_current_lane2_63=0x4
serdes_pre_driver_current_lane3_63=0x5
serdes_preemphasis_lane0_63=0xc2f0
serdes_preemphasis_lane1_63=0xc6e0
serdes_preemphasis_lane2_63=0xc6e0
serdes_preemphasis_lane3_63=0xc6e0
# xe27 (40G)
portmap_64=81:40
xgxs_rx_lane_map_64=0x1320
xgxs_tx_lane_map_64=0x2031
phy_xaui_rx_polarity_flip_64=0x1
phy_xaui_tx_polarity_flip_64=0x2
serdes_driver_current_lane0_64=0x2
serdes_driver_current_lane1_64=0x2
serdes_driver_current_lane2_64=0x2
serdes_driver_current_lane3_64=0x2
serdes_pre_driver_current_lane0_64=0x2
serdes_pre_driver_current_lane1_64=0x2
serdes_pre_driver_current_lane2_64=0x2
serdes_pre_driver_current_lane3_64=0x2
serdes_preemphasis_lane0_64=0xbb10
serdes_preemphasis_lane1_64=0xbb10
serdes_preemphasis_lane2_64=0xbf00
serdes_preemphasis_lane3_64=0xbb10
# xe28 (40G)
portmap_65=89:40
xgxs_rx_lane_map_65=0x1320
xgxs_tx_lane_map_65=0x3021
phy_xaui_rx_polarity_flip_65=0x2
phy_xaui_tx_polarity_flip_65=0xb
serdes_driver_current_lane0_65=0x4
serdes_driver_current_lane1_65=0x4
serdes_driver_current_lane2_65=0x4
serdes_driver_current_lane3_65=0x4
serdes_pre_driver_current_lane0_65=0x4
serdes_pre_driver_current_lane1_65=0x4
serdes_pre_driver_current_lane2_65=0x4
serdes_pre_driver_current_lane3_65=0x4
serdes_preemphasis_lane0_65=0xcad0
serdes_preemphasis_lane1_65=0xc6e0
serdes_preemphasis_lane2_65=0xc6e0
serdes_preemphasis_lane3_65=0xc6e0
# xe29 (40G)
portmap_66=93:40
xgxs_rx_lane_map_66=0x1320
xgxs_tx_lane_map_66=0x2031
phy_xaui_rx_polarity_flip_66=0x1
phy_xaui_tx_polarity_flip_66=0x2
serdes_driver_current_lane0_66=0x4
serdes_driver_current_lane1_66=0x4
serdes_driver_current_lane2_66=0x4
serdes_driver_current_lane3_66=0x4
serdes_pre_driver_current_lane0_66=0x4
serdes_pre_driver_current_lane1_66=0x4
serdes_pre_driver_current_lane2_66=0x4
serdes_pre_driver_current_lane3_66=0x4
serdes_preemphasis_lane0_66=0xc2f0
serdes_preemphasis_lane1_66=0xc2f0
serdes_preemphasis_lane2_66=0xc2f0
serdes_preemphasis_lane3_66=0xc2f0
# xe30 (40G)
portmap_67=97:40
xgxs_rx_lane_map_67=0x213
xgxs_tx_lane_map_67=0x2031
phy_xaui_rx_polarity_flip_67=0xc
phy_xaui_tx_polarity_flip_67=0x3
serdes_driver_current_lane0_67=0x5
serdes_driver_current_lane1_67=0x5
serdes_driver_current_lane2_67=0x5
serdes_driver_current_lane3_67=0x5
serdes_pre_driver_current_lane0_67=0x5
serdes_pre_driver_current_lane1_67=0x5
serdes_pre_driver_current_lane2_67=0x5
serdes_pre_driver_current_lane3_67=0x5
serdes_preemphasis_lane0_67=0xcad0
serdes_preemphasis_lane1_67=0xcad0
serdes_preemphasis_lane2_67=0xcad0
serdes_preemphasis_lane3_67=0xcad0
# xe31 (40G)
portmap_68=101:40
xgxs_rx_lane_map_68=0x1320
xgxs_tx_lane_map_68=0x1203
phy_xaui_rx_polarity_flip_68=0x1
phy_xaui_tx_polarity_flip_68=0x6
serdes_driver_current_lane0_68=0x6
serdes_driver_current_lane1_68=0x6
serdes_driver_current_lane2_68=0x6
serdes_driver_current_lane3_68=0x7
serdes_pre_driver_current_lane0_68=0x6
serdes_pre_driver_current_lane1_68=0x6
serdes_pre_driver_current_lane2_68=0x6
serdes_pre_driver_current_lane3_68=0x7
serdes_preemphasis_lane0_68=0xcec0
serdes_preemphasis_lane1_68=0xcec0
serdes_preemphasis_lane2_68=0xcad0
serdes_preemphasis_lane3_68=0xc6e0