[Marvel] Marvell's updates for SAI v1.0 (#1410)
This commit is contained in:
parent
98bfaf27e3
commit
3ed2cd6163
55
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/port_config.ini
Executable file
55
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/port_config.ini
Executable file
@ -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
|
166
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/qos.json
Executable file
166
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/qos.json
Executable file
@ -0,0 +1,166 @@
|
||||
{
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"3": "3",
|
||||
"4": "4"
|
||||
}
|
||||
},
|
||||
"MAP_PFC_PRIORITY_TO_QUEUE": {
|
||||
"AZURE": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"3": "3",
|
||||
"4": "4"
|
||||
}
|
||||
},
|
||||
"TC_TO_QUEUE_MAP": {
|
||||
"AZURE": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"3": "3",
|
||||
"4": "4"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"5":"0",
|
||||
"6":"0",
|
||||
"7":"0",
|
||||
"8":"1",
|
||||
"9":"0",
|
||||
"10":"0",
|
||||
"11":"0",
|
||||
"12":"0",
|
||||
"13":"0",
|
||||
"14":"0",
|
||||
"15":"0",
|
||||
"16":"0",
|
||||
"17":"0",
|
||||
"18":"0",
|
||||
"19":"0",
|
||||
"20":"0",
|
||||
"21":"0",
|
||||
"22":"0",
|
||||
"23":"0",
|
||||
"24":"0",
|
||||
"25":"0",
|
||||
"26":"0",
|
||||
"27":"0",
|
||||
"28":"0",
|
||||
"29":"0",
|
||||
"30":"0",
|
||||
"31":"0",
|
||||
"32":"0",
|
||||
"33":"0",
|
||||
"34":"0",
|
||||
"35":"0",
|
||||
"36":"0",
|
||||
"37":"0",
|
||||
"38":"0",
|
||||
"39":"0",
|
||||
"40":"0",
|
||||
"41":"0",
|
||||
"42":"0",
|
||||
"43":"0",
|
||||
"44":"0",
|
||||
"45":"0",
|
||||
"46":"0",
|
||||
"47":"0",
|
||||
"48":"0",
|
||||
"49":"0",
|
||||
"50":"0",
|
||||
"51":"0",
|
||||
"52":"0",
|
||||
"53":"0",
|
||||
"54":"0",
|
||||
"55":"0",
|
||||
"56":"0",
|
||||
"57":"0",
|
||||
"58":"0",
|
||||
"59":"0",
|
||||
"60":"0",
|
||||
"61":"0",
|
||||
"62":"0",
|
||||
"63":"0"
|
||||
}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.0": {
|
||||
"type":"DWRR",
|
||||
"weight": "25"
|
||||
},
|
||||
"scheduler.1": {
|
||||
"type":"DWRR",
|
||||
"weight": "30"
|
||||
},
|
||||
"scheduler.2": {
|
||||
"type":"DWRR",
|
||||
"weight": "20"
|
||||
}
|
||||
},
|
||||
"PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"3": "3",
|
||||
"4": "4"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124": {
|
||||
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
|
||||
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
|
||||
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
|
||||
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
|
||||
"pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]",
|
||||
"pfc_enable": "3,4"
|
||||
}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSY": {
|
||||
"wred_green_enable":"true",
|
||||
"wred_yellow_enable":"true",
|
||||
"ecn":"ecn_all",
|
||||
"red_max_threshold":"516096",
|
||||
"red_min_threshold":"516096",
|
||||
"yellow_max_threshold":"516096",
|
||||
"yellow_min_threshold":"516096",
|
||||
"green_max_threshold": "184320",
|
||||
"green_min_threshold": "184320"
|
||||
},
|
||||
"AZURE_LOSSLESS": {
|
||||
"wred_green_enable":"true",
|
||||
"wred_yellow_enable":"true",
|
||||
"ecn":"ecn_all",
|
||||
"red_max_threshold":"516096",
|
||||
"red_min_threshold":"516096",
|
||||
"yellow_max_threshold":"516096",
|
||||
"yellow_min_threshold":"516096",
|
||||
"green_max_threshold": "184320",
|
||||
"green_min_threshold": "184320"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.1]"
|
||||
},
|
||||
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|1": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.2]"
|
||||
},
|
||||
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0-1": {
|
||||
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
|
||||
},
|
||||
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|3-4": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.0]",
|
||||
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/sai.profile
Executable file
2
device/accton/x86_64-accton_as7212_54x-r0/AS7212-54x/sai.profile
Executable file
@ -0,0 +1,2 @@
|
||||
mode=1
|
||||
hwId=as7212-54x
|
3
device/accton/x86_64-accton_as7212_54x-r0/installer.conf
Executable file
3
device/accton/x86_64-accton_as7212_54x-r0/installer.conf
Executable file
@ -0,0 +1,3 @@
|
||||
CONSOLE_PORT=0x2f8
|
||||
CONSOLE_DEV=1
|
||||
CONSOLE_SPEED=115200
|
1074
device/accton/x86_64-accton_as7212_54x-r0/minigraph.xml
Executable file
1074
device/accton/x86_64-accton_as7212_54x-r0/minigraph.xml
Executable file
File diff suppressed because it is too large
Load Diff
24
device/accton/x86_64-accton_as7212_54x-r0/plugins/eeprom.py
Executable file
24
device/accton/x86_64-accton_as7212_54x-r0/plugins/eeprom.py
Executable file
@ -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)
|
60
device/accton/x86_64-accton_as7212_54x-r0/plugins/sfputil.py
Executable file
60
device/accton/x86_64-accton_as7212_54x-r0/plugins/sfputil.py
Executable 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 = {
|
||||
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)
|
55
device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/port_config.ini
Executable file
55
device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/port_config.ini
Executable file
@ -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
|
2
device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/sai.profile
Executable file
2
device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/sai.profile
Executable file
@ -0,0 +1,2 @@
|
||||
mode=1
|
||||
hwId=slm5401-54x
|
3
device/marvell/x86_64-marvell_slm5401_54x-r0/installer.conf
Executable file
3
device/marvell/x86_64-marvell_slm5401_54x-r0/installer.conf
Executable file
@ -0,0 +1,3 @@
|
||||
CONSOLE_PORT=0x2f8
|
||||
CONSOLE_DEV=1
|
||||
CONSOLE_SPEED=115200
|
1074
device/marvell/x86_64-marvell_slm5401_54x-r0/minigraph.xml
Executable file
1074
device/marvell/x86_64-marvell_slm5401_54x-r0/minigraph.xml
Executable file
File diff suppressed because it is too large
Load Diff
24
device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/eeprom.py
Executable file
24
device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/eeprom.py
Executable file
@ -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)
|
60
device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/sfputil.py
Executable file
60
device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/sfputil.py
Executable 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 = {
|
||||
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)
|
@ -12,7 +12,7 @@ SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||
$(DOCKER_SYNCD_MRVL_RPC)
|
||||
|
||||
# Inject mrvl sai into sairedis
|
||||
$(LIBSAIREDIS)_DEPENDS += $(MRVL_FPA) $(MRVL_SAI) $(LIBSAITHRIFT_DEV_MRVL)
|
||||
$(LIBSAIREDIS)_DEPENDS += $(MRVL_FPA) $(MRVL_SAI) #$(LIBSAITHRIFT_DEV_MRVL)
|
||||
|
||||
# Runtime dependency on mrvl sai is set only for syncd
|
||||
$(SYNCD)_RDEPENDS += $(MRVL_SAI)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Marvell SAI
|
||||
|
||||
export MRVL_SAI_VERSION = 1.0.1
|
||||
export MRVL_SAI_TAG = SONiC.201705
|
||||
export MRVL_SAI_TAG = SONiC.201712
|
||||
export MRVL_SAI = mrvllibsai_$(MRVL_SAI_VERSION).deb
|
||||
|
||||
$(MRVL_SAI)_SRC_PATH = $(PLATFORM_PATH)/sai
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Marvell FPA
|
||||
|
||||
export MRVL_FPA_VERSION = 1.0.1
|
||||
export MRVL_FPA_TAG = SONiC.201705
|
||||
export MRVL_FPA_TAG = SONiC.201712
|
||||
export MRVL_FPA = mrvllibfpa_$(MRVL_FPA_VERSION).deb
|
||||
|
||||
$(MRVL_FPA)_SRC_PATH = $(PLATFORM_PATH)/sdk
|
||||
|
Loading…
Reference in New Issue
Block a user