Merge pull request #3 from wadelnn/rel_7_0

Add Ingrasys S9180 platform
This commit is contained in:
krambn 2018-03-05 14:37:32 -08:00 committed by GitHub
commit ce1e03e5ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 736 additions and 4 deletions

3
.gitmodules vendored
View File

@ -74,3 +74,6 @@
[submodule "platform/p4/SAI-P4-BM"]
path = platform/p4/SAI-P4-BM
url = https://github.com/Mellanox/SAI-P4-BM.git
[submodule "platform/barefoot/sonic-platform-modules-ingrasys"]
path = platform/barefoot/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys-barefoot.git

View File

@ -0,0 +1,33 @@
# name lanes alias speed autoneg fec index
Ethernet0 0,1,2,3 Ethernet0 100000 0 0 0
Ethernet4 4,5,6,7 Ethernet4 100000 0 0 1
Ethernet8 8,9,10,11 Ethernet8 100000 0 0 2
Ethernet12 12,13,14,15 Ethernet12 100000 0 0 3
Ethernet16 16,17,18,19 Ethernet16 100000 0 0 4
Ethernet20 20,21,22,23 Ethernet20 100000 0 0 5
Ethernet24 24,25,26,27 Ethernet24 100000 0 0 6
Ethernet28 28,29,30,31 Ethernet28 100000 0 0 7
Ethernet32 32,33,34,35 Ethernet32 100000 0 0 8
Ethernet36 36,37,38,39 Ethernet36 100000 0 0 9
Ethernet40 40,41,42,43 Ethernet40 100000 0 0 10
Ethernet44 44,45,46,47 Ethernet44 100000 0 0 11
Ethernet48 48,49,50,51 Ethernet48 100000 0 0 12
Ethernet52 52,53,54,55 Ethernet52 100000 0 0 13
Ethernet56 56,57,58,59 Ethernet56 100000 0 0 14
Ethernet60 60,61,62,63 Ethernet60 100000 0 0 15
Ethernet64 64,65,66,67 Ethernet64 100000 0 0 16
Ethernet68 68,69,70,71 Ethernet68 100000 0 0 17
Ethernet72 72,73,74,75 Ethernet72 100000 0 0 18
Ethernet76 76,77,78,79 Ethernet76 100000 0 0 19
Ethernet80 80,81,82,83 Ethernet80 100000 0 0 20
Ethernet84 84,85,86,87 Ethernet84 100000 0 0 21
Ethernet88 88,89,90,91 Ethernet88 100000 0 0 22
Ethernet92 92,93,94,95 Ethernet92 100000 0 0 23
Ethernet96 96,97,98,99 Ethernet96 100000 0 0 24
Ethernet100 100,101,102,103 Ethernet100 100000 0 0 25
Ethernet104 104,105,106,107 Ethernet104 100000 0 0 26
Ethernet108 108,109,110,111 Ethernet108 100000 0 0 27
Ethernet112 112,113,114,115 Ethernet112 100000 0 0 28
Ethernet116 116,117,118,119 Ethernet116 100000 0 0 29
Ethernet120 120,121,122,123 Ethernet120 100000 0 0 30
Ethernet124 124,125,126,127 Ethernet124 100000 0 0 31

View File

@ -0,0 +1,33 @@
{
"chip_list": [
{
"id": "asic-0",
"chip_family": "Tofino",
"instance": 0,
"pcie_sysfs_prefix": "/sys/devices/pci0000:00/0000:00:03.0/0000:05:00.0",
"pcie_domain": 0,
"pcie_bus": 5,
"pcie_fn": 0,
"pcie_dev": 0,
"pcie_int_mode": 1,
"sds_fw_path": "share/tofino_sds_fw/avago/firmware"
}
],
"instance": 0,
"p4_program_list": [
{
"id": "pgm-0",
"instance": 0,
"path": "switch",
"program-name": "switch",
"pd": "lib/tofinopd/switch/libpd.so",
"pd-thrift": "lib/tofinopd/switch/libpdthrift.so",
"table-config": "share/tofinopd/switch/context.json",
"tofino-bin": "share/tofinopd/switch/tofino.bin",
"switchapi": "lib/libswitchapi.so",
"switchsai": "lib/libswitchsai.so",
"agent0": "lib/platform/x86_64-ingrasys_s9180_32x-r0/libpltfm_mgr.so",
"switchapi_port_add": false
}
]
}

View File

@ -0,0 +1,12 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon1=devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-56/56-002f
DEVNAME=hwmon1=w83795adg
FCTEMPS=hwmon1/device/pwm2=hwmon2/temp2_input hwmon1/device/pwm1=hwmon2/temp2_input
FCFANS=hwmon1/device/pwm2=hwmon1/device/fan8_input hwmon1/device/pwm2=hwmon1/device/fan7_input hwmon1/device/pwm2=hwmon1/device/fan6_input hwmon1/device/pwm2=hwmon1/device/fan5_input hwmon1/device/pwm1=hwmon1/device/fan4_input hwmon1/device/pwm1=hwmon1/device/fan3_input hwmon1/device/pwm1=hwmon1/device/fan2_input hwmon1/device/pwm1=hwmon1/device/fan1_input
# TODO: check the temp value with HW after board ready
MINTEMP=hwmon1/device/pwm2=20 hwmon1/device/pwm1=20
MAXTEMP=hwmon1/device/pwm2=60 hwmon1/device/pwm1=60
MINSTART=hwmon1/device/pwm2=75 hwmon1/device/pwm1=75
MINSTOP=hwmon1/device/pwm2=22 hwmon1/device/pwm1=22

View File

@ -0,0 +1,3 @@
CONSOLE_PORT=0x3f8
CONSOLE_DEV=0
CONSOLE_SPEED=115200

View File

@ -0,0 +1,151 @@
<DeviceMiniGraph xmlns="Microsoft.Search.Autopilot.Evolution" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CpgDec>
<IsisRouters xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
<PeeringSessions>
<BGPSession>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.26</StartPeer>
<EndRouter>OCPSCH01040GGLF</EndRouter>
<EndPeer>10.10.1.25</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<StartRouter>OCPSCH0104002MS</StartRouter>
<StartPeer>10.10.2.26</StartPeer>
<EndRouter>OCPSCH01040GGLF</EndRouter>
<EndPeer>10.10.2.25</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
</PeeringSessions>
<Routers xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040GGLF</a:Hostname>
<a:Peers>
<BGPPeer>
<Address>10.10.1.26</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<Address>10.10.2.26</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
</a:Peers>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64542</a:ASN>
<a:Hostname>OCPSCH0104001MS</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64543</a:ASN>
<a:Hostname>OCPSCH0104002MS</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
</Routers>
</CpgDec>
<DpgDec>
<DeviceDataPlaneInfo>
<IPSecTunnels/>
<LoopbackIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:LoopbackIPInterface>
<Name>HostIP</Name>
<AttachTo>Loopback0</AttachTo>
<a:Prefix xmlns:b="Microsoft.Search.Autopilot.NetMux">
<b:IPPrefix>100.0.0.9/32</b:IPPrefix>
</a:Prefix>
<a:PrefixStr>100.0.0.9/32</a:PrefixStr>
</a:LoopbackIPInterface>
</LoopbackIPInterfaces>
<ManagementIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
</ManagementIPInterfaces>
<MplsInterfaces/>
<MplsTeInterfaces/>
<RsvpInterfaces/>
<Hostname>OCPSCH01040GGLF</Hostname>
<PortChannelInterfaces/>
<VlanInterfaces/>
<IPInterfaces>
<IPInterface>
<Name i:nil="true"/>
<AttachTo>Ethernet0</AttachTo>
<Prefix>10.10.1.25/30</Prefix>
</IPInterface>
<IPInterface>
<Name i:nil="true"/>
<AttachTo>Ethernet4</AttachTo>
<Prefix>10.10.2.25/30</Prefix>
</IPInterface>
</IPInterfaces>
<DataAcls/>
<AclInterfaces/>
<DownstreamSummaries/>
<DownstreamSummarySet xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
</DeviceDataPlaneInfo>
</DpgDec>
<PngDec>
<DeviceInterfaceLinks>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet24</EndPort>
<StartDevice>OCPSCH01040GGLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104002MS</EndDevice>
<EndPort>Ethernet24</EndPort>
<StartDevice>OCPSCH01040GGLF</StartDevice>
<StartPort>Ethernet4</StartPort>
</DeviceLinkBase>
</DeviceInterfaceLinks>
<Devices>
<Device i:type="LeafRouter">
<Hostname>OCPSCH01040GGLF</Hostname>
<HwSku>INGRASYS-S9180-32X</HwSku>
</Device>
</Devices>
</PngDec>
<MetadataDeclaration>
<Devices xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:DeviceMetadata>
<a:Name>OCPSCH01040GGLF</a:Name>
<a:Properties>
<a:DeviceProperty>
<a:Name>DhcpResources</a:Name>
<a:Reference i:nil="true"/>
<a:Value></a:Value>
</a:DeviceProperty>
<a:DeviceProperty>
<a:Name>NtpResources</a:Name>
<a:Reference i:nil="true"/>
<a:Value>0.debian.pool.ntp.org;1.debian.pool.ntp.org;2.debian.pool.ntp.org;3.debian.pool.ntp.org</a:Value>
</a:DeviceProperty>
<a:DeviceProperty>
<a:Name>SyslogResources</a:Name>
<a:Reference i:nil="true"/>
<a:Value></a:Value>
</a:DeviceProperty>
<a:DeviceProperty>
<a:Name>ErspanDestinationIpv4</a:Name>
<a:Reference i:nil="true"/>
<a:Value>2.2.2.2</a:Value>
</a:DeviceProperty>
</a:Properties>
</a:DeviceMetadata>
</Devices>
<Properties xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
</MetadataDeclaration>
<Hostname>OCPSCH01040GGLF</Hostname>
<HwSku>INGRASYS-S9180-32X</HwSku>
</DeviceMiniGraph>

View File

@ -0,0 +1,22 @@
#!/usr/bin/env python
#############################################################################
# Ingrasys S9180-32X
#
# 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-0055/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)

View File

@ -0,0 +1,90 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#
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"""
SYS_GPIO_DIR = "/sys/class/gpio/"
def __init__(self):
PsuBase.__init__(self)
# Get sysfs attribute
def get_attr_value(self, attr_path):
retval = 'ERR'
if (not os.path.isfile(attr_path)):
return retval
try:
with open(attr_path, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", attr_path, " file !")
retval = retval.rstrip('\r\n')
return retval
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
"""
MAX_PSUS = 2
return MAX_PSUS
def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
gpio_path = [ 'gpio99/value', 'gpio96/value' ]
attr_path = self.SYS_GPIO_DIR + gpio_path[index-1]
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
attr_value = int(attr_value, 10)
# Check for PSU status
if (attr_value == 1):
status = 1
return status
def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
gpio_path = [ 'gpio100/value', 'gpio97/value' ]
attr_path = self.SYS_GPIO_DIR + gpio_path[index-1]
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
attr_value = int(attr_value, 10)
# Check for PSU status
if (attr_value == 1):
status = 1
return status

View File

@ -0,0 +1,290 @@
# 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 = 33
SFP_PORT_START = 32
PORTS_IN_BLOCK = 34
BASE_DIR_PATH = "/sys/class/gpio/gpio{0}/direction"
BASE_VAL_PATH = "/sys/class/gpio/gpio{0}/value"
_port_to_eeprom_mapping = {}
port_to_i2c_mapping = {
0: 10,
1: 9,
2: 12,
3: 11,
4: 14,
5: 13,
6: 16,
7: 15,
8: 18,
9: 17,
10: 20,
11: 19,
12: 22,
13: 21,
14: 24,
15: 23,
16: 26,
17: 25,
18: 28,
19: 27,
20: 30,
21: 29,
22: 32,
23: 31,
24: 34,
25: 33,
26: 36,
27: 35,
28: 38,
29: 37,
30: 40,
31: 39,
32: 45,
33: 46
}
abs_to_gpio_mapping = {
0: 241,
1: 240,
2: 243,
3: 242,
4: 245,
5: 244,
6: 247,
7: 246,
8: 249,
9: 248,
10: 251,
11: 250,
12: 253,
13: 252,
14: 255,
15: 254,
16: 225,
17: 224,
18: 227,
19: 226,
20: 229,
21: 228,
22: 231,
23: 230,
24: 233,
25: 232,
26: 235,
27: 234,
28: 237,
29: 236,
30: 239,
31: 238,
32: 177,
33: 176
}
lpmode_to_gpio_mapping = {
0: 161,
1: 160,
2: 163,
3: 162,
4: 165,
5: 164,
6: 167,
7: 166,
8: 169,
9: 168,
10: 171,
11: 170,
12: 173,
13: 172,
14: 175,
15: 174,
16: 145,
17: 144,
18: 147,
19: 146,
20: 149,
21: 148,
22: 151,
23: 150,
24: 153,
25: 152,
26: 155,
27: 154,
28: 157,
29: 156,
30: 159,
31: 158
}
reset_to_gpio_mapping = {
0: 129,
1: 128,
2: 131,
3: 130,
4: 133,
5: 132,
6: 135,
7: 134,
8: 137,
9: 136,
10: 139,
11: 138,
12: 141,
13: 140,
14: 143,
15: 142,
16: 113,
17: 112,
18: 115,
19: 114,
20: 117,
21: 116,
22: 119,
23: 118,
24: 121,
25: 120,
26: 123,
27: 122,
28: 125,
29: 124,
30: 127,
31: 126
}
@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(0, self.PORTS_IN_BLOCK + 1)
@property
def port_to_eeprom_mapping(self):
return self._port_to_eeprom_mapping
@property
def sfp_port_start(self):
return self.SFP_PORT_START
def __init__(self):
# 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)
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
try:
abs_device_file = self.BASE_VAL_PATH.format(
self.abs_to_gpio_mapping[port_num])
val_file = open(abs_device_file)
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):
# Check for invalid port_num
if port_num < self.port_start or port_num > self.sfp_port_start: # TBD
return False
try:
lpmode_val_device_file = self.BASE_VAL_PATH.format(
self.lpmode_to_gpio_mapping[port_num])
val_file = open(lpmode_val_device_file)
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 set_low_power_mode(self, port_num, lpmode):
# Check for invalid port_num
if port_num < self.port_start or port_num > self.sfp_port_start: # TBD
return False
try:
lpmode_val_device_file = self.BASE_VAL_PATH.format(
self.lpmode_to_gpio_mapping[port_num])
val_file = open(lpmode_val_device_file, "w")
except IOError as e:
print "Error: unable to open file: %s" % str(e)
return False
val_file.write("1" if lpmode is True else "0")
val_file.close()
return True
def reset(self, port_num):
# Check for invalid port_num
if port_num < self.port_start or port_num > self.sfp_port_start: # TBD
return False
try:
reset_val_device_file = self.BASE_VAL_PATH.format(
self.reset_to_gpio_mapping[port_num])
val_file = open(reset_val_device_file, "w")
except IOError as e:
print "Error: unable to open file: %s" % str(e)
return False
val_file.write("1")
val_file.close()
# Sleep 1 second to allow it to settle
time.sleep(1)
try:
reset_val_device_file = self.BASE_VAL_PATH.format(
self.reset_to_gpio_mapping[port_num])
val_file = open(reset_val_device_file, "w")
except IOError as e:
print "Error: unable to open file: %s" % str(e)
return False
val_file.write("0")
val_file.close()
return True

View File

@ -0,0 +1,76 @@
# libsensors configuration file
chip "i350bb-*"
ignore loc1
chip "jc42-*"
label temp1 "DIMM Temp"
set temp1_max 50
set temp1_crit 85
bus "i2c-0" "I2C I801"
chip "tmp75-i2c-*-4f"
label temp1 "CPU Board Temp"
set temp1_max 50
bus "i2c-41" "i2c-7-switch (chan_id 0)"
chip "tmp75-i2c-*-48"
label temp1 "Near PSU1"
set temp1_max 50
chip "tmp75-i2c-*-4a"
label temp1 "Rear MAC"
set temp1_max 50
chip "tmp75-i2c-*-4b"
label temp1 "Near Port 32"
set temp1_max 50
chip "tmp75-i2c-*-4d"
label temp1 "Near PSU2"
set temp1_max 50
chip "lm86-i2c-*-4c"
label temp1 "Front MAC"
label temp2 "ASIC Core Temp"
set temp1_min 20
set temp1_max 65
set temp1_crit 70
set temp2_min 20
set temp2_max 70
set temp2_crit 80
bus "i2c-56" "i2c-0-mux (chan_id 7)"
chip "w83795adg-*"
label in0 "0.9V"
set in0_max 0.927
set in0_min 0.873
label in1 "0.86V"
set in1_max 0.877
set in1_min 0.843
ignore in2
ignore in3
ignore in4
ignore in5
ignore in6
ignore in7
label in12 "2.5V"
#compute in12 (2*4*@)/10, @-(2*4*@/10)
compute in12 @/(1+(3/10)), @*(1+(3/10))
set in12_max 2.625
set in12_min 2.375
# in12 and in13 are the same source
ignore in13
ignore in14
ignore in15
ignore in16
label fan1 "FANTRAY 1-A"
label fan2 "FANTRAY 1-B"
label fan3 "FANTRAY 2-A"
label fan4 "FANTRAY 2-B"
label fan5 "FANTRAY 3-A"
label fan6 "FANTRAY 3-B"
label fan7 "FANTRAY 4-A"
label fan8 "FANTRAY 4-B"
ignore temp1
ignore temp2
ignore temp3
ignore temp4
ignore temp5
ignore temp6
ignore intrusion0

View File

@ -0,0 +1,5 @@
BFN_INGRASYS_PLATFORM = bfnplatform-ingrasys_1.0.0_amd64.deb
$(BFN_INGRASYS_PLATFORM)_URL = "https://github.com/Ingrasys-sonic/packages/raw/master/lib/bfnplatform-ingrasys_1.0.0_amd64.deb"
SONIC_ONLINE_DEBS += $(BFN_INGRASYS_PLATFORM) # $(BFN_SAI_DEV)
$(BFN_SAI_DEV)_DEPENDS += $(BFN_INGRASYS_PLATFORM)

View File

@ -1,5 +1,5 @@
BFN_SAI = bfnsdk_1.0.0_amd64.deb
$(BFN_SAI)_URL = "https://github.com/barefootnetworks/sonic-release-pkgs/raw/rel_7_0/bfnsdk_1.0.0_amd64.deb"
$(BFN_SAI)_URL = "https://github.com/Ingrasys-sonic/packages/raw/master/sai/bfnsdk_1.0.0_amd64.deb"
SONIC_ONLINE_DEBS += $(BFN_SAI) # $(BFN_SAI_DEV)
$(BFN_SAI_DEV)_DEPENDS += $(BFN_SAI)

View File

@ -6,5 +6,6 @@ $(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
$(SONIC_ONE_IMAGE)_INSTALLS += $(BFN_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_INSTALLS += $(BFN_MONTARA_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_INSTALLS += $(WNC_OSW1800_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_INSTALLS += $(INGRASYS_S9180_32X_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)

View File

@ -0,0 +1,11 @@
# Ingrasys S9180-32X Platform modules
INGRASYS_S9180_32X_PLATFORM_MODULE_VERSION = 1.1.0
export INGRASYS_S9180_32X_PLATFORM_MODULE_VERSION
INGRASYS_S9180_32X_PLATFORM_MODULE = sonic-platform-ingrasys-s9180-32x_$(INGRASYS_S9180_32X_PLATFORM_MODULE_VERSION)_amd64.deb
$(INGRASYS_S9180_32X_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-ingrasys
$(INGRASYS_S9180_32X_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(INGRASYS_S9180_32X_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s9180_32x-r0
SONIC_DPKG_DEBS += $(INGRASYS_S9180_32X_PLATFORM_MODULE)

View File

@ -1,6 +1,7 @@
include $(PLATFORM_PATH)/platform-modules-bfn.mk
include $(PLATFORM_PATH)/platform-modules-bfn-montara.mk
include $(PLATFORM_PATH)/platform-modules-wnc-osw1800.mk
include $(PLATFORM_PATH)/platform-modules-ingrasys.mk
include $(PLATFORM_PATH)/bfn-sai.mk
include $(PLATFORM_PATH)/docker-syncd-bfn.mk
include $(PLATFORM_PATH)/docker-syncd-bfn-rpc.mk
@ -11,12 +12,12 @@ include $(PLATFORM_PATH)/python-saithrift.mk
include $(PLATFORM_PATH)/docker-ptf-bfn.mk
include $(PLATFORM_PATH)/bfn-platform.mk
include $(PLATFORM_PATH)/bfn-platform-wnc.mk
include $(PLATFORM_PATH)/bfn-platform-ingrasys.mk
SONIC_ALL += $(SONIC_ONE_IMAGE) \
$(DOCKER_FPM)
# Inject sai into sairedis
$(LIBSAIREDIS)_DEPENDS += $(BFN_SAI) $(WNC_OSW1800_PLATFORM) $(BFN_PLATFORM) #$(LIBSAITHRIFT_DEV_BFN)
$(LIBSAIREDIS)_DEPENDS += $(BFN_SAI) $(WNC_OSW1800_PLATFORM) $(BFN_INGRASYS_PLATFORM) $(BFN_PLATFORM) #$(LIBSAITHRIFT_DEV_BFN)
# Runtime dependency on sai is set only for syncd
$(SYNCD)_RDEPENDS += $(BFN_SAI) $(WNC_OSW1800_PLATFORM) $(BFN_PLATFORM)
$(SYNCD)_RDEPENDS += $(BFN_SAI) $(WNC_OSW1800_PLATFORM) $(BFN_INGRASYS_PLATFORM) $(BFN_PLATFORM)

@ -0,0 +1 @@
Subproject commit c165fddbb8da8bb11efc3c6952cb98949f2cdc87