#/bin/bash # # SFP28(25GbE) Retimer(DS250DF230) Setup(I2C) CDR Reset # # check paramter if [ $# -ne 1 ]; then echo "Usage: sfp28_retimer_setup_cdr_reset [port]" echo " [port] --> (0:SFP28_0, 1:SFP28_1) $1 " exit 1 fi # command tmp CMD_RT='/tmp/.ess_cmd_rt' # ************************************************************************************************** sfp28_port=$1 # ************************************************************************************************** # 25G Retimer I2C Address # ************************************************************************************************** # i2c-15 i2c i2c-1-mux (chan_id 2) I2C adapter I2C3_CH2 25G Retimer #1 # i2c-16 i2c i2c-1-mux (chan_id 3) I2C adapter I2C3_CH3 25G Retimer #2 # Retimer I2C Address 0x18 if [ $sfp28_port -eq 0 ]; then I2C_ADR="15" # echo " *** 25G Retimer 0 Setup *** " fi if [ $sfp28_port -eq 1 ]; then I2C_ADR="16" # echo " *** 25G Retimer 1 Setup *** " fi # ************************************************************************************************** echo " *** 25G Retimer Setup CDR Reset Start *** " # ************************************************************************************************** # ********************************************************** # CDR Reset # ********************************************************** i2cset -f -y -m 0x03 $I2C_ADR 0x18 0xFC 0x01 # Select channel 0 i2cset -f -y -m 0x03 $I2C_ADR 0x18 0xFF 0x03 # Select broadcast mode # ------------------------------------------------------ # Assert CDR Reset # ------------------------------------------------------ echo " Assert CDR Reset" i2cset -f -y -m 0x0C $I2C_ADR 0x18 0x0A 0x0C # Assert CDR reset sleep 1 # ------------------------------------------------------ # Release CDR Reset # ------------------------------------------------------ echo " Release CDR Reset" i2cset -f -y -m 0x0C $I2C_ADR 0x18 0x0A 0x00 # Release CDR Reset i2cset -f -y -m 0xFF $I2C_ADR 0x18 0xFC 0x00 # Select channel X i2cset -f -y -m 0x03 $I2C_ADR 0x18 0xFF 0x00 # Select shared mode sleep 5 # ************************************************************************************************** echo " *** 25G Retimer Setup CDR Reset END *** " # ************************************************************************************************** exit 0