[Marvell]: Add support for SLM5401-54x device (#1307)
* Marvell's updates for SONiC.201712 & SAI v1.0 * [Platform] Add Marvell's SLM5401-54x for branch 201712
This commit is contained in:
parent
ce3690fc3b
commit
9a66152d4c
@ -0,0 +1,55 @@
|
||||
# name lanes
|
||||
Ethernet0 0
|
||||
Ethernet1 1
|
||||
Ethernet2 2
|
||||
Ethernet3 3
|
||||
Ethernet4 4
|
||||
Ethernet5 5
|
||||
Ethernet6 6
|
||||
Ethernet7 7
|
||||
Ethernet8 8
|
||||
Ethernet9 9
|
||||
Ethernet10 10
|
||||
Ethernet11 11
|
||||
Ethernet12 12
|
||||
Ethernet13 13
|
||||
Ethernet14 14
|
||||
Ethernet15 15
|
||||
Ethernet16 16
|
||||
Ethernet17 17
|
||||
Ethernet18 18
|
||||
Ethernet19 19
|
||||
Ethernet20 20
|
||||
Ethernet21 21
|
||||
Ethernet22 22
|
||||
Ethernet23 23
|
||||
Ethernet24 24
|
||||
Ethernet25 25
|
||||
Ethernet26 26
|
||||
Ethernet27 27
|
||||
Ethernet28 28
|
||||
Ethernet29 29
|
||||
Ethernet30 30
|
||||
Ethernet31 31
|
||||
Ethernet32 32
|
||||
Ethernet33 33
|
||||
Ethernet34 34
|
||||
Ethernet35 35
|
||||
Ethernet36 36
|
||||
Ethernet37 37
|
||||
Ethernet38 38
|
||||
Ethernet39 39
|
||||
Ethernet40 40
|
||||
Ethernet41 41
|
||||
Ethernet42 42
|
||||
Ethernet43 43
|
||||
Ethernet44 44
|
||||
Ethernet45 45
|
||||
Ethernet46 46
|
||||
Ethernet47 47
|
||||
Ethernet48 48
|
||||
Ethernet49 49
|
||||
Ethernet50 50
|
||||
Ethernet51 51
|
||||
Ethernet52 52
|
||||
Ethernet53 53
|
@ -0,0 +1,2 @@
|
||||
mode=1
|
||||
hwId=slm5401-54x
|
@ -0,0 +1,3 @@
|
||||
CONSOLE_PORT=0x2f8
|
||||
CONSOLE_DEV=1
|
||||
CONSOLE_SPEED=115200
|
1074
device/marvell/x86_64-marvell_slm5401_54x-r0/minigraph.xml
Normal file
1074
device/marvell/x86_64-marvell_slm5401_54x-r0/minigraph.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
try:
|
||||
import exceptions
|
||||
import binascii
|
||||
import time
|
||||
import optparse
|
||||
import warnings
|
||||
import os
|
||||
import sys
|
||||
from sonic_eeprom import eeprom_base
|
||||
from sonic_eeprom import eeprom_tlvinfo
|
||||
import subprocess
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
class board(eeprom_tlvinfo.TlvInfoDecoder):
|
||||
_TLV_INFO_MAX_LEN = 256
|
||||
def __init__(self, name, path, cpld_root, ro):
|
||||
self.eeprom_path = "/sys/bus/i2c/devices/1-0057/eeprom"
|
||||
#Two i2c buses might get flipped order, check them both.
|
||||
if not os.path.exists(self.eeprom_path):
|
||||
self.eeprom_path = "/sys/bus/i2c/devices/0-0057/eeprom"
|
||||
super(board, self).__init__(self.eeprom_path, 0, '', True)
|
@ -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 = {
|
||||
9 : 18,
|
||||
10 : 19,
|
||||
11 : 20,
|
||||
12 : 21,
|
||||
1 : 22,
|
||||
2 : 23,
|
||||
3 : 24,
|
||||
4 : 25,
|
||||
6 : 26,
|
||||
5 : 27,
|
||||
8 : 28,
|
||||
7 : 29,
|
||||
13 : 30,
|
||||
14 : 31,
|
||||
15 : 32,
|
||||
16 : 33,
|
||||
17 : 34,
|
||||
18 : 35,
|
||||
19 : 36,
|
||||
20 : 37,
|
||||
25 : 38,
|
||||
26 : 39,
|
||||
27 : 40,
|
||||
28 : 41,
|
||||
29 : 42,
|
||||
30 : 43,
|
||||
31 : 44,
|
||||
32 : 45,
|
||||
21 : 46,
|
||||
22 : 47,
|
||||
23 : 48,
|
||||
24 : 49,
|
||||
}
|
||||
|
||||
_qsfp_ports = range(0, ports_in_block + 1)
|
||||
|
||||
def __init__(self, port_num):
|
||||
# Override port_to_eeprom_mapping for class initialization
|
||||
eeprom_path = '/sys/bus/i2c/devices/{0}-0050/sfp_eeprom'
|
||||
for x in range(self.port_start, self.port_end + 1):
|
||||
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x+1])
|
||||
self.port_to_eeprom_mapping[x] = port_eeprom_path
|
||||
sfputilbase.__init__(self, port_num)
|
Loading…
Reference in New Issue
Block a user