[platform]: Add plugins for ingrasys (#486)
* Adding two utilities: eeprom.py and sfputil.py
This commit is contained in:
parent
fcc9c84aa6
commit
24bad71a60
22
device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/eeprom.py
Normal file
22
device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/eeprom.py
Normal file
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#############################################################################
|
||||
# Ingrasys S9100
|
||||
#
|
||||
# Platform and model specific eeprom subclass, inherits from the base class,
|
||||
# and provides the followings:
|
||||
# - the eeprom format definition
|
||||
# - specific encoder/decoder if there is special need
|
||||
#############################################################################
|
||||
|
||||
try:
|
||||
from sonic_eeprom import eeprom_tlvinfo
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
|
||||
class board(eeprom_tlvinfo.TlvInfoDecoder):
|
||||
|
||||
def __init__(self, name, path, cpld_root, ro):
|
||||
self.eeprom_path = "/sys/class/i2c-adapter/i2c-9/9-0054/eeprom"
|
||||
super(board, self).__init__(self.eeprom_path, 0, '', True)
|
60
device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/sfputil.py
Normal file
60
device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/sfputil.py
Normal file
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
try:
|
||||
from sonic_sfp.sfputilbase import sfputilbase
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
|
||||
class sfputil(sfputilbase):
|
||||
"""Platform specific sfputil class"""
|
||||
|
||||
port_start = 0
|
||||
port_end = 31
|
||||
ports_in_block = 32
|
||||
|
||||
port_to_eeprom_mapping = {}
|
||||
port_to_i2c_mapping = {
|
||||
0: 11,
|
||||
1: 10,
|
||||
2: 13,
|
||||
3: 12,
|
||||
4: 15,
|
||||
5: 14,
|
||||
6: 17,
|
||||
7: 16,
|
||||
8: 19,
|
||||
9: 18,
|
||||
10: 21,
|
||||
11: 20,
|
||||
12: 23,
|
||||
13: 22,
|
||||
14: 25,
|
||||
15: 24,
|
||||
16: 27,
|
||||
17: 26,
|
||||
18: 29,
|
||||
19: 28,
|
||||
20: 31,
|
||||
21: 30,
|
||||
22: 33,
|
||||
23: 32,
|
||||
24: 35,
|
||||
25: 34,
|
||||
26: 37,
|
||||
27: 36,
|
||||
28: 39,
|
||||
29: 38,
|
||||
30: 41,
|
||||
31: 40
|
||||
}
|
||||
|
||||
_qsfp_ports = range(0, ports_in_block + 1)
|
||||
|
||||
def __init__(self, port_num):
|
||||
# Override port_to_eeprom_mapping for class initialization
|
||||
eeprom_path = '/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom'
|
||||
for x in range(self.port_start, self.port_end + 1):
|
||||
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
|
||||
self.port_to_eeprom_mapping[x] = port_eeprom_path
|
||||
sfputilbase.__init__(self, port_num)
|
Reference in New Issue
Block a user