New model as7312 54x (#1339)
* Update sonic-platform-modules-accton to lastest Signed-off-by: roylee123 <roy_lee@accton.com> * Install sonic-platform-common package in platform-monitor docker for ledd (#1330) * Install sonic-platform-common package in platform-monitor docker for ledd * Specify Python wheel dependencies in docker-platform-monitor.mk; Remove explicit specifications from Dockerfile.j2 * [7312_54x] Add plug-in files. Signed-off-by: roylee123 <roy_lee@accton.com> * [as7312-54x] Update i2c related drivers after tested on R0B model. Signed-off-by: roylee123 <roy_lee@accton.com> * Add as7312-54x driver package. Signed-off-by: roylee123 <roy_lee@accton.com> * [as7312-54x] Add index to port_config.ini for mmaping port with single lane. Validate sfputil.py and mark unsupported for lp mode. Signed-off-by: roylee123 <roy_lee@accton.com> * [as7312-54x] Change for R01 HW board. Signed-off-by: roylee123 <roy_lee@accton.com> * [as7312-54x] recovered for the lint corrected not suitable for python. Signed-off-by: roylee123 <roy_lee@accton.com> * Remove debug printing. Signed-off-by: roylee123 <roy_lee@accton.com> * [platform] as7312-32x, update for util.py recovered. Signed-off-by: roylee123 <roy_lee@accton.com> * [platform] Accton: merged the commit by Polly Hsu. Change platform modules to depend on 3.16.0-5-amdn64 kernel. Signed-off-by: roylee123 <roy_lee@accton.com> * [Device] As7312-54x, update for correct I2C addresses for sfp and psu. Signed-off-by: roy_lee <roy_lee@accton.com> * [Platform] as7312-54x, pushed submodule to new i2c drivers and script. Signed-off-by: roy_lee <roy_lee@accton.com> * resolved PR New model as7312 54x #1339 merge conflicts on sfputil.py. Signed-off-by: roy_lee <roy_lee@accton.com>
This commit is contained in:
parent
f6deaa22f7
commit
5576c11c12
@ -1,55 +1,55 @@
|
|||||||
# name lanes alias
|
# name lanes alias index
|
||||||
Ethernet0 41 twentyfiveGigE1
|
Ethernet0 41 twentyfiveGigE1 0
|
||||||
Ethernet1 42 twentyfiveGigE2
|
Ethernet1 42 twentyfiveGigE2 1
|
||||||
Ethernet2 43 twentyfiveGigE3
|
Ethernet2 43 twentyfiveGigE3 2
|
||||||
Ethernet3 44 twentyfiveGigE4
|
Ethernet3 44 twentyfiveGigE4 3
|
||||||
Ethernet4 49 twentyfiveGigE5
|
Ethernet4 49 twentyfiveGigE5 4
|
||||||
Ethernet5 50 twentyfiveGigE6
|
Ethernet5 50 twentyfiveGigE6 5
|
||||||
Ethernet6 51 twentyfiveGigE7
|
Ethernet6 51 twentyfiveGigE7 6
|
||||||
Ethernet7 52 twentyfiveGigE8
|
Ethernet7 52 twentyfiveGigE8 7
|
||||||
Ethernet8 53 twentyfiveGigE9
|
Ethernet8 53 twentyfiveGigE9 8
|
||||||
Ethernet9 54 twentyfiveGigE10
|
Ethernet9 54 twentyfiveGigE10 9
|
||||||
Ethernet10 55 twentyfiveGigE11
|
Ethernet10 55 twentyfiveGigE11 10
|
||||||
Ethernet11 56 twentyfiveGigE12
|
Ethernet11 56 twentyfiveGigE12 11
|
||||||
Ethernet12 65 twentyfiveGigE13
|
Ethernet12 65 twentyfiveGigE13 12
|
||||||
Ethernet13 66 twentyfiveGigE14
|
Ethernet13 66 twentyfiveGigE14 13
|
||||||
Ethernet14 67 twentyfiveGigE15
|
Ethernet14 67 twentyfiveGigE15 14
|
||||||
Ethernet15 68 twentyfiveGigE16
|
Ethernet15 68 twentyfiveGigE16 15
|
||||||
Ethernet16 33 twentyfiveGigE17
|
Ethernet16 33 twentyfiveGigE17 16
|
||||||
Ethernet17 34 twentyfiveGigE18
|
Ethernet17 34 twentyfiveGigE18 17
|
||||||
Ethernet18 35 twentyfiveGigE19
|
Ethernet18 35 twentyfiveGigE19 18
|
||||||
Ethernet19 36 twentyfiveGigE20
|
Ethernet19 36 twentyfiveGigE20 19
|
||||||
Ethernet20 37 twentyfiveGigE21
|
Ethernet20 37 twentyfiveGigE21 20
|
||||||
Ethernet21 38 twentyfiveGigE22
|
Ethernet21 38 twentyfiveGigE22 21
|
||||||
Ethernet22 39 twentyfiveGigE23
|
Ethernet22 39 twentyfiveGigE23 22
|
||||||
Ethernet23 40 twentyfiveGigE24
|
Ethernet23 40 twentyfiveGigE24 23
|
||||||
Ethernet24 69 twentyfiveGigE25
|
Ethernet24 69 twentyfiveGigE25 24
|
||||||
Ethernet25 70 twentyfiveGigE26
|
Ethernet25 70 twentyfiveGigE26 25
|
||||||
Ethernet26 71 twentyfiveGigE27
|
Ethernet26 71 twentyfiveGigE27 26
|
||||||
Ethernet27 72 twentyfiveGigE28
|
Ethernet27 72 twentyfiveGigE28 27
|
||||||
Ethernet28 81 twentyfiveGigE29
|
Ethernet28 81 twentyfiveGigE29 28
|
||||||
Ethernet29 82 twentyfiveGigE30
|
Ethernet29 82 twentyfiveGigE30 29
|
||||||
Ethernet30 83 twentyfiveGigE31
|
Ethernet30 83 twentyfiveGigE31 30
|
||||||
Ethernet31 84 twentyfiveGigE32
|
Ethernet31 84 twentyfiveGigE32 31
|
||||||
Ethernet32 85 twentyfiveGigE33
|
Ethernet32 85 twentyfiveGigE33 32
|
||||||
Ethernet33 86 twentyfiveGigE34
|
Ethernet33 86 twentyfiveGigE34 33
|
||||||
Ethernet34 87 twentyfiveGigE35
|
Ethernet34 87 twentyfiveGigE35 34
|
||||||
Ethernet35 88 twentyfiveGigE36
|
Ethernet35 88 twentyfiveGigE36 35
|
||||||
Ethernet36 97 twentyfiveGigE37
|
Ethernet36 97 twentyfiveGigE37 36
|
||||||
Ethernet37 98 twentyfiveGigE38
|
Ethernet37 98 twentyfiveGigE38 37
|
||||||
Ethernet38 99 twentyfiveGigE39
|
Ethernet38 99 twentyfiveGigE39 38
|
||||||
Ethernet39 100 twentyfiveGigE40
|
Ethernet39 100 twentyfiveGigE40 39
|
||||||
Ethernet40 101 twentyfiveGigE41
|
Ethernet40 101 twentyfiveGigE41 40
|
||||||
Ethernet41 102 twentyfiveGigE42
|
Ethernet41 102 twentyfiveGigE42 41
|
||||||
Ethernet42 103 twentyfiveGigE43
|
Ethernet42 103 twentyfiveGigE43 42
|
||||||
Ethernet43 104 twentyfiveGigE44
|
Ethernet43 104 twentyfiveGigE44 43
|
||||||
Ethernet44 105 twentyfiveGigE45
|
Ethernet44 105 twentyfiveGigE45 44
|
||||||
Ethernet45 106 twentyfiveGigE46
|
Ethernet45 106 twentyfiveGigE46 45
|
||||||
Ethernet46 107 twentyfiveGigE47
|
Ethernet46 107 twentyfiveGigE47 46
|
||||||
Ethernet47 108 twentyfiveGigE48
|
Ethernet47 108 twentyfiveGigE48 47
|
||||||
Ethernet48 5,6,7,8 hundredGigE49
|
Ethernet48 5,6,7,8 hundredGigE49 48
|
||||||
Ethernet52 1,2,3,4 hundredGigE50
|
Ethernet52 1,2,3,4 hundredGigE50 52
|
||||||
Ethernet56 109,110,111,112 hundredGigE51
|
Ethernet56 109,110,111,112 hundredGigE51 56
|
||||||
Ethernet60 21,22,23,24 hundredGigE52
|
Ethernet60 21,22,23,24 hundredGigE52 60
|
||||||
Ethernet64 9,10,11,12 hundredGigE53
|
Ethernet64 9,10,11,12 hundredGigE53 64
|
||||||
Ethernet68 117,118,119,120 hundredGigE54
|
Ethernet68 117,118,119,120 hundredGigE54 68
|
||||||
|
24
device/accton/x86_64-accton_as7312_54x-r0/plugins/eeprom.py
Normal file
24
device/accton/x86_64-accton_as7312_54x-r0/plugins/eeprom.py
Normal 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)
|
61
device/accton/x86_64-accton_as7312_54x-r0/plugins/psuutil.py
Normal file
61
device/accton/x86_64-accton_as7312_54x-r0/plugins/psuutil.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Accton
|
||||||
|
#
|
||||||
|
# Module contains an implementation of SONiC PSU Base API and
|
||||||
|
# provides the PSUs status which are available in the platform
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
try:
|
||||||
|
from sonic_psu.psu_base import PsuBase
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError (str(e) + "- required module not found")
|
||||||
|
|
||||||
|
class PsuUtil(PsuBase):
|
||||||
|
"""Platform-specific PSUutil class"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
PsuBase.__init__(self)
|
||||||
|
|
||||||
|
self.psu_path = "/sys/bus/i2c/devices/"
|
||||||
|
self.psu_presence = "/psu_present"
|
||||||
|
self.psu_oper_status = "/psu_power_good"
|
||||||
|
self.psu_mapping = {
|
||||||
|
2: "11-0053",
|
||||||
|
1: "10-0050",
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_num_psus(self):
|
||||||
|
return len(self.psu_mapping)
|
||||||
|
|
||||||
|
def get_psu_status(self, index):
|
||||||
|
if index is None:
|
||||||
|
return False
|
||||||
|
|
||||||
|
status = 0
|
||||||
|
node = self.psu_path + self.psu_mapping[index]+self.psu_oper_status
|
||||||
|
try:
|
||||||
|
with open(node, 'r') as power_status:
|
||||||
|
status = int(power_status.read())
|
||||||
|
except IOError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return status == 1
|
||||||
|
|
||||||
|
def get_psu_presence(self, index):
|
||||||
|
if index is None:
|
||||||
|
return False
|
||||||
|
|
||||||
|
status = 0
|
||||||
|
node = self.psu_path + self.psu_mapping[index] + self.psu_presence
|
||||||
|
try:
|
||||||
|
with open(node, 'r') as presence_status:
|
||||||
|
status = int(presence_status.read())
|
||||||
|
except IOError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return status == 1
|
202
device/accton/x86_64-accton_as7312_54x-r0/plugins/sfputil.py
Normal file
202
device/accton/x86_64-accton_as7312_54x-r0/plugins/sfputil.py
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
# sfputil.py
|
||||||
|
#
|
||||||
|
# Platform-specific SFP transceiver interface for SONiC
|
||||||
|
#
|
||||||
|
|
||||||
|
try:
|
||||||
|
import time
|
||||||
|
from sonic_sfp.sfputilbase import SfpUtilBase
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError("%s - required module not found" % str(e))
|
||||||
|
|
||||||
|
|
||||||
|
class SfpUtil(SfpUtilBase):
|
||||||
|
"""Platform-specific SfpUtil class"""
|
||||||
|
|
||||||
|
PORT_START = 0
|
||||||
|
PORT_END = 71
|
||||||
|
PORTS_IN_BLOCK = 72
|
||||||
|
QSFP_PORT_START = 48
|
||||||
|
QSFP_PORT_END = 72
|
||||||
|
|
||||||
|
BASE_VAL_PATH = "/sys/class/i2c-adapter/i2c-{0}/{1}-0050/"
|
||||||
|
|
||||||
|
_port_to_is_present = {}
|
||||||
|
_port_to_lp_mode = {}
|
||||||
|
|
||||||
|
_port_to_eeprom_mapping = {}
|
||||||
|
_cpld_mapping = {
|
||||||
|
0: "4-0060",
|
||||||
|
1: "5-0062",
|
||||||
|
2: "6-0064",
|
||||||
|
}
|
||||||
|
_port_to_i2c_mapping = {
|
||||||
|
0: 18,
|
||||||
|
1: 19,
|
||||||
|
2: 20,
|
||||||
|
3: 21,
|
||||||
|
4: 22,
|
||||||
|
5: 23,
|
||||||
|
6: 24,
|
||||||
|
7: 25,
|
||||||
|
8: 26,
|
||||||
|
9: 27,
|
||||||
|
10: 28,
|
||||||
|
11: 29,
|
||||||
|
12: 30,
|
||||||
|
13: 31,
|
||||||
|
14: 32,
|
||||||
|
15: 33,
|
||||||
|
16: 34,
|
||||||
|
17: 35,
|
||||||
|
18: 36,
|
||||||
|
19: 37,
|
||||||
|
20: 38,
|
||||||
|
21: 39,
|
||||||
|
22: 40,
|
||||||
|
23: 41,
|
||||||
|
24: 42,
|
||||||
|
25: 43,
|
||||||
|
26: 44,
|
||||||
|
27: 45,
|
||||||
|
28: 46,
|
||||||
|
29: 47,
|
||||||
|
30: 48,
|
||||||
|
31: 49,
|
||||||
|
32: 50,
|
||||||
|
33: 51,
|
||||||
|
34: 52,
|
||||||
|
35: 53,
|
||||||
|
36: 54,
|
||||||
|
37: 55,
|
||||||
|
38: 56,
|
||||||
|
39: 57,
|
||||||
|
40: 58,
|
||||||
|
41: 59,
|
||||||
|
42: 60,
|
||||||
|
43: 61,
|
||||||
|
44: 62,
|
||||||
|
45: 63,
|
||||||
|
46: 64,
|
||||||
|
47: 65,
|
||||||
|
48: 66, #QSFP49
|
||||||
|
49: 66,
|
||||||
|
50: 66,
|
||||||
|
51: 66,
|
||||||
|
52: 67, #QSFP50
|
||||||
|
53: 67,
|
||||||
|
54: 67,
|
||||||
|
55: 67,
|
||||||
|
56: 68, #QSFP51
|
||||||
|
57: 68,
|
||||||
|
58: 68,
|
||||||
|
59: 68,
|
||||||
|
60: 69, #QSFP52
|
||||||
|
61: 69,
|
||||||
|
62: 69,
|
||||||
|
63: 69,
|
||||||
|
64: 70, #QSFP53
|
||||||
|
65: 70,
|
||||||
|
66: 70,
|
||||||
|
67: 70,
|
||||||
|
68: 71, #QSFP54
|
||||||
|
69: 71,
|
||||||
|
70: 71,
|
||||||
|
71: 71,
|
||||||
|
}
|
||||||
|
|
||||||
|
@property
|
||||||
|
def port_start(self):
|
||||||
|
return self.PORT_START
|
||||||
|
|
||||||
|
@property
|
||||||
|
def port_end(self):
|
||||||
|
return self.PORT_END
|
||||||
|
|
||||||
|
@property
|
||||||
|
def qsfp_port_start(self):
|
||||||
|
return self.QSFP_PORT_START
|
||||||
|
|
||||||
|
@property
|
||||||
|
def qsfp_port_end(self):
|
||||||
|
return self.QSFP_PORT_END
|
||||||
|
|
||||||
|
@property
|
||||||
|
def qsfp_ports(self):
|
||||||
|
return range(self.QSFP_PORT_START, self.PORTS_IN_BLOCK + 1)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def port_to_eeprom_mapping(self):
|
||||||
|
return self._port_to_eeprom_mapping
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
eeprom_path = '/sys/bus/i2c/devices/{0}-0050/eeprom'
|
||||||
|
for x in range(0, self.port_end+1):
|
||||||
|
self.port_to_eeprom_mapping[x] = eeprom_path.format(
|
||||||
|
self._port_to_i2c_mapping[x])
|
||||||
|
|
||||||
|
SfpUtilBase.__init__(self)
|
||||||
|
|
||||||
|
def get_presence(self, port_num):
|
||||||
|
# Check for invalid port_num
|
||||||
|
if port_num < self.port_start or port_num > self.port_end:
|
||||||
|
return False
|
||||||
|
|
||||||
|
# For cage 0~23 and 48~51 are at cpld2, others are at cpld3.
|
||||||
|
# For port 48~51 are QSFP, here presumed they are all broken-out to 4 lanes.
|
||||||
|
cage_num = port_num
|
||||||
|
cpld_i = 1
|
||||||
|
if (port_num > 23):
|
||||||
|
cpld_i = 2
|
||||||
|
|
||||||
|
if (port_num >= self.QSFP_PORT_START):
|
||||||
|
cpld_i = 1
|
||||||
|
cage_num = (port_num - self.QSFP_PORT_START)/4
|
||||||
|
cage_num = cage_num + self.QSFP_PORT_START
|
||||||
|
if (cage_num >= 52):
|
||||||
|
cpld_i = 2
|
||||||
|
|
||||||
|
cpld_ps = self._cpld_mapping[cpld_i]
|
||||||
|
path = "/sys/bus/i2c/devices/{0}/module_present_{1}"
|
||||||
|
port_ps = path.format(cpld_ps, cage_num+1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
val_file = open(port_ps)
|
||||||
|
except IOError as e:
|
||||||
|
print "Error: unable to open file: %s" % str(e)
|
||||||
|
return False
|
||||||
|
|
||||||
|
content = val_file.readline().rstrip()
|
||||||
|
val_file.close()
|
||||||
|
|
||||||
|
# content is a string, either "0" or "1"
|
||||||
|
if content == "1":
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_low_power_mode(self, port_num):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def set_low_power_mode(self, port_num, lpmode):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def reset(self, port_num):
|
||||||
|
if port_num < self.qsfp_port_start or port_num > self.qsfp_port_end:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
path = "/sys/bus/i2c/devices/5-0062/module_reset_{0}"
|
||||||
|
port_ps = path.format(port_num+1)
|
||||||
|
try:
|
||||||
|
reg_file = open(port_ps, 'w')
|
||||||
|
except IOError as e:
|
||||||
|
print "Error: unable to open file: %s" % str(e)
|
||||||
|
return False
|
||||||
|
|
||||||
|
reg_value = '1'
|
||||||
|
|
||||||
|
reg_file.write(reg_value)
|
||||||
|
reg_file.close()
|
||||||
|
|
||||||
|
return True
|
@ -16,6 +16,7 @@ $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \
|
|||||||
$(ACCTON_AS5712_54X_PLATFORM_MODULE) \
|
$(ACCTON_AS5712_54X_PLATFORM_MODULE) \
|
||||||
$(ACCTON_AS7816_64X_PLATFORM_MODULE) \
|
$(ACCTON_AS7816_64X_PLATFORM_MODULE) \
|
||||||
$(ACCTON_AS7716_32X_PLATFORM_MODULE) \
|
$(ACCTON_AS7716_32X_PLATFORM_MODULE) \
|
||||||
|
$(ACCTON_AS7312_54X_PLATFORM_MODULE) \
|
||||||
$(INVENTEC_D7032Q28B_PLATFORM_MODULE) \
|
$(INVENTEC_D7032Q28B_PLATFORM_MODULE) \
|
||||||
$(INVENTEC_D7054Q28B_PLATFORM_MODULE) \
|
$(INVENTEC_D7054Q28B_PLATFORM_MODULE) \
|
||||||
$(CEL_DX010_PLATFORM_MODULE) \
|
$(CEL_DX010_PLATFORM_MODULE) \
|
||||||
|
@ -4,11 +4,13 @@ ACCTON_AS7712_32X_PLATFORM_MODULE_VERSION = 1.1
|
|||||||
ACCTON_AS5712_54X_PLATFORM_MODULE_VERSION = 1.1
|
ACCTON_AS5712_54X_PLATFORM_MODULE_VERSION = 1.1
|
||||||
ACCTON_AS7816_64X_PLATFORM_MODULE_VERSION = 1.1
|
ACCTON_AS7816_64X_PLATFORM_MODULE_VERSION = 1.1
|
||||||
ACCTON_AS7716_32X_PLATFORM_MODULE_VERSION = 1.1
|
ACCTON_AS7716_32X_PLATFORM_MODULE_VERSION = 1.1
|
||||||
|
ACCTON_AS7312_54X_PLATFORM_MODULE_VERSION = 1.1
|
||||||
|
|
||||||
export ACCTON_AS7712_32X_PLATFORM_MODULE_VERSION
|
export ACCTON_AS7712_32X_PLATFORM_MODULE_VERSION
|
||||||
export ACCTON_AS5712_54X_PLATFORM_MODULE_VERSION
|
export ACCTON_AS5712_54X_PLATFORM_MODULE_VERSION
|
||||||
export ACCTON_AS7816_64X_PLATFORM_MODULE_VERSION
|
export ACCTON_AS7816_64X_PLATFORM_MODULE_VERSION
|
||||||
export ACCTON_AS7716_32X_PLATFORM_MODULE_VERSION
|
export ACCTON_AS7716_32X_PLATFORM_MODULE_VERSION
|
||||||
|
export ACCTON_AS7312_54X_PLATFORM_MODULE_VERSION
|
||||||
|
|
||||||
ACCTON_AS7712_32X_PLATFORM_MODULE = sonic-platform-accton-as7712-32x_$(ACCTON_AS7712_32X_PLATFORM_MODULE_VERSION)_amd64.deb
|
ACCTON_AS7712_32X_PLATFORM_MODULE = sonic-platform-accton-as7712-32x_$(ACCTON_AS7712_32X_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||||
$(ACCTON_AS7712_32X_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-accton
|
$(ACCTON_AS7712_32X_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-accton
|
||||||
@ -28,3 +30,6 @@ ACCTON_AS7716_32X_PLATFORM_MODULE = sonic-platform-accton-as7716-32x_$(ACCTON_AS
|
|||||||
$(ACCTON_AS7716_32X_PLATFORM_MODULE)_PLATFORM = x86_64-accton_as7716_32x-r0
|
$(ACCTON_AS7716_32X_PLATFORM_MODULE)_PLATFORM = x86_64-accton_as7716_32x-r0
|
||||||
$(eval $(call add_extra_package,$(ACCTON_AS7712_32X_PLATFORM_MODULE),$(ACCTON_AS7716_32X_PLATFORM_MODULE)))
|
$(eval $(call add_extra_package,$(ACCTON_AS7712_32X_PLATFORM_MODULE),$(ACCTON_AS7716_32X_PLATFORM_MODULE)))
|
||||||
|
|
||||||
|
ACCTON_AS7312_54X_PLATFORM_MODULE = sonic-platform-accton-as7312-54x_$(ACCTON_AS7312_54X_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||||
|
$(ACCTON_AS7312_54X_PLATFORM_MODULE)_PLATFORM = x86_64-accton_as7312_54x-r0
|
||||||
|
$(eval $(call add_extra_package,$(ACCTON_AS7712_32X_PLATFORM_MODULE),$(ACCTON_AS7312_54X_PLATFORM_MODULE)))
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit bb561272116e1664d4e6f819e452ac3ec5154484
|
Subproject commit 5c48c84b0f3f5ee8b44f02ff3e0c3d1ad2169066
|
Reference in New Issue
Block a user