51.2T cmd - Charles-Charmless/Charles-Charmless.github.io GitHub Wiki

[TOC]

系统初始化

远程链接

ssh [email protected] ps:1qaz!QAZsvt ssh [email protected] ps: 123456 sudo minicom -D /dev/ttyUSB7

设置默认启动项

setenv onie_boot_reason diag/onie
savee

ONIE

sf read 0x80001000 0xd00000 0x100000; env exists mcinitcmd && fsl_mc lazyapply dpl 0x80001000;
sf read $load_addr $kernel_start $kernel_size
bootm $load_addr#az9074_48v_21

停止后台服务

onie-discovery-stop

Diag

进入DiagOS

run diag_bootcmd
run onie_rescue

Stress

/root/diag/output/stressapptest -s 60000 -m 8 -i 8 -C 8 -M 6269 -l  >> ./ddrstress.log &     # MEM Stress
/root/diag/az-cpu-test --test -t stress -c 8  >> ./cputest.log &    # CPU Stress

killall stressapptest   # kill MEM stress
killall az-cpu-test     # kill CPU stress

环境设置

网口配置

udhcpc interface
udhcpc6 interface

Status

获取版本号

 get_versions

Sensor

sensors asc10-* 
sensors asc10-i2c-21-*    # 查看主板ASC
sensors asc10-i2c-37-60   # 查看PFCB ASC

Power status

hotswap

sensors ltc4287-i2c-36-11

VDDCORE

sensors xdpe1a2g5-i2c-17-66

OSFP

sensors tps53688-i2c-19-74   left  4/2  Pout1: Port 25-32   Pout2: Port 9-16
sensors tps53688-i2c-15-75   left  1/3  Pout1: Port 1-8     Pout2: Port 17-24
sensors tps53688-i2c-28-76   right 4/2  Pout1: Port 57-64   Pout2: Port 41-48 
sensors tps53688-i2c-28-77   right 1/3  Pout1: Port 32-40   Pout2: Port 49-56

sensors Q50SN120A4-i2c-31-61
sensors Q50SN120A4-i2c-31-63

风扇控制

pkill az-fan-test
echo 0 >  /sys/bus/i2c/devices/i2c-38/38-0066/fan_watchdog_enable
echo 1 > /sys/devices/sys_cpld/sys_cpld/fan_full_speed
/root/diag/az-fan-test --pwm 70

System Reset

# Warm Reboot
i2cset -f -y 25 0x60 0x25 0x60
reboot
# Cold Reboot
i2cset -f -y 25 0x60 0x25 0x02
reboot
    or 
i2cset -f -y 25 0x60 0x26 0x02
# 555 reboot
i2cset -fy 25 0x60 0x25 0x1
reboot

NSK module

# NSK module i2c test
i2cdetect -r -y 16
i2cdump -f -y 16 0x2e
i2cget -f -y 16 0x41
i2cdump -f -y 16 0x52
i2cget -f -y 16 0x53
i2cset -f -y 16 0x30 0x01 0x03

系统升级

flashcp -v az9074-boot /dev/mtd0  升级uboot
flashcp -v az9074-r0.itb /dev/mtd2  升级onie

#onie_rescue
chmod 777 /bin/onie-self-update
onie-self-update onie-updater-image

升级DiagOS

onie-nos-install diagos_name.bin

CPLD online update

ifconfig eth0 192.168.0.1
tftp -g 192.168.0.2 -r fhv2_sys_cpld_v28.5_0226.vme
vmetool_arm -s <sysCPLD_image.vme>

ASC online update

# MB ASC image update
asc_fwupd_arm -w --bus 21 --addr 0x60 -f ascimage.hex --force   
# PFCB ASC image update
asc_fwupd_arm -w --bus 37 --addr 0x60 -f ascimage.hex --force

FPGA online update

flashcp_fpga -d 0/1  fpgaimage.bin

TH5 PCIE FW update

dsh -c "pciephy fwload xxxx"  ## update fw
dsh -c "pciephy fwinfo"   ## check fw
For the ONIE image, Please use image V3 in SHACOM -> \\shacomm01\shared\Design Repository\Kapok_51.2T_PoC\2.Software\Release\BSP\R3216-J0025-01_V3_AZ9074_BSP
1) Go to Uboot console.
2) Switch SPI MUX into CPU
    LOADER=> i2c dev 2
    LOADER=> i2c mw 0x71 0x01 0x04
    LOADER=> i2c mw 0x60 0x07 0x7d

3) Booting into ONIE, then you will see /dev/mtd8 and /dev/mtd9 for FPGA 1 and 2.

ONIE:/ # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00010000 "uboot"
mtd1: 00100000 00010000 "uboot-env"
mtd2: 04600000 00010000 "onie"
mtd3: 02900000 00010000 "reserved"
mtd4: 01000000 00010000 "uboot2"
mtd5: 00100000 00010000 "uboot-env2"
mtd6: 04600000 00010000 "onie2"
mtd7: 02900000 00010000 "reserved"
mtd8: 01000000 00010000 "i2cfpga1"
mtd9: 01000000 00010000 "i2cfpga2"
ONIE:/ # get_versions
Platform:         AZ9074
SYSCPLD           0x0000
COMECPLD          0x4100
FPCBCPLD          1
PPS_FPGA_0        0x20240113
PPS_FPGA_1        0x20240113
U-BOOT            U-Boot 2021.04-LX2080-v17.0-HAL (Jan 11 2024 - 13:33:48 +0000)
ONIE              2017.11.2-dirty
ASC10-0 (COME)    8446(0x0002)
ASC10-1 (COME)    63ce(0x0102)
ASC10-0           c49b(0x0101)
ASC10-1           566e(0x0102)
ASC10-2           cac3(0x0103)
ASC10-3           e326(0x0104)
ASC10-4           8525(0x0105)
ASC10-5           8d6e(0x0106)
ASC10-6           922c(0x0001)
TPMFW             0x70055
SSDFW             JXTD0W4Q
SITIME0            0x00
SITIME1            0x00
ONIE:/ #

SDK

sdk启动

光模块的启动命令

./auto_load_user.sh -m 1-64:optics_1x800 # -> 端口1-64使用800g速率(8个112G lane),使用光模块固定参数,默认值是[pre3:0, pre2:8, pre:-30, main: 130, post:0, post2:0, post3:0]

接入DAC线用link training的启动命令

./auto_load_user.sh -m 1-64:copper_1x800 # -> 端口1-64使用800g速率(8个112G lane),使用link training

端口状态查看

BCM.0> ps  # -> 所有端口
BCM.0> ps 端口名 # -> 端口名可以是sdk名字d3c0~d3c63, xe0~xe3,也可以是逻辑端口,sdk名字后面括号里的数字就是逻辑端口号,在prbs、txfir的设置上都需要用到

prbs 13Q设置

启动sdk

./auto_load_user.sh -m 1-64:optics_1x800

进入sdk debug shell

BCM.0> dsh
BCM.0> phy diag x prbs set P=y #  -> x代表逻辑端口, y代表encoded值,p13我们使用encoded值为9 (默认使用3,是p31)

一组完整的prbs测试命令如下

BCM.0> dsh -c 'phydiag 1 prbs set p=9' # -> 设置prbs模式为p13, phydiag后的数字就是逻辑端口
BCM.0> dsh -c 'phydiag 1 prbsstat start interval=30' # -> prbs发包,interval是多少秒统计一次
BCM.0> dsh -c 'phydiag 1 prbs get' # -> 第一次查看prbs,无视结果
BCM.0> dsh -c 'phydiag 1 prbsstat ber' # -> 第一次查看ber,无视结果

等待一个间隔时间

BCM.0> dsh -c 'phydiag 1 prbs get' # -> 第二次查看prbs端口lock后会有错包或者不会出现fail字样或者PRBS OK!,结果算有效,如果出现fail字样代表没有lock,查看结果无效
BCM.0> dsh -c 'phydiag 1 prbsstat ber' # -> 从第二次开始查看的ber,如果出现LossOfLock或者Nolock代表测试还没有搜集到结果,等待完整的时间后再次读取
BCM.0> dsh -c 'phydiag 1 prbsstat stop' # -> 停止prbs发包
BCM.0> dsh -c 'phydiag 1 prbsstat clear' # -> 清除prbs计数器
BCM.0> dsh -c 'phydiag 1 prbs clear' # -> 清除prbs

BCM查看tx parameter

./integrator_mode -m 1-64:elb_2x400 -d
az-portcmd tx_fir_get



dsh -c "phy diag 1 dsc config" #  -> diag 后面跟的数字是逻辑端口号

BCM 查看 FDR

dsh -c 'phydiag <143> fdrstat counters'    # <143> 逻辑端口

启用/关闭端口

port d3c<0-63> en=0 # (port 1 en=0)  -> disable 这里的端口可以是sdk名,也可以是逻辑端口
port d3c<0-63> en=1 # (port 1 en=1)  -> enable 这里的端口可以是sdk名,也可以是逻辑端口
./integrator_mode -m 1-64:elb_1x800
cint configs/64x1x800/lb_L3snake_set.c
cint configs/64x1x800/lb_L3snake_start.c

test power...(shell command use "shell + your system command ")
shell sensors ltc4287-i2c-36-11
shell sensors xdpe1a2g5-i2c-17-66
shell sensors tps53688-i2c-19-74
shell sensors tps53688-i2c-15-75
shell sensors tps53688-i2c-28-76
shell sensors tps53688-i2c-28-77


cint configs/64x1x800/lb_L3snake_stop.c
cint configs/64x1x800/lb_L3snake_show.c

dump ELB CMIS table

i2cset -fy 136 0x50 0x7f 0x11   
i2cdump -fy 136 0x50            <101-164 Port num>

TH5 Max power

dsh -c "hmon temp"          # 查看TH5 internal thermal sensor
dsh -c "bb voltage"         # only availabe in TH5 demo board

dsh -c "tr 518 scenario=6 profile=2 Count=320 PktSize=283 rm=ext CheckLinkTime=20 TestPhase=1" # Start TR518
dsh -c "tr 518 scenario=6 profile=2 Count=320 PktSize=283 rm=ext CheckLinkTime=20 TestPhase=2" # Stop TR518

PRBS

test.bh.run_bcm_cmd("dsh -c 'phydiag 265 prbs set p=3'")        # set PRBS

test.bh.run_bcm_cmd("dsh -c 'phydiag 265 prbsstat start interval=30'")   # Start PRBS

test.bh.run_bcm_cmd("dsh -c 'phydiag 265 prbsstat ber'")              # 查看BER

test.bh.run_bcm_cmd("dsh -c 'phydiag 265 prbs clear'")                 # stop PRBS

Serdes Debug

#enter in debug shell, port use logicname
dsh
# dump serdes info in debug shell
phydiag 1 dsc
phydiag 1 dsc config

Package drop

  • bit error
  • edb_drain_port: timeout
  • spacing_error
  • edb_credit_fail

FPGA访问

# FPGA base addr
FPGA 0 BASE ADDR :    0X9840000000
FPGA 1 BASE ADDR :    0X8040000000
lspci
lspci -s 0000:01:00.0 -vvv

FPGA reload

fpga_reload

FPGA读写

devmem                                  # dump register
devmem 0x94xxxxxxxxxxxxx 32             # FPGA0 read
devmem 0x94xxxxxxxxxxxxx 32 0x00000000  # FPGA0 write

查看FPGA 版本

devmem 0x8040000058 32
devmem 0X9840000058 32

devmem 0x9840102180 32

SMM 0x00102100 0x2100 0x2200 0x2300 0x2400

I2C Command

Config mode    - i2c_cmd -d [FPGA 0:1] -c [Config enable:disable] -s [Speed 1:2]
                          -d      Devices -- FPGA_0 | FPGA_1
                          -c      I2C Core config -- Enable or Disable
                          -s      Speed config 1:100k, 2:400k
Read/Write     - i2c_cmd -d [FPGA 0:1] -p [Port 0-31] -r [Address] -w [Address|Data]
                          -d      Devices -- FPGA_0 | FPGA_1
                          -p      Port Number -- 0-31
                          -r      Read - read register address ex: 0x03
                          -w      Write - Register|Data ex: Write reg 0x1A to 0x00 -> 0x1a00
Complete mode     - i2c_cmd -o [Options]
    i2c_cmd -o init         - Initial I2C core to 100K clock speed
    i2c_cmd -o powerup      - Power Up all modules
    i2c_cmd -o powerdown    - Power Down all modules
    i2c_cmd -o status       - Check power status all modules
    i2c_cmd -o inform       - Print module informations
    i2c_cmd -o en_1pps      - Enable 1PPS control func
    i2c_cmd -o dis_1pps     - Disable 1PPS control func                       
    i2c_cmd -o los_1pps     - Check 1PPS signal lost status
    i2c_cmd -o check_1pps   - Show 1PPS counter
    i2c_cmd -o dump_eeprom  - Dump OSFP EEPROM
    i2c_cmd -o scan         - I2C scan devices

ELB

Init

Power up module
1) i2c_cmd -o init
2) i2c_cmd -o powerup
3) wait 5s, i2c_cmd -o status

LPMODE

./i2c_cmd -d 0 -c enable -s 2   # enable i2c
./i2c_cmd -d 0 -p 2 -w 0x501a   # lpmode
./i2c_cmd -d 0 -p 2 -r 0x1a     # read lpmode set
./i2c_cmd -d 0 -p 2 -r 0x3      # read lpmode status

Set Power

/root/diag/az-sfp-test --read --device 1 --type module_power 
/root/diag/az-sfp-test --write --device 1 --type module_power --data 17

##30W +17W
for i in `seq 1 32`; do /root/diag/az-sfp-test -w -d $i --type module_power --data 30; done
for i in `seq 33 64`; do /root/diag/az-sfp-test -w -d $i --type module_power --data 17; done
## 17W
for i in `seq 1 32`; do /root/diag/az-sfp-test -w -d $i --type module_power --data 17; done
for i in `seq 33 64`; do /root/diag/az-sfp-test -w -d $i --type module_power --data 17; done
1) for i in `seq 0 15`; do i2c_cmd -d 0 -p $i -w 0x441e; done
2) for i in `seq 0 15`; do i2c_cmd -d 1 -p $i -w 0x441e; done

1) for i in `seq 16 31`; do i2c_cmd -d 0 -p $i -w 0x4411; done
2) for i in `seq 16 31`; do i2c_cmd -d 1 -p $i -w 0x4411; done
1) cd /root/diag/output/fpga_sh
2) ./i2c_cmd -d 0 -c enable -s 2
3) ./i2c_cmd -d 1 -c enable -s 2
4) for i in `seq 0 31` ; do ./i2c_cmd -d 0 -p $i -w 0x1a00; done
5) for i in `seq 0 31` ; do ./i2c_cmd -d 1 -p $i -w 0x1a00; done
6) for i in `seq 0 31` ; do ./i2c_cmd -d 0 -p $i -r 0x03; done
7) for i in `seq 0 31` ; do ./i2c_cmd -d 1 -p $i -r 0x03; done

设置不同模式

1x400G

i2c_cmd -d 0 -p all -w 0x7f10
i2c_cmd -d 0 -p all -w 0x9150
i2c_cmd -d 0 -p all -w 0x9250
i2c_cmd -d 0 -p all -w 0x9350
i2c_cmd -d 0 -p all -w 0x9450
i2c_cmd -d 0 -p all -w 0x9550
i2c_cmd -d 0 -p all -w 0x9650
i2c_cmd -d 0 -p all -w 0x9750
i2c_cmd -d 0 -p all -w 0x9850
i2c_cmd -d 0 -p all -w 0x8fff
i2c_cmd -d 1 -p all -w 0x7f10
i2c_cmd -d 1 -p all -w 0x9150
i2c_cmd -d 1 -p all -w 0x9250
i2c_cmd -d 1 -p all -w 0x9350
i2c_cmd -d 1 -p all -w 0x9450
i2c_cmd -d 1 -p all -w 0x9550
i2c_cmd -d 1 -p all -w 0x9650
i2c_cmd -d 1 -p all -w 0x9750
i2c_cmd -d 1 -p all -w 0x9850
i2c_cmd -d 1 -p all -w 0x8fff

2x100G

i2c_cmd -d 0 -p all -w 0x7f10
i2c_cmd -d 0 -p all -w 0x91b0
i2c_cmd -d 0 -p all -w 0x92b0
i2c_cmd -d 0 -p all -w 0x93b0
i2c_cmd -d 0 -p all -w 0x94b0
i2c_cmd -d 0 -p all -w 0x95b8
i2c_cmd -d 0 -p all -w 0x96b8
i2c_cmd -d 0 -p all -w 0x97b8
i2c_cmd -d 0 -p all -w 0x98b8
i2c_cmd -d 0 -p all -w 0x8fff
i2c_cmd -d 1 -p all -w 0x7f10
i2c_cmd -d 1 -p all -w 0x91b0
i2c_cmd -d 1 -p all -w 0x92b0
i2c_cmd -d 1 -p all -w 0x93b0
i2c_cmd -d 1 -p all -w 0x94b0
i2c_cmd -d 1 -p all -w 0x95b8
i2c_cmd -d 1 -p all -w 0x96b8
i2c_cmd -d 1 -p all -w 0x97b8
i2c_cmd -d 1 -p all -w 0x98b8
i2c_cmd -d 1 -p all -w 0x8fff

ELB Stress

# SDK: v6_debug
## Normal test
python diagtest_sdk.py --port_mode 1x800 --case traffic --credo_to_TH5_ber --TH5_to_credo_ber --run_ber --debug --duration_seconds <600>  --monitor_interval <300> --ber_threshold <1e-8>
# <600> Traffic time
# <300> FDR monitor internal time <s>
# <1e-8> BER fail threshold

## Link down test
python diagtest_sdk.py --case init --port_mode 1x800 --stress_cycles <30>   # no fail to stop
python -i diagtest_sdk.py --case init --fail_to_stop --stress_cycles <100>   # fail to stop
# <30><100> Link down Stress loop 

## run sdk command in PYTHON
test.bh.run_bcm_cmd("sdk_cmd")

Online Upgrade

# specifec SW version
\\Shacomm01\shared\Design Repository\Kapok_51.2T_PoC\2.Software\tmp\for power

# cmd 
/root/diag/output/osfp_firmware_upgrade.py -S <1M> -u <image_file> -p 1   # 升级FW

osfp_firmware_upgrade.py -s -p 1    # 切换运行FW(ELB有两个Image section)

Trim

ASC TRIM

ASC0

ASC0_TRIM1 XP1R0V_FPGA1_MGTAVCC

i2cset -f -y 25 0x60 0xd0 0x00  
i2cset -f -y 21 0x60 0x31 0x800C w   
i2cset -f -y 21 0x60 0x35    
i2cset -f -y 25 0x60 0xd0 0x10  

ASC0_TRIM2 XP2R5V_FPGA1

i2cset -f -y 25 0x60 0xd0 0x00  
i2cset -f -y 21 0x60 0x31 0x800E w   
i2cset -f -y 21 0x60 0x35    
i2cset -f -y 25 0x60 0xd0 0x20  

ASC0_TRIM3 XP0R9V_TH5_TSC_PLL_2

i2cset -f -y 25 0x60 0xd0 0x00  
i2cset -f -y 21 0x60 0x31 0x8010 w   
i2cset -f -y 21 0x60 0x35    
i2cset -f -y 25 0x60 0xd0 0x40 

ASC0_TRIM4 XP0R9V_TH5_TSC_PLL_3

i2cset -f -y 25 0x60 0xd0 0x00  
i2cset -f -y 21 0x60 0x31 0x8012 w   
i2cset -f -y 21 0x60 0x35    
i2cset -f -y 25 0x60 0xd0 0x80

ASC1

ASC1_TRIM1 XP0R9V_TH5_TSC_PLL_0

i2cset -f -y 25 0x60 0xd2 0x00  
i2cset -f -y 21 0x61 0x31 0x800C w   
i2cset -f -y 21 0x61 0x35    
i2cset -f -y 25 0x60 0xd2 0x10  

ASC1_TRIM2 XP0R9V_TH5_TSC_PLL_1

i2cset -f -y 25 0x60 0xd2 0x00  
i2cset -f -y 21 0x61 0x31 0x800E w   
i2cset -f -y 21 0x61 0x35    
i2cset -f -y 25 0x60 0xd2 0x20  

ASC1_TRIM3 XP1R8V_CLK

i2cset -f -y 25 0x60 0xd2 0x00  
i2cset -f -y 21 0x61 0x31 0x8010 w   
i2cset -f -y 21 0x61 0x35    
i2cset -f -y 25 0x60 0xd2 0x40 

ASC1_TRIM4 XP3R3V_CLK

i2cset -f -y 25 0x60 0xd2 0x00  
i2cset -f -y 21 0x61 0x31 0x8012 w   
i2cset -f -y 21 0x61 0x35    
i2cset -f -y 25 0x60 0xd2 0x80

ASC2

ASC2_TRIM1 XP3R3V_SATA1

i2cset -f -y 25 0x60 0xd4 0x00  
i2cset -f -y 21 0x62 0x31 0x800C w   
i2cset -f -y 21 0x62 0x35    
i2cset -f -y 25 0x60 0xd4 0x10  

ASC2_TRIM2 XP0R8V_TH5_VDDA

i2cset -f -y 25 0x60 0xd4 0x00  
i2cset -f -y 21 0x62 0x31 0x800E w   
i2cset -f -y 21 0x62 0x35    
i2cset -f -y 25 0x60 0xd4 0x20  

ASC2_TRIM3 XP1R0V_FPGA0_MGTAVCC

i2cset -f -y 25 0x60 0xd4 0x00  
i2cset -f -y 21 0x62 0x31 0x8010 w   
i2cset -f -y 21 0x62 0x35    
i2cset -f -y 25 0x60 0xd4 0x40 

ASC2_TRIM4 XP2R5V_FPGA0

i2cset -f -y 25 0x60 0xd4 0x00  
i2cset -f -y 21 0x62 0x31 0x8012 w   
i2cset -f -y 21 0x62 0x35    
i2cset -f -y 25 0x60 0xd4 0x80

ASC3

ASC3_TRIM1 XP1R2V_TH5

i2cset -f -y 25 0x60 0xd6 0x00  
i2cset -f -y 21 0x63 0x31 0x800C w   
i2cset -f -y 21 0x63 0x35    
i2cset -f -y 25 0x60 0xd6 0x10  

ASC3_TRIM2 XP1R5V_TH5_VDDH

i2cset -f -y 25 0x60 0xd6 0x00  
i2cset -f -y 21 0x63 0x31 0x800E w   
i2cset -f -y 21 0x63 0x35    
i2cset -f -y 25 0x60 0xd6 0x20  

ASC3_TRIM3 XP1R8V_TH5

i2cset -f -y 25 0x60 0xd6 0x00  
i2cset -f -y 21 0x63 0x31 0x8010 w   
i2cset -f -y 21 0x63 0x35    
i2cset -f -y 25 0x60 0xd6 0x40 

ASC3_TRIM4 XP1R5V_TH5_ANLG

i2cset -f -y 25 0x60 0xd6 0x00  
i2cset -f -y 21 0x63 0x31 0x8012 w   
i2cset -f -y 21 0x63 0x35    
i2cset -f -y 25 0x60 0xd6 0x80

ASC4

ASC4_TRIM1 XP3R3V_FPGA0

i2cset -f -y 25 0x60 0xd8 0x00  
i2cset -f -y 21 0x64 0x31 0x800C w   
i2cset -f -y 21 0x64 0x35    
i2cset -f -y 25 0x60 0xd8 0x10  

ASC4_TRIM2 XP1R8V_FPGA0

i2cset -f -y 25 0x60 0xd8 0x00  
i2cset -f -y 21 0x64 0x31 0x800E w   
i2cset -f -y 21 0x64 0x35    
i2cset -f -y 25 0x60 0xd8 0x20  

ASC4_TRIM3 XP1R2V_FPGA0

i2cset -f -y 25 0x60 0xd8 0x00  
i2cset -f -y 21 0x64 0x31 0x8010 w   
i2cset -f -y 21 0x64 0x35    
i2cset -f -y 25 0x60 0xd8 0x40 

ASC4_TRIM4 XP1R0V_FPGA0

i2cset -f -y 25 0x60 0xd8 0x00  
i2cset -f -y 21 0x64 0x31 0x8012 w   
i2cset -f -y 21 0x64 0x35    
i2cset -f -y 25 0x60 0xd8 0x80

ASC5

ASC5_TRIM1 XP3R3V_FPGA1

i2cset -f -y 25 0x60 0xda 0x00  
i2cset -f -y 21 0x65 0x31 0x800C w   
i2cset -f -y 21 0x65 0x35    
i2cset -f -y 25 0x60 0xda 0x10  

ASC5_TRIM2 XP1R8V_FPGA1

i2cset -f -y 25 0x60 0xda 0x00  
i2cset -f -y 21 0x65 0x31 0x800E w   
i2cset -f -y 21 0x65 0x35    
i2cset -f -y 25 0x60 0xda 0x20  

ASC5_TRIM3 XP1R2V_FPGA1

i2cset -f -y 25 0x60 0xda 0x00  
i2cset -f -y 21 0x65 0x31 0x8010 w   
i2cset -f -y 21 0x65 0x35    
i2cset -f -y 25 0x60 0xda 0x40 

ASC5_TRIM4 XP1R0V_FPGA1

i2cset -f -y 25 0x60 0xda 0x00  
i2cset -f -y 21 0x65 0x31 0x8012 w   
i2cset -f -y 21 0x65 0x35    
i2cset -f -y 25 0x60 0xda 0x80

PMbus TRIM

high: 
i2cset -f -y 26 0x24 0x21 0x06ef w     # XP3R3V
i2cset -f -y 28 0x76 0x0 0
i2cset -f -y 28 0x76 0x21 0x0de2 w     # XP3R3V_RIGHT4
i2cset -f -y 28 0x76 0x0 1
i2cset -f -y 28 0x76 0x21 0x0de2 w     # XP3R3V_RIGHT2
i2cset -f -y 28 0x77 0x0 0
i2cset -f -y 28 0x77 0x21 0x0de2 w     # XP3R3V_RIGHT1
i2cset -f -y 28 0x77 0x0 1
i2cset -f -y 28 0x77 0x21 0x0de2 w     # XP3R3V_RIGHT3
i2cset -f -y 15 0x75 0x0 0
i2cset -f -y 15 0x75 0x21 0x0ded w     # XP3R3V_LEFT1
i2cset -f -y 15 0x75 0x0 1
i2cset -f -y 15 0x75 0x21 0x0ded w     # XP3R3V_LEFT3
i2cset -f -y 18 0x77 0x0 0
i2cset -f -y 18 0x77 0x21 0x03ac w     # XP0R9V_TH5_TRVDD_0
i2cset -f -y 18 0x77 0x0 1
i2cset -f -y 18 0x77 0x21 0x0311 w     # XP0R75V_TH5_TRVDD_0
i2cset -f -y 18 0x76 0x0 0
i2cset -f -y 18 0x76 0x21 0x03ac w     # XP0R9V_TH5_TRVDD_1
i2cset -f -y 18 0x76 0x0 1
i2cset -f -y 18 0x76 0x21 0x0311 w     # XP0R75V_TH5_TRVDD_1
i2cset -f -y 19 0x74 0x0 0
i2cset -f -y 19 0x74 0x21 0x0ded w     # XP3R3V_LEFT4
i2cset -f -y 19 0x74 0x0 1
i2cset -f -y 19 0x74 0x21 0x0ded w     # XP3R3V_LEFT2

Power comsumption test

### Credo Power
17 / 28w

for i in `seq 0 15`; do i2c_cmd -d 0 -p $i -w 0x441C; done
for i in `seq 0 15`; do i2c_cmd -d 1 -p $i -w 0x441C; done
for i in `seq 16 31`; do i2c_cmd -d 0 -p $i -w 0x4411; done
for i in `seq 16 31`; do i2c_cmd -d 1 -p $i -w 0x4411; done

sensors tps53688-i2c-19-74
sensors tps53688-i2c-15-75
sensors tps53688-i2c-28-76
sensors tps53688-i2c-28-77

### Traffic
cd sdk/R3216-J0025-01_V6_debug_AZ9074_SDK/

./integrator_mode -m 1-64:elb_2x400

ps


shell 
pkill az-fan-test 
echo 0 >  /sys/bus/i2c/devices/i2c-38/38-0066/fan_watchdog_enable
echo 1 > /sys/devices/sys_cpld/sys_cpld/fan_full_speed
/root/diag/az-fan-test --pwm 83
/root/diag/az-fan-test --show


exit
dsh -c "tr 518 scenario=6 profile=2 Count=320 PktSize=283 rm=ext CheckLinkTime=20 TestPhase=1"
dsh -c "tr 518 scenario=6 profile=2 Count=320 PktSize=283 rm=ext CheckLinkTime=20 TestPhase=2"


# MEM Stress
# CPU Stress
shell /root/diag/output/stressapptest -s 60000 -m 8 -i 8 -C 8 -M 6269 -l  >> ./ddrstress.log &     
shell /root/diag/az-cpu-test --test -t stress -c 8  >> ./cputest.log & 

shell top

killall stressapptest  
killall az-cpu-test  

### AVS
shell i2cget -fy 17 0x66 0x21 w

### CPU TJ

shell sensors cluster4_hsio3-virtual-0
shell sensors ccn_dpaa_tbu-virtual-0
shell sensors wriop-virtual-0
shell sensors cluster6_7-virtual-0
shell sensors cluster2_3-virtual-0
shell sensors dce_qbman_hsio2-virtual-0

### DDR temp
shell sensors ddr_cluster5-virtual-0

### TH5 Tj
show temp

### ELB temp
i2c_cmd -o inform

### Q88   RIGHT INLET   ASC5 TMON2
shell sensors asc10-i2c-21-65

### TH5 power
# vddcore
shell sensors xdpe1a2g5-i2c-17-66
# 0R75V 0R9V
shell sensors tps53688-i2c-18-77
shell sensors tps53688-i2c-18-76

### CPU power
shell sensors tps53647-i2c-13-71 

### Fan temp
TC measure
### Total power

R0B bringup test

TH5_BOOT_RST_L

i2cset -fy 25 0x60 0x28 0x4
i2cset -fy 25 0x60 0x4 0xfb
i2cset -fy 25 0x60 0x4 0xff

run /devices

cd /run/devmap/

REG

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
⚠️ **GitHub.com Fallback** ⚠️