sonic-buildimage/device/ragile/x86_64-ragile_ra-b6510-32c-r0/plugins/psuutil.py
pettershao-ragilenetworks 0e0772596e
[ragile] support 32c and 4s platform (#8824)
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
2021-11-17 23:49:06 -08:00

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