[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