sonic-buildimage/platform/centec/sonic-platform-modules-v682/48x8c/service/release.py

38 lines
1.1 KiB
Python
Raw Normal View History

#!/usr/bin/env python
import os
import time
def release_board():
if open('/proc/cmdline', 'r').readlines()[0].find('SONIC_BOOT_TYPE=warm') != -1:
return
os.system('i2cset -y 0 0x37 0x4 0x0')
time.sleep(1)
os.system('i2cset -y 0 0x37 0x4 0x1')
time.sleep(1)
os.system('echo 1 > /sys/bus/pci/devices/0000\:00\:1c.0/remove')
time.sleep(1)
os.system('echo 1 > /sys/bus/pci/rescan')
time.sleep(1)
# EPLD_QSFP_RST
os.system('i2cset -y 0 0x36 0x5 0xff')
os.system('i2cset -y 0 0x37 0x5 0xff')
# EPLD_QSFP_INT_MASK
os.system('i2cset -y 0 0x36 0xd 0xff')
os.system('i2cset -y 0 0x37 0xd 0xff')
# EPLD_PPU_INT_MASK
os.system('i2cset -y 0 0x36 0xb 0x00')
# EPLD_SFP_DISABLE1
os.system('i2cset -y 0 0x36 0xe 0x00')
os.system('i2cset -y 0 0x37 0xe 0x00')
# EPLD_SFP_DISABLE2
os.system('i2cset -y 0 0x36 0xf 0x00')
os.system('i2cset -y 0 0x37 0xf 0x00')
# EPLD_SFP_DISABLE3
os.system('i2cset -y 0 0x36 0x10 0x00')
os.system('i2cset -y 0 0x37 0x10 0x00')
if __name__ == '__main__':
release_board()