0e0772596e
Signed-off-by: pettershao-ragilenetworks pettershao@ragilenetworks.com What I did it Add new platform x86_64-ragile_ra-b6510-32c-r0 (Trident 3) ASIC Vendor: Broadcom Switch ASIC: Trident 3 Port Config: 32x100G Add new platform x86_64-ragile_ra-b6920-4s-r0 (Tomahawk 3) ASIC Vendor: Broadcom Switch ASIC: Tomahawk 3 Port Config: 128x100G -How I did it Provide device and platform related files. -How to verify it show platform fan show platform ssdhealth show platform psustatus show platform summary show platform syseeprom show platform temperature show interface status
64 lines
1.3 KiB
Python
64 lines
1.3 KiB
Python
#
|
|
# psuutil.py
|
|
# Platform-specific PSU status interface for SONiC
|
|
#
|
|
|
|
try:
|
|
from sonic_psu.psu_base import PsuBase
|
|
except ImportError as e:
|
|
raise ImportError(str(e) + "- required module not found")
|
|
|
|
|
|
class PsuUtil(PsuBase):
|
|
"""Platform-specific PSUutil class"""
|
|
|
|
def __init__(self):
|
|
PsuBase.__init__(self)
|
|
|
|
def get_num_psus(self):
|
|
return 2
|
|
|
|
def get_psu_status(self, index):
|
|
if index != 1 and index != 2:
|
|
return False
|
|
|
|
psu_path = "/sys/bus/i2c/devices/6-000d/psu_status"
|
|
|
|
try:
|
|
data = open(psu_path, "rb")
|
|
except IOError:
|
|
return False
|
|
|
|
result = int(data.read(2), 16)
|
|
data.close()
|
|
|
|
if index == 1 and (result & 0x2):
|
|
return True
|
|
|
|
if index == 2 and (result & 0x20):
|
|
return True
|
|
|
|
return False
|
|
|
|
def get_psu_presence(self, index):
|
|
if index != 1 and index != 2:
|
|
return False
|
|
|
|
psu_path = "/sys/bus/i2c/devices/6-000d/psu_status"
|
|
|
|
try:
|
|
data = open(psu_path, "rb")
|
|
except IOError:
|
|
return False
|
|
|
|
result = int(data.read(2), 16)
|
|
data.close()
|
|
|
|
if index == 1 and (result & 0x1) == 0:
|
|
return True
|
|
|
|
if index == 2 and (result & 0x10) == 0:
|
|
return True
|
|
|
|
return False
|