diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/port_config.ini b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/port_config.ini
new file mode 100644
index 000000000000..db55972e0d8d
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/port_config.ini
@@ -0,0 +1,55 @@
+# name lanes alias
+Ethernet0 1 Ethernet0
+Ethernet1 2 Ethernet1
+Ethernet2 3 Ethernet2
+Ethernet3 4 Ethernet3
+Ethernet4 5 Ethernet4
+Ethernet5 6 Ethernet5
+Ethernet6 7 Ethernet6
+Ethernet7 8 Ethernet7
+Ethernet8 9 Ethernet8
+Ethernet9 10 Ethernet9
+Ethernet10 11 Ethernet10
+Ethernet11 12 Ethernet11
+Ethernet12 21 Ethernet12
+Ethernet13 22 Ethernet13
+Ethernet14 23 Ethernet14
+Ethernet15 24 Ethernet15
+Ethernet16 33 Ethernet16
+Ethernet17 34 Ethernet17
+Ethernet18 35 Ethernet18
+Ethernet19 36 Ethernet19
+Ethernet20 37 Ethernet20
+Ethernet21 38 Ethernet21
+Ethernet22 39 Ethernet22
+Ethernet23 40 Ethernet23
+Ethernet24 41 Ethernet24
+Ethernet25 42 Ethernet25
+Ethernet26 43 Ethernet26
+Ethernet27 44 Ethernet27
+Ethernet28 49 Ethernet28
+Ethernet29 50 Ethernet29
+Ethernet30 51 Ethernet30
+Ethernet31 52 Ethernet31
+Ethernet32 53 Ethernet32
+Ethernet33 54 Ethernet33
+Ethernet34 55 Ethernet34
+Ethernet35 56 Ethernet35
+Ethernet36 65 Ethernet36
+Ethernet37 66 Ethernet37
+Ethernet38 67 Ethernet38
+Ethernet39 68 Ethernet39
+Ethernet40 69 Ethernet40
+Ethernet41 70 Ethernet41
+Ethernet42 71 Ethernet42
+Ethernet43 72 Ethernet43
+Ethernet44 81 Ethernet44
+Ethernet45 82 Ethernet45
+Ethernet46 83 Ethernet46
+Ethernet47 84 Ethernet47
+Ethernet48 85,86,87,88 Ethernet48
+Ethernet52 97,98,99,100 Ethernet52
+Ethernet56 101,102,103,104 Ethernet56
+Ethernet60 105,106,107,108 Ethernet60
+Ethernet64 109,110,111,112 Ethernet64
+Ethernet68 117,118,119,120 Ethernet68
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/sai.profile b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/sai.profile
new file mode 100644
index 000000000000..6f07b4605cbf
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/INGRASYS-S8900-54XC/sai.profile
@@ -0,0 +1 @@
+SAI_INIT_CONFIG_FILE=/etc/bcm/th-s8900-48x25G+6x100G.config.bcm
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/installer.conf b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/installer.conf
new file mode 100644
index 000000000000..14404194ef53
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/installer.conf
@@ -0,0 +1,3 @@
+CONSOLE_PORT=0x2f8
+CONSOLE_DEV=1
+CONSOLE_SPEED=115200
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/minigraph.xml b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/minigraph.xml
new file mode 100644
index 000000000000..98c87eb8af0e
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/minigraph.xml
@@ -0,0 +1,121 @@
+
+
+
+
+
+ OCPSCH0104001MS
+ 10.10.1.30
+ OCPSCH01040HHLF
+ 10.10.1.29
+ 1
+ 10
+ 3
+
+
+ OCPSCH0104002MS
+ 10.10.2.30
+ OCPSCH01040HHLF
+ 10.10.2.29
+ 1
+ 10
+ 3
+
+
+
+
+ 64536
+ OCPSCH01040HHLF
+
+
+ 10.10.1.30
+
+
+
+
+ 10.10.2.30
+
+
+
+
+
+
+
+ 64542
+ OCPSCH0104001MS
+
+
+
+ 64543
+ OCPSCH0104002MS
+
+
+
+
+
+
+
+
+
+ HostIP
+ Loopback0
+
+ 100.0.0.10/32
+
+ 100.0.0.10/32
+
+
+
+
+
+
+
+ OCPSCH01040HHLF
+
+
+
+
+
+ Ethernet48
+ 10.10.1.29/30
+
+
+
+ Ethernet52
+ 10.10.2.29/30
+
+
+
+
+
+
+
+
+
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet48
+ OCPSCH01040HHLF
+ Ethernet48
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104002MS
+ Ethernet0
+ OCPSCH01040HHLF
+ Ethernet52
+
+
+
+
+ OCPSCH01040HHLF
+ INGRASYS-S8900-54XC
+
+
+
+ OCPSCH01040HHLF
+ INGRASYS-S8900-54XC
+
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/eeprom.py b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/eeprom.py
new file mode 100644
index 000000000000..2013aeddddb4
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/eeprom.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+#############################################################################
+# Dell Z9100
+#
+# 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-17/17-0054/eeprom"
+ super(board, self).__init__(self.eeprom_path, 0, '', True)
+
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/sfputil.py b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/sfputil.py
new file mode 100644
index 000000000000..96fa0fca86ce
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/plugins/sfputil.py
@@ -0,0 +1,82 @@
+#!/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 = 53
+ ports_in_block = 54
+
+ port_to_eeprom_mapping = {}
+ 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,
+ 49: 67,
+ 50: 68,
+ 51: 69,
+ 52: 70,
+ 53: 71
+ }
+
+ _qsfp_ports = range(0, ports_in_block + 1)
+
+ def __init__(self, port_num):
+ # 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, port_num)
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/sensors.conf b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/sensors.conf
new file mode 100644
index 000000000000..44eedb4b11b0
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_54xc-r0/sensors.conf
@@ -0,0 +1,35 @@
+# libsensors configuration file
+chip "i350bb-*"
+ ignore loc1
+
+chip "jc42-*"
+ label temp1 "DIMM Temp"
+ set temp1_max 50
+ set temp1_crit 85
+
+chip "w83795adg-*"
+ label in0 "1.0V"
+ label in1 "1.0V_ROV"
+ label in2 "1.25V"
+ label in3 "1.8V"
+ ignore in4
+ ignore in5
+ ignore in6
+ ignore in7
+ label in12 "+3.3V"
+ 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"
+ label temp1 "Front MAC Temp"
+ label temp2 "Rear MAC Temp"
+ ignore temp3
+ ignore temp4
+ ignore intrusion0
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/port_config.ini b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/port_config.ini
new file mode 100644
index 000000000000..5f78ca963174
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/port_config.ini
@@ -0,0 +1,65 @@
+# name lanes alias
+Ethernet0 17 Ethernet0
+Ethernet1 18 Ethernet1
+Ethernet2 19 Ethernet2
+Ethernet3 20 Ethernet3
+Ethernet4 24 Ethernet4
+Ethernet5 23 Ethernet5
+Ethernet6 22 Ethernet6
+Ethernet7 21 Ethernet7
+Ethernet8 28 Ethernet8
+Ethernet9 27 Ethernet9
+Ethernet10 26 Ethernet10
+Ethernet11 25 Ethernet11
+Ethernet12 32 Ethernet12
+Ethernet13 31 Ethernet13
+Ethernet14 30 Ethernet14
+Ethernet15 29 Ethernet15
+Ethernet16 1 Ethernet16
+Ethernet17 2 Ethernet17
+Ethernet18 3 Ethernet18
+Ethernet19 4 Ethernet19
+Ethernet20 8 Ethernet20
+Ethernet21 7 Ethernet21
+Ethernet22 6 Ethernet22
+Ethernet23 5 Ethernet23
+Ethernet24 12 Ethernet24
+Ethernet25 11 Ethernet25
+Ethernet26 10 Ethernet26
+Ethernet27 9 Ethernet27
+Ethernet28 13 Ethernet28
+Ethernet29 14 Ethernet29
+Ethernet30 15 Ethernet30
+Ethernet31 16 Ethernet31
+Ethernet32 33 Ethernet32
+Ethernet33 34 Ethernet33
+Ethernet34 35 Ethernet34
+Ethernet35 36 Ethernet35
+Ethernet36 38 Ethernet36
+Ethernet37 39 Ethernet37
+Ethernet38 40 Ethernet38
+Ethernet39 37 Ethernet39
+Ethernet40 41 Ethernet40
+Ethernet41 42 Ethernet41
+Ethernet42 43 Ethernet42
+Ethernet43 44 Ethernet43
+Ethernet44 48 Ethernet44
+Ethernet45 45 Ethernet45
+Ethernet46 46 Ethernet46
+Ethernet47 47 Ethernet47
+Ethernet48 49,50,51,52 Ethernet48
+Ethernet52 53,54,55,56 Ethernet52
+Ethernet56 57,58,59,60 Ethernet56
+Ethernet60 61,62,63,64 Ethernet60
+Ethernet64 65,66,67,68 Ethernet64
+Ethernet68 69,70,71,72 Ethernet68
+Ethernet72 73,74,75,76 Ethernet72
+Ethernet76 77,78,79,80 Ethernet76
+Ethernet80 81,82,83,84 Ethernet80
+Ethernet84 85,86,87,88 Ethernet84
+Ethernet88 89,90,91,92 Ethernet88
+Ethernet92 93,94,95,96 Ethernet92
+Ethernet96 97,98,99,100 Ethernet96
+Ethernet100 101,102,103,104 Ethernet100
+Ethernet104 105,106,107,108 Ethernet104
+Ethernet108 109,110,111,112 Ethernet108
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/sai.profile b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/sai.profile
new file mode 100644
index 000000000000..f617b8f3c473
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/INGRASYS-S8900-64XC/sai.profile
@@ -0,0 +1 @@
+SAI_INIT_CONFIG_FILE=/etc/bcm/th-s8900-48x25G+16x100G.config.bcm
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/installer.conf b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/installer.conf
new file mode 100644
index 000000000000..14404194ef53
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/installer.conf
@@ -0,0 +1,3 @@
+CONSOLE_PORT=0x2f8
+CONSOLE_DEV=1
+CONSOLE_SPEED=115200
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/minigraph.xml b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/minigraph.xml
new file mode 100644
index 000000000000..8a7d765cefc1
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/minigraph.xml
@@ -0,0 +1,359 @@
+
+
+
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.2
+ OCPSCH01040AALF
+ 10.10.1.1
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.6
+ OCPSCH01040BBLF
+ 10.10.1.5
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.10
+ OCPSCH01040CCLF
+ 10.10.1.9
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.14
+ OCPSCH01040DDLF
+ 10.10.1.13
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.18
+ OCPSCH01040EELF
+ 10.10.1.17
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.22
+ OCPSCH01040FFLF
+ 10.10.1.21
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.26
+ OCPSCH01040GGLF
+ 10.10.1.25
+ 1
+ 10
+ 3
+
+
+ BGPSession
+ OCPSCH0104001MS
+ 10.10.1.30
+ OCPSCH01040HHLF
+ 10.10.1.29
+ 1
+ 10
+ 3
+
+
+
+
+ 64542
+ OCPSCH0104001MS
+
+
+ BGPPeer
+ 10.10.1.2
+
+
+
+
+ BGPPeer
+ 10.10.1.6
+
+
+
+
+ BGPPeer
+ 10.10.1.10
+
+
+
+
+ BGPPeer
+ 10.10.1.14
+
+
+
+
+ BGPPeer
+ 10.10.1.18
+
+
+
+
+ BGPPeer
+ 10.10.1.22
+
+
+
+
+ BGPPeer
+ 10.10.1.26
+
+
+
+
+ BGPPeer
+ 10.10.1.30
+
+
+
+
+
+
+
+ 64536
+ OCPSCH01040AALF
+
+
+
+ 64536
+ OCPSCH01040BBLF
+
+
+
+ 64536
+ OCPSCH01040CCLF
+
+
+
+ 64536
+ OCPSCH01040DDLF
+
+
+
+ 64536
+ OCPSCH01040EELF
+
+
+
+ 64536
+ OCPSCH01040FFLF
+
+
+
+ 64536
+ OCPSCH01040GGLF
+
+
+
+ 64536
+ OCPSCH01040HHLF
+
+
+
+
+
+
+
+
+
+ LoopbackInterface
+ HostIP
+ Loopback0
+
+ 100.0.0.1/32
+
+ 100.0.0.1/32
+
+
+
+
+
+
+
+ OCPSCH0104001MS
+
+
+
+ VlanInterface
+ Vlan851
+ Ethernet0;Ethernet1;Ethernet2;Ethernet3;Ethernet96;Ethernet100;Ethernet104;Ethernet108
+ False
+ 0.0.0.0/0
+
+ 851
+ 10.20.1.0/24
+
+
+
+
+ IPInterface
+
+ Vlan851
+ 10.20.1.1/24
+
+
+ IPInterface
+
+ Ethernet48
+ 10.10.1.2/30
+
+
+ IPInterface
+
+ Ethernet52
+ 10.10.1.6/30
+
+
+ IPInterface
+
+ Ethernet56
+ 10.10.1.10/30
+
+
+ IPInterface
+
+ Ethernet60
+ 10.10.1.14/30
+
+
+ IPInterface
+
+ Ethernet64
+ 10.10.1.18/30
+
+
+ IPInterface
+
+ Ethernet68
+ 10.10.1.22/30
+
+
+ IPInterface
+
+ Ethernet72
+ 10.10.1.26/30
+
+
+ IPInterface
+
+ Ethernet76
+ 10.10.1.30/30
+
+
+
+
+
+
+
+
+
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet48
+ OCPSCH01040AALF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet52
+ OCPSCH01040BBLF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet56
+ OCPSCH01040CCLF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet60
+ OCPSCH01040DDLF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet64
+ OCPSCH01040EELF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet68
+ OCPSCH01040FFLF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet72
+ OCPSCH01040GGLF
+ Ethernet0
+
+
+ 40000
+ DeviceInterfaceLink
+ OCPSCH0104001MS
+ Ethernet76
+ OCPSCH01040HHLF
+ Ethernet48
+
+
+
+
+ OCPSCH0104001MS
+ INGRASYS-S8900-64XC
+
+
+
+
+
+
+
+ OCPSCH0104001MS
+ INGRASYS-S8900-64XC
+
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/eeprom.py b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/eeprom.py
new file mode 100644
index 000000000000..c23edf5e772e
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/eeprom.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+#############################################################################
+# Ingrasys S8900-64XC
+#
+# 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-7/7-0054/eeprom"
+ super(board, self).__init__(self.eeprom_path, 0, '', True)
+
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/sfputil.py b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/sfputil.py
new file mode 100644
index 000000000000..d6573d20d72f
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/plugins/sfputil.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+
+import subprocess
+
+try:
+ from sonic_sfp.sfputilbase import sfputilbase
+except ImportError, e:
+ raise ImportError (str(e) + "- required module not found")
+
+i2c_set = 'i2cset'
+cpld_addr = '0x33'
+mux_reg = '0x4A'
+
+class sfputil(sfputilbase):
+ """Platform specific sfputil class"""
+
+ port_start = 0
+ port_end = 63
+ ports_in_block = 64
+
+ port_to_eeprom_mapping = {}
+ port_to_i2c_mapping = {
+ 0: [2,1],
+ 1: [2,2],
+ 2: [2,3],
+ 3: [2,4],
+ 4: [2,5],
+ 5: [2,6],
+ 6: [2,7],
+ 7: [2,8],
+ 8: [2,9],
+ 9: [2,10],
+ 10: [2,11],
+ 11: [2,12],
+ 12: [2,13],
+ 13: [2,14],
+ 14: [2,15],
+ 15: [2,16],
+ 16: [2,17],
+ 17: [2,18],
+ 18: [2,19],
+ 19: [2,20],
+ 20: [2,21],
+ 21: [2,22],
+ 22: [2,23],
+ 23: [2,24],
+ 24: [3,1],
+ 25: [3,2],
+ 26: [3,3],
+ 27: [3,4],
+ 28: [3,5],
+ 29: [3,6],
+ 30: [3,7],
+ 31: [3,8],
+ 32: [3,9],
+ 33: [3,10],
+ 34: [3,11],
+ 35: [3,12],
+ 36: [3,13],
+ 37: [3,14],
+ 38: [3,15],
+ 39: [3,16],
+ 40: [3,17],
+ 41: [3,18],
+ 42: [3,19],
+ 43: [3,20],
+ 44: [3,21],
+ 45: [3,22],
+ 46: [3,23],
+ 47: [3,24],
+ 48: [4,1],
+ 49: [4,2],
+ 50: [4,3],
+ 51: [4,4],
+ 52: [4,5],
+ 53: [4,6],
+ 54: [4,7],
+ 55: [4,8],
+ 56: [4,9],
+ 57: [4,10],
+ 58: [4,11],
+ 59: [4,12],
+ 60: [4,13],
+ 61: [4,14],
+ 62: [4,15],
+ 63: [4,16]
+ }
+
+
+ _qsfp_ports = range(0, ports_in_block + 1)
+
+ def __init__(self, port_num):
+ # Override port_to_eeprom_mapping for class initialization
+ i2c_bus = self.port_to_i2c_mapping[port_num][0]
+ sfp_idx = self.port_to_i2c_mapping[port_num][1]
+ proc = subprocess.Popen([i2c_set, '-y', str(i2c_bus), cpld_addr, mux_reg, str(sfp_idx)],
+ stdout=subprocess.PIPE,
+ shell=False,
+ stderr=subprocess.STDOUT)
+ stdout = proc.communicate()[0]
+ proc.wait()
+
+ eeprom_path = '/sys/class/i2c-adapter/i2c-{0[0]}/{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, port_num)
diff --git a/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/sensors.conf b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/sensors.conf
new file mode 100644
index 000000000000..27019509e9b7
--- /dev/null
+++ b/device/ingrasys/x86_64-ingrasys_s8900_64xc-r0/sensors.conf
@@ -0,0 +1,44 @@
+# libsensors configuration file
+chip "i350bb-*"
+ ignore loc1
+
+chip "jc42-*"
+ label temp1 "DIMM Temp"
+ set temp1_max 50
+ set temp1_crit 85
+
+chip "w83795adg-*"
+ label in0 "1.0V"
+ label in1 "1.0V_ROV"
+ label in2 "1.25V"
+ label in3 "1.8V"
+ ignore in4
+ ignore in5
+ ignore in6
+ ignore in7
+ label in12 "+3.3V"
+ 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"
+ label fan9 "FANTRAY 5-A"
+ label fan10 "FANTRAY 5-B"
+ label temp1 "Front MAC Temp"
+ label temp2 "Rear MAC Temp"
+ label temp3 "Near Port 15"
+ label temp4 "Near Port 56"
+ ignore intrusion0
+
+bus "i2c-5" "i2c-1-switch (chan_id 3)"
+chip "lm75-i2c-*-48"
+ label temp1 "FAN Temp1"
+chip "lm75-i2c-*-49"
+ label temp1 "FAN Temp2"
+
diff --git a/dockers/docker-orchagent/start.sh b/dockers/docker-orchagent/start.sh
index 088d0fe1bcf0..136394c7fe05 100755
--- a/dockers/docker-orchagent/start.sh
+++ b/dockers/docker-orchagent/start.sh
@@ -61,6 +61,10 @@ elif [ "$HWSKU" == "AS7512" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
elif [ "$HWSKU" == "INGRASYS-S9100-C32" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
+elif [ "$HWSKU" == "INGRASYS-S8900-54XC" ]; then
+ ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
+elif [ "$HWSKU" == "INGRASYS-S8900-64XC" ]; then
+ ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
elif [ "$HWSKU" == "ACS-MSN2700" ]; then
SWSSCONFIG_ARGS+="msn2700.32ports.buffers.json msn2700.32ports.qos.json "
fi