Skip to content

Commit

Permalink
[platform]: Add plugins for ingrasys (#486)
Browse files Browse the repository at this point in the history
* Adding two utilities: eeprom.py and sfputil.py
  • Loading branch information
kaiyu22 authored and jleveque committed Apr 10, 2017
1 parent fcc9c84 commit 24bad71
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
22 changes: 22 additions & 0 deletions device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/eeprom.py
Original file line number Diff line number Diff line change
@@ -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 changes: 60 additions & 0 deletions device/ingrasys/x86_64-ingrasys_s9100-r0/plugins/sfputil.py
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 24bad71

Please sign in to comment.