Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[device/celestica/x86_64-cel_silverstone-r0] Fix QSFP-DD support #92

Merged
merged 17 commits into from
Nov 20, 2020
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#!/bin/bash

# Configure transceiver module into 4x100G breakout mode
# so that each 100G ports can be operated independently

# Usage:
# ./cmis4_init.sh $port_i2c_no
#
port=$1

# "========================================================================="
# "Init CMIS 4.0 module in port $port"
# "========================================================================="

# "-------------------------------------------------------------------------"
# " Set page 00h before start configuration..."
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0

# "-------------------------------------------------------------------------"
# "step 1. SW reset module"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 26 0x08
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 2. deinitialize datapath"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 127 0x10
sudo i2cset -f -y $port 0x50 128 0xff

# "-------------------------------------------------------------------------"
# "step 3. enable hi-power mode"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 26 0x00
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 4. Datapath configuration"
# "step 4.a. Write to upper page 10h bytes 145 - 152 to select 100G-FR"
# " application on all host lane"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x10
# "write 145 - 152"
sudo i2cset -f -y $port 0x50 0x91 0x21
sudo i2cset -f -y $port 0x50 0x92 0x21
sudo i2cset -f -y $port 0x50 0x93 0x25
sudo i2cset -f -y $port 0x50 0x94 0x25
sudo i2cset -f -y $port 0x50 0x95 0x29
sudo i2cset -f -y $port 0x50 0x96 0x29
sudo i2cset -f -y $port 0x50 0x97 0x2d
sudo i2cset -f -y $port 0x50 0x98 0x2d

# "-------------------------------------------------------------------------"
# "step 4.b. Write 0xff to page 10h byte 143"
# " Apply DataPathInit..."
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x10
sudo i2cset -f -y $port 0x50 0x8f 0xff
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 4.c. Check configuration errors codes in page 11h byte 202 - 205"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x11

# "-------------------------------------------------------------------------"
# "step 5. Datapath activation Write the corresponding values to upper page"
# " 10h byte 128 (to power up the DP lanes)"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x10
sudo i2cset -f -y $port 0x50 0x80 0x00

sudo i2cset -f -y $port 0x50 0x7f 0
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ Ethernet218 187,188 QSFP28/2 28 100000
Ethernet220 189,190 QSFP28/3 28 100000
Ethernet222 191,192 QSFP28/4 28 100000
Ethernet224 193,194 QSFP29/1 29 100000
Ethernet216 195,196 QSFP29/2 29 100000
Ethernet218 197,198 QSFP29/3 29 100000
Ethernet226 195,196 QSFP29/2 29 100000
Ethernet228 197,198 QSFP29/3 29 100000
Ethernet230 199,200 QSFP29/4 29 100000
Ethernet232 201,202 QSFP30/1 30 100000
Ethernet234 203,204 QSFP30/2 30 100000
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash

# Configure transceiver module into 1x400G mode

# Usage:
# ./cmis4_init.sh $port_i2c_no
#
port=$1

# "========================================================================="
# "Init CMIS 4.0 module in port $port"
# "========================================================================="

# "-------------------------------------------------------------------------"
# " Set page 00h before start configuration..."
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0

# "-------------------------------------------------------------------------"
# "step 1. SW reset module"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 26 0x08
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 2. deinitialize datapath"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 127 0x10
sudo i2cset -f -y $port 0x50 128 0xff

# "-------------------------------------------------------------------------"
# "step 3. enable hi-power mode"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 26 0x00
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 4. Datapath configuration"
# "step 4.a. Write 0xff to page 10h byte 143"
# " Apply DataPathInit..."
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x10
sudo i2cset -f -y $port 0x50 0x8f 0xff
sleep 0.2

# "-------------------------------------------------------------------------"
# "step 4.b. Check configuration errors codes in page 11h byte 202 - 205"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x11

# "-------------------------------------------------------------------------"
# "step 5. Datapath activation Write the corresponding values to upper page"
# " 10h byte 128 (to power up the DP lanes)"
# "-------------------------------------------------------------------------"
sudo i2cset -f -y $port 0x50 0x7f 0x10
sudo i2cset -f -y $port 0x50 0x80 0x00

sudo i2cset -f -y $port 0x50 0x7f 0
Loading