diff --git a/build_debian.sh b/build_debian.sh index 767dd7b83b79..80e33621e901 100755 --- a/build_debian.sh +++ b/build_debian.sh @@ -226,7 +226,8 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in hping3 \ python-scapy \ tcptraceroute \ - mtr-tiny + mtr-tiny \ + ipmitool sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \ grub-pc-bin diff --git a/device/celestica/x86_64-cel_silverstone-r0/Silverstone/port_config.ini b/device/celestica/x86_64-cel_silverstone-r0/Silverstone/port_config.ini new file mode 100644 index 000000000000..b1884a846279 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/Silverstone/port_config.ini @@ -0,0 +1,35 @@ +# name lanes alias index +Ethernet0 89,90,91,92,93,94,95,96 QSFPDD1 1 +Ethernet4 81,82,83,84,85,86,87,88 QSFPDD2 2 +Ethernet8 105,106,107,108,109,110,111,112 QSFPDD3 3 +Ethernet12 97,98,99,100,101,102,103,104 QSFPDD4 4 +Ethernet16 137,138,139,140,141,142,143,144 QSFPDD5 5 +Ethernet20 129,130,131,132,133,134,135,136 QSFPDD6 6 +Ethernet24 169,170,171,172,173,174,175,176 QSFPDD7 7 +Ethernet28 161,162,163,164,165,166,167,168 QSFPDD8 8 +Ethernet32 201,202,203,204,205,206,207,208 QSFPDD9 9 +Ethernet36 193,194,195,196,197,198,199,200 QSFPDD10 10 +Ethernet40 233,234,235,236,237,238,239,240 QSFPDD11 11 +Ethernet44 225,226,227,228,229,230,231,232 QSFPDD12 12 +Ethernet48 73,74,75,76,77,78,79,80 QSFPDD13 13 +Ethernet52 65,66,67,68,69,70,71,72 QSFPDD14 14 +Ethernet56 121,122,123,124,125,126,127,128 QSFPDD15 15 +Ethernet60 113,114,115,116,117,118,119,120 QSFPDD16 16 +Ethernet64 9,10,11,12,13,14,15,16 QSFPDD17 17 +Ethernet68 1,2,3,4,5,6,7,8 QSFPDD18 18 +Ethernet72 57,58,59,60,61,62,63,64 QSFPDD19 19 +Ethernet76 49,50,51,52,53,54,55,56 QSFPDD20 20 +Ethernet80 153,154,155,156,157,158,159,160 QSFPDD21 21 +Ethernet84 145,146,147,148,149,150,151,152 QSFPDD22 22 +Ethernet88 185,186,187,188,189,190,191,192 QSFPDD23 23 +Ethernet92 177,178,179,180,181,182,183,184 QSFPDD24 24 +Ethernet96 217,218,219,220,221,222,223,224 QSFPDD25 25 +Ethernet100 209,210,211,212,213,214,215,216 QSFPDD26 26 +Ethernet104 249,250,251,252,253,254,255,256 QSFPDD27 27 +Ethernet108 241,242,243,244,245,246,247,248 QSFPDD28 28 +Ethernet112 25,26,27,28,29,30,31,32 QSFPDD29 29 +Ethernet116 17,18,19,20,21,22,23,24 QSFPDD30 30 +Ethernet120 41,42,43,44,45,46,47,48 QSFPDD31 31 +Ethernet124 33,34,35,36,37,38,39,40 QSFPDD32 32 +Ethernet125 257 SFP1 33 +Ethernet126 258 SFP2 34 diff --git a/device/celestica/x86_64-cel_silverstone-r0/Silverstone/sai.profile b/device/celestica/x86_64-cel_silverstone-r0/Silverstone/sai.profile new file mode 100644 index 000000000000..cac058f90701 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/Silverstone/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/platform/td3-questone_2-48x25G_8x100G.config.bcm diff --git a/device/celestica/x86_64-cel_silverstone-r0/installer.conf b/device/celestica/x86_64-cel_silverstone-r0/installer.conf new file mode 100644 index 000000000000..5e62742c11bf --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/installer.conf @@ -0,0 +1 @@ +CONSOLE_SPEED=115200 diff --git a/device/celestica/x86_64-cel_silverstone-r0/led_proc_init.soc b/device/celestica/x86_64-cel_silverstone-r0/led_proc_init.soc new file mode 100644 index 000000000000..b01d62353ff2 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/led_proc_init.soc @@ -0,0 +1,12 @@ +#Enable all ports +sleep 6 +port all en=1 +#sleep 6 +#linkscan 250000; port xe,ce linkscan=on + +#Load LED +#m0 load 0 0x0 /usr/share/sonic/platform/linkscan_led_fw.bin +#m0 load 0 0x3800 /usr/share/sonic/platform/custom_led.bin +#led auto on; led start + + diff --git a/device/celestica/x86_64-cel_silverstone-r0/minigraph.xml b/device/celestica/x86_64-cel_silverstone-r0/minigraph.xml new file mode 100644 index 000000000000..b1ef13437062 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/minigraph.xml @@ -0,0 +1,974 @@ + + + + + + ARISTA01T0 + 10.0.0.33 + sonic + 10.0.0.32 + 1 + 180 + 60 + + + sonic + 10.0.0.0 + ARISTA01T2 + 10.0.0.1 + 1 + 180 + 60 + + + ARISTA02T0 + 10.0.0.35 + sonic + 10.0.0.34 + 1 + 180 + 60 + + + sonic + 10.0.0.2 + ARISTA02T2 + 10.0.0.3 + 1 + 180 + 60 + + + ARISTA03T0 + 10.0.0.37 + sonic + 10.0.0.36 + 1 + 180 + 60 + + + sonic + 10.0.0.4 + ARISTA03T2 + 10.0.0.5 + 1 + 180 + 60 + + + ARISTA04T0 + 10.0.0.39 + sonic + 10.0.0.38 + 1 + 180 + 60 + + + sonic + 10.0.0.6 + ARISTA04T2 + 10.0.0.7 + 1 + 180 + 60 + + + ARISTA05T0 + 10.0.0.41 + sonic + 10.0.0.40 + 1 + 180 + 60 + + + sonic + 10.0.0.8 + ARISTA05T2 + 10.0.0.9 + 1 + 180 + 60 + + + ARISTA06T0 + 10.0.0.43 + sonic + 10.0.0.42 + 1 + 180 + 60 + + + sonic + 10.0.0.10 + ARISTA06T2 + 10.0.0.11 + 1 + 180 + 60 + + + ARISTA07T0 + 10.0.0.45 + sonic + 10.0.0.44 + 1 + 180 + 60 + + + sonic + 10.0.0.12 + ARISTA07T2 + 10.0.0.13 + 1 + 180 + 60 + + + ARISTA08T0 + 10.0.0.47 + sonic + 10.0.0.46 + 1 + 180 + 60 + + + sonic + 10.0.0.14 + ARISTA08T2 + 10.0.0.15 + 1 + 180 + 60 + + + ARISTA09T0 + 10.0.0.49 + sonic + 10.0.0.48 + 1 + 180 + 60 + + + sonic + 10.0.0.16 + ARISTA09T2 + 10.0.0.17 + 1 + 180 + 60 + + + ARISTA10T0 + 10.0.0.51 + sonic + 10.0.0.50 + 1 + 180 + 60 + + + sonic + 10.0.0.18 + ARISTA10T2 + 10.0.0.19 + 1 + 180 + 60 + + + ARISTA11T0 + 10.0.0.53 + sonic + 10.0.0.52 + 1 + 180 + 60 + + + sonic + 10.0.0.20 + ARISTA11T2 + 10.0.0.21 + 1 + 180 + 60 + + + ARISTA12T0 + 10.0.0.55 + sonic + 10.0.0.54 + 1 + 180 + 60 + + + sonic + 10.0.0.22 + ARISTA12T2 + 10.0.0.23 + 1 + 180 + 60 + + + ARISTA13T0 + 10.0.0.57 + sonic + 10.0.0.56 + 1 + 180 + 60 + + + sonic + 10.0.0.24 + ARISTA13T2 + 10.0.0.25 + 1 + 180 + 60 + + + ARISTA14T0 + 10.0.0.59 + sonic + 10.0.0.58 + 1 + 180 + 60 + + + sonic + 10.0.0.26 + ARISTA14T2 + 10.0.0.27 + 1 + 180 + 60 + + + ARISTA15T0 + 10.0.0.61 + sonic + 10.0.0.60 + 1 + 180 + 60 + + + sonic + 10.0.0.28 + ARISTA15T2 + 10.0.0.29 + 1 + 180 + 60 + + + ARISTA16T0 + 10.0.0.63 + sonic + 10.0.0.62 + 1 + 180 + 60 + + + sonic + 10.0.0.30 + ARISTA16T2 + 10.0.0.31 + 1 + 180 + 60 + + + + + 65100 + sonic + + +
10.0.0.33
+ + +
+ +
10.0.0.1
+ + +
+ +
10.0.0.35
+ + +
+ +
10.0.0.3
+ + +
+ +
10.0.0.37
+ + +
+ +
10.0.0.5
+ + +
+ +
10.0.0.39
+ + +
+ +
10.0.0.7
+ + +
+ +
10.0.0.41
+ + +
+ +
10.0.0.9
+ + +
+ +
10.0.0.43
+ + +
+ +
10.0.0.11
+ + +
+ +
10.0.0.45
+ + +
+ +
10.0.0.13
+ + +
+ +
10.0.0.47
+ + +
+ +
10.0.0.15
+ + +
+ +
10.0.0.49
+ + +
+ +
10.0.0.17
+ + +
+ +
10.0.0.51
+ + +
+ +
10.0.0.19
+ + +
+ +
10.0.0.53
+ + +
+ +
10.0.0.21
+ + +
+ +
10.0.0.55
+ + +
+ +
10.0.0.23
+ + +
+ +
10.0.0.57
+ + +
+ +
10.0.0.25
+ + +
+ +
10.0.0.59
+ + +
+ +
10.0.0.27
+ + +
+ +
10.0.0.61
+ + +
+ +
10.0.0.29
+ + +
+ +
10.0.0.63
+ + +
+ +
10.0.0.31
+ + +
+
+ +
+ + 64001 + ARISTA01T0 + + + + 65200 + ARISTA01T2 + + + + 64002 + ARISTA02T0 + + + + 65200 + ARISTA02T2 + + + + 64003 + ARISTA03T0 + + + + 65200 + ARISTA03T2 + + + + 64004 + ARISTA04T0 + + + + 65200 + ARISTA04T2 + + + + 64005 + ARISTA05T0 + + + + 65200 + ARISTA05T2 + + + + 64006 + ARISTA06T0 + + + + 65200 + ARISTA06T2 + + + + 64007 + ARISTA07T0 + + + + 65200 + ARISTA07T2 + + + + 64008 + ARISTA08T0 + + + + 65200 + ARISTA08T2 + + + + 64009 + ARISTA09T0 + + + + 65200 + ARISTA09T2 + + + + 64010 + ARISTA10T0 + + + + 65200 + ARISTA10T2 + + + + 64011 + ARISTA11T0 + + + + 65200 + ARISTA11T2 + + + + 64012 + ARISTA12T0 + + + + 65200 + ARISTA12T2 + + + + 64013 + ARISTA13T0 + + + + 65200 + ARISTA13T2 + + + + 64014 + ARISTA14T0 + + + + 65200 + ARISTA14T2 + + + + 64015 + ARISTA15T0 + + + + 65200 + ARISTA15T2 + + + + 64016 + ARISTA16T0 + + + + 65200 + ARISTA16T2 + + +
+
+ + + + + + HostIP + Loopback0 + + 10.1.0.32/32 + + 10.1.0.32/32 + + + + + + + + sonic + + + + + + SFP1 + 10.0.0.0/31 + + + + SFP2 + 10.0.0.2/31 + + + + SFP3 + 10.0.0.4/31 + + + + SFP4 + 10.0.0.6/31 + + + + SFP5 + 10.0.0.8/31 + + + + SFP6 + 10.0.0.10/31 + + + + SFP7 + 10.0.0.12/31 + + + + SFP8 + 10.0.0.14/31 + + + + SFP9 + 10.0.0.16/31 + + + + SFP10 + 10.0.0.18/31 + + + + SFP11 + 10.0.0.20/31 + + + + SFP12 + 10.0.0.22/31 + + + + SFP13 + 10.0.0.24/31 + + + + SFP14 + 10.0.0.26/31 + + + + SFP15 + 10.0.0.28/31 + + + + SFP16 + 10.0.0.30/31 + + + + SFP17 + 10.0.0.32/31 + + + + SFP18 + 10.0.0.34/31 + + + + SFP19 + 10.0.0.36/31 + + + + SFP20 + 10.0.0.38/31 + + + + SFP21 + 10.0.0.40/31 + + + + SFP22 + 10.0.0.42/31 + + + + SFP23 + 10.0.0.44/31 + + + + SFP24 + 10.0.0.46/31 + + + + SFP25 + 10.0.0.48/31 + + + + SFP26 + 10.0.0.50/31 + + + + SFP27 + 10.0.0.52/31 + + + + SFP28 + 10.0.0.54/31 + + + + SFP29 + 10.0.0.56/31 + + + + SFP30 + 10.0.0.58/31 + + + + SFP31 + 10.0.0.60/31 + + + + SFP32 + 10.0.0.62/31 + + + + SFP33 + 10.0.0.64/31 + + + + SFP34 + 10.0.0.66/31 + + + + SFP35 + 10.0.0.68/31 + + + + SFP36 + 10.0.0.70/31 + + + + SFP37 + 10.0.0.72/31 + + + + SFP38 + 10.0.0.74/31 + + + + SFP39 + 10.0.0.76/31 + + + + SFP40 + 10.0.0.78/31 + + + + SFP41 + 10.0.0.80/31 + + + + SFP42 + 10.0.0.82/31 + + + + SFP43 + 10.0.0.84/31 + + + + SFP44 + 10.0.0.86/31 + + + + SFP45 + 10.0.0.88/31 + + + + SFP46 + 10.0.0.90/31 + + + + SFP47 + 10.0.0.92/31 + + + + SFP48 + 10.0.0.94/31 + + + + QSFP1 + 10.0.0.96/31 + + + + QSFP2 + 10.0.0.98/31 + + + + QSFP3 + 10.0.0.100/31 + + + + QSFP4 + 10.0.0.102/31 + + + + QSFP5 + 10.0.0.104/31 + + + + QSFP6 + 10.0.0.106/31 + + + + QSFP7 + 10.0.0.108/31 + + + + QSFP8 + 10.0.0.110/31 + + + + + + + + + + + + + sonic + Silverstone + + + + + + + sonic + + + DhcpResources + + + + + NtpResources + + 0.debian.pool.ntp.org;1.debian.pool.ntp.org;2.debian.pool.ntp.org;3.debian.pool.ntp.org + + + SyslogResources + + + + + ErspanDestinationIpv4 + + 2.2.2.2 + + + + + + + sonic + Silverstone +
diff --git a/device/celestica/x86_64-cel_silverstone-r0/plugins/eeprom.py b/device/celestica/x86_64-cel_silverstone-r0/plugins/eeprom.py new file mode 100644 index 000000000000..2f7e57acdd67 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/plugins/eeprom.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python + +############################################################################# +# Celestica DX010 +# +# 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-0/0-0056/eeprom" + super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/celestica/x86_64-cel_silverstone-r0/plugins/psuutil.py b/device/celestica/x86_64-cel_silverstone-r0/plugins/psuutil.py new file mode 100644 index 000000000000..5eccaf7fdd26 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/plugins/psuutil.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python + +import os.path +import subprocess +import sys +import re + +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) + + def run_command(self, command): + proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) + (out, err) = proc.communicate() + + if proc.returncode != 0: + sys.exit(proc.returncode) + + return out + + def find_value(self, grep_string): + return re.findall("[-+]?\d*\.\d+|\d+", grep_string) + + def get_num_psus(self): + """ + Retrieves the number of PSUs available on the device + :return: An integer, the number of PSUs available on the device + """ + return 2 + + def get_psu_status(self, index): + """ + Retrieves the oprational status of power supply unit (PSU) defined + by 1-based index + :param index: An integer, 1-based index of the PSU of which to query status + :return: Boolean, True if PSU is operating properly, False if PSU is faulty + """ + if index is None: + return False + + ''' L index = 1 , R index = 2 + Power status is active hight + ''' + res = self.run_command('ipmitool raw 0x3a 0x0c 0x00 0x02 0x60') + status = int(res,16) & 0x3 + if index == 1: + return (status >> 1) & 1 + else: + return status & 1 + + def get_psu_presence(self, index): + """ + Retrieves the presence status of power supply unit (PSU) defined + by 1-based index + :param index: An integer, 1-based index of the PSU of which to query status + :return: Boolean, True if PSU is plugged, False if not + """ + if index is None: + return False + + ''' L index = 1 , R index = 2 + Presence status is active Low + ''' + res = self.run_command('ipmitool raw 0x3a 0x0c 0x00 0x02 0x60') + status = int(res,16) & 0xc + if index == 1: + return not((status >> 3) & 1) + else: + return not((status >> 2) & 1) diff --git a/device/celestica/x86_64-cel_silverstone-r0/plugins/sfputil.py b/device/celestica/x86_64-cel_silverstone-r0/plugins/sfputil.py new file mode 100644 index 000000000000..abd7fa4409b1 --- /dev/null +++ b/device/celestica/x86_64-cel_silverstone-r0/plugins/sfputil.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python +# +# 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 = 1 + PORT_END = 34 + QSFP_PORT_START = 1 + QSFP_PORT_END = 32 + + EEPROM_OFFSET = 10 + + BASE_SFF_PATH = "/sys/devices/platform/AS58128.switchboard/SFF/" + + _port_name = "" + _port_to_eeprom_mapping = {} + + @property + def port_start(self): + return self.PORT_START + + @property + def port_end(self): + return self.PORT_END + + @property + def qsfp_ports(self): + return range(self.QSFP_PORT_START, self.QSFP_PORT_END + 1) + + @property + def port_to_eeprom_mapping(self): + return self._port_to_eeprom_mapping + + def get_port_name(self, port_num): + if port_num <= self.QSFP_PORT_END: + self._port_name = "QSFP" + str(port_num) + else: + self._port_name = "SFP" + str(port_num - self.QSFP_PORT_END) + return self._port_name + + def __init__(self): + # Override port_to_eeprom_mapping for class initialization + eeprom_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom' + + for x in range(self.PORT_START, self.PORT_END + 1): + self.port_to_eeprom_mapping[x] = eeprom_path.format( + x + self.EEPROM_OFFSET - 1) + 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 + + sysfs_filename = "sfp_modabs" + port_name = self.get_port_name(port_num) + if port_num in self.qsfp_ports: + sysfs_filename = "qsfp_modprs" + try: + + reg_file = open(self.BASE_SFF_PATH + + port_name + "/" + sysfs_filename) + + except IOError as e: + print "Error: unable to open file: %s" % str(e) + return False + + # Read status + content = reg_file.readline().rstrip() + reg_value = int(content) + + # ModPrsL is active low + if reg_value == 0: + return True + + return False + + def get_low_power_mode(self, port_num): + # Check for invalid QSFP port_num + if port_num < self.port_start or port_num > self.port_end or port_num > self.QSFP_PORT_END: + return False + + try: + port_name = self.get_port_name(port_num) + reg_file = open(self.BASE_SFF_PATH + port_name + "/qsfp_lpmode") + except IOError as e: + print "Error: unable to open file: %s" % str(e) + return False + + # Read status + content = reg_file.readline().rstrip() + reg_value = int(content, 16) + # ModPrsL is active low + if reg_value == 0: + return False + + return True + + def set_low_power_mode(self, port_num, lpmode): + # Check for invalid QSFP port_num + if port_num < self.port_start or port_num > self.port_end or port_num > self.QSFP_PORT_END: + return False + + try: + port_name = self.get_port_name(port_num) + reg_file = open(self.BASE_SFF_PATH + + port_name + "/qsfp_lpmode", "r+") + except IOError as e: + print "Error: unable to open file: %s" % str(e) + return False + + content = hex(lpmode) + + reg_file.seek(0) + reg_file.write(content) + reg_file.close() + + return True + + def reset(self, port_num): + # Check for invalid QSFP port_num + if port_num < self.port_start or port_num > self.port_end or port_num > self.QSFP_PORT_END: + return False + + try: + port_name = self.get_port_name(port_num) + reg_file = open(self.BASE_SFF_PATH + + port_name + "/qsfp_reset", "w") + except IOError as e: + print "Error: unable to open file: %s" % str(e) + return False + + # Convert our register value back to a hex string and write back + reg_file.seek(0) + reg_file.write(hex(0)) + reg_file.close() + + # Sleep 1 second to allow it to settle + time.sleep(1) + + # Flip the bit back high and write back to the register to take port + # out of reset + try: + reg_file = open(self.BASE_SFF_PATH + + port_name + "/qsfp_reset", "w") + except IOError as e: + print "Error: unable to open file: %s" % str(e) + return False + + reg_file.seek(0) + reg_file.write(hex(1)) + reg_file.close() + + return True diff --git a/platform/broadcom/one-image.mk b/platform/broadcom/one-image.mk index 001d7486101e..8675fedaa455 100755 --- a/platform/broadcom/one-image.mk +++ b/platform/broadcom/one-image.mk @@ -22,6 +22,7 @@ $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \ $(INVENTEC_D7032Q28B_PLATFORM_MODULE) \ $(INVENTEC_D7054Q28B_PLATFORM_MODULE) \ $(CEL_DX010_PLATFORM_MODULE) \ + $(CEL_SILVERSTONE_PLATFORM_MODULE) \ $(DELTA_AG9032V1_PLATFORM_MODULE) \ $(DELTA_AG9064_PLATFORM_MODULE) \ $(DELTA_AG5648_PLATFORM_MODULE) \ diff --git a/platform/broadcom/platform-modules-cel.mk b/platform/broadcom/platform-modules-cel.mk index 96cb59144fa5..39bd7e38cf52 100644 --- a/platform/broadcom/platform-modules-cel.mk +++ b/platform/broadcom/platform-modules-cel.mk @@ -1,11 +1,17 @@ -# Celestica DX010 Platform modules +# Celestica Platform modules -CEL_DX010_PLATFORM_MODULE_VERSION = 0.8 +CEL_DX010_PLATFORM_MODULE_VERSION = 1.0 +CEL_SILVERSTONE_PLATFORM_MODULE_VERSION = 1.0 export CEL_DX010_PLATFORM_MODULE_VERSION +export CEL_SILVERSTONE_PLATFORM_MODULE_VERSION CEL_DX010_PLATFORM_MODULE = platform-modules-dx010_$(CEL_DX010_PLATFORM_MODULE_VERSION)_amd64.deb $(CEL_DX010_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-cel $(CEL_DX010_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON) $(CEL_DX010_PLATFORM_MODULE)_PLATFORM = x86_64-cel_seastone-r0 SONIC_DPKG_DEBS += $(CEL_DX010_PLATFORM_MODULE) + +CEL_SILVERSTONE_PLATFORM_MODULE = platform-modules-silverstone_$(CEL_SILVERSTONE_PLATFORM_MODULE_VERSION)_amd64.deb +$(CEL_SILVERSTONE_PLATFORM_MODULE)_PLATFORM = x86_64-cel_silverstone-r0 +$(eval $(call add_extra_package,$(CEL_DX010_PLATFORM_MODULE),$(CEL_SILVERSTONE_PLATFORM_MODULE))) diff --git a/platform/broadcom/sonic-platform-modules-cel b/platform/broadcom/sonic-platform-modules-cel index 5ec0c5e5d4fe..feb1bdd6c683 160000 --- a/platform/broadcom/sonic-platform-modules-cel +++ b/platform/broadcom/sonic-platform-modules-cel @@ -1 +1 @@ -Subproject commit 5ec0c5e5d4fe8f2ec1ab5a6abefa7d168a81ca98 +Subproject commit feb1bdd6c6838dfdf67b52f69a2e675b4e6e81f6