Skip to content

[Platform] Update switch config files for Ingrasys platforms. #1474

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 8, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/psuutil.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#


import os.path

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"""

PSU_CPLD_DIR = "/sys/bus/i2c/devices/0-0033"

def __init__(self):
PsuBase.__init__(self)


# Get sysfs attribute
def get_attr_value(self, attr_path):

retval = 'ERR'
if (not os.path.isfile(attr_path)):
return retval

try:
with open(attr_path, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", attr_path, " file !")

retval = retval.rstrip('\r\n')
return retval

def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
MAX_PSUS = 2
return MAX_PSUS

def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
mask = [ 0x08, 0x10 ]
attr_file = 'cpld_pw_good'
attr_path = self.PSU_CPLD_DIR +'/'+ attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# Check for PSU status
if (attr_value & mask[index-1]):
status = 1

return status

def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
mask = [ 0x01, 0x02 ]
attr_file ='cpld_pw_abs'
attr_path = self.PSU_CPLD_DIR +'/'+ attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# Check for PSU presence
if (~attr_value & mask[index-1]):
status = 1

return status

92 changes: 92 additions & 0 deletions device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/psuutil.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#


import os.path

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"""

PSU_CPLD_DIR = "/sys/bus/i2c/devices/0-0033"

def __init__(self):
PsuBase.__init__(self)


# Get sysfs attribute
def get_attr_value(self, attr_path):

retval = 'ERR'
if (not os.path.isfile(attr_path)):
return retval

try:
with open(attr_path, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", attr_path, " file !")

retval = retval.rstrip('\r\n')
return retval

def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
MAX_PSUS = 2
return MAX_PSUS

def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
mask = [ 0x04, 0x08 ]
attr_file = 'cpld_pw_good'
attr_path = self.PSU_CPLD_DIR +'/'+ attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# Check for PSU status
if (attr_value & mask[index-1]):
status = 1

return status

def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
mask = [ 0x01, 0x02 ]
attr_file ='cpld_pw_abs'
attr_path = self.PSU_CPLD_DIR +'/'+ attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# Check for PSU presence
if (~attr_value & mask[index-1]):
status = 1

return status

Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@
class board(eeprom_tlvinfo.TlvInfoDecoder):

def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0055/eeprom"
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0051/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ class board(eeprom_tlvinfo.TlvInfoDecoder):

def __init__(self, name, path, cpld_root, ro):
i2c_bus = "0"
i2c_addr = "0055"
i2c_addr = "0051"
self.eeprom_path = "/sys/class/i2c-adapter/i2c-" + i2c_bus + "/" + i2c_bus + "-" + i2c_addr + "/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
2 changes: 2 additions & 0 deletions device/ingrasys/x86_64-ingrasys_s9200_64x-r0/sensors.conf
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ chip "w83795adg-*"
ignore temp2
ignore temp3
ignore temp4
ignore temp5
ignore temp6
ignore intrusion0

chip "tmp75-i2c-*-4A"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@
class board(eeprom_tlvinfo.TlvInfoDecoder):

def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0055/eeprom"
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0051/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
11 changes: 2 additions & 9 deletions device/ingrasys/x86_64-ingrasys_s9230_64x-r0/sensors.conf
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,12 @@ chip "w83795adg-*"
ignore in18
ignore in19
label fan1 "FANTRAY 1"
#label fan2 "FANTRAY 1-B"
ignore fan2
label fan3 "FANTRAY 2"
#label fan4 "FANTRAY 2-B"
ignore fan4
label fan5 "FANTRAY 3"
#label fan6 "FANTRAY 3-B"
ignore fan6
label fan7 "FANTRAY 4"
#label fan8 "FANTRAY 4-B"
ignore fan8
ignore temp1
ignore temp2
Expand All @@ -55,15 +51,14 @@ chip "w83795adg-*"
ignore temp6
ignore intrusion0

# TODO: need to confirm the critial temp value with HW after board ready
chip "tmp75-i2c-*-4A"
label temp1 "BMC board Temp"
label temp1 "BMC Board Temp"
set temp1_max 50
set temp1_max_hyst 45

bus "i2c-0" "SMBus I801 adapter at f000"
chip "tmp75-i2c-*-4F"
label temp1 "x86 CPU board Temp"
label temp1 "x86 CPU Board Temp"
set temp1_max 50
set temp1_max_hyst 45

Expand All @@ -86,5 +81,3 @@ chip "lm75-i2c-7-4E"
label temp1 "Front MAC Temp"
set temp1_max 50
set temp1_max_hyst 45