From 199661c21637cc2db24184ae84ae4ec06c11b113 Mon Sep 17 00:00:00 2001 From: selva <94485862+SelvaSupermicro@users.noreply.github.com> Date: Thu, 19 Jan 2023 09:17:51 -0800 Subject: [PATCH] [devices]: add support to Supermicro G3748 switches (#13420) Why I did it Enabled SONiC on Supermicro switch SSE G3748. This contains the code needed under "device" directory. How I did it As per the porting guide documentation posted in SONiC WiKi How to verify it Build SONiC with ARC=arm64 PLATFORM=marvell and download image from ONIE into Supermicro SSE G3748 --- .../arm64-supermicro_sse_g3748-r0/default_sku | 1 + .../arm64-supermicro_sse_g3748-r0/pcie.yaml | 5 + .../platform.json | 113 ++ .../platform_components.json | 10 + .../platform_reboot | 11 + .../plugins/eeprom.py | 16 + .../plugins/led_control.py | 175 ++ .../plugins/psuutil.py | 32 + .../plugins/sfputil.py | 117 ++ .../pmon_daemon_control.json | 4 + .../sensors.conf | 13 + .../sse_g3748/ASK-Board-ac5x-G3748.md5 | 1 + .../sse_g3748/ASK-Board-ac5x-G3748.xml | 1607 +++++++++++++++++ .../sse_g3748/ASK-L1-AC5X-G3748.md5 | 1 + .../sse_g3748/ASK-L1-AC5X-G3748.xml | 1219 +++++++++++++ .../sse_g3748/ASK-PP-AC5X-G3748.md5 | 1 + .../sse_g3748/ASK-PP-AC5X-G3748.xml | 891 +++++++++ .../sse_g3748/SAI-AC5X-G3748.md5 | 1 + .../sse_g3748/SAI-AC5X-G3748.xml | 315 ++++ .../sse_g3748/platform.ini | 1 + .../sse_g3748/port_config.ini | 55 + .../sse_g3748/profile.ini | 7 + .../sse_g3748/sai.profile | 4 + .../system_health_monitoring_config.json | 14 + .../thermal_policy.json | 65 + 25 files changed, 4679 insertions(+) create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/default_sku create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/pcie.yaml create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/platform.json create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/platform_components.json create mode 100755 device/supermicro/arm64-supermicro_sse_g3748-r0/platform_reboot create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/eeprom.py create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/led_control.py create mode 100755 device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/psuutil.py create mode 100755 device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/sfputil.py create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/pmon_daemon_control.json create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sensors.conf create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.md5 create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.xml create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.md5 create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.xml create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.md5 create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.xml create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.md5 create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.xml create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/platform.ini create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/port_config.ini create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/profile.ini create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/sai.profile create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/system_health_monitoring_config.json create mode 100644 device/supermicro/arm64-supermicro_sse_g3748-r0/thermal_policy.json diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/default_sku b/device/supermicro/arm64-supermicro_sse_g3748-r0/default_sku new file mode 100644 index 0000000000..3f6851869a --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/default_sku @@ -0,0 +1 @@ +sse_g3748 t1 diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/pcie.yaml b/device/supermicro/arm64-supermicro_sse_g3748-r0/pcie.yaml new file mode 100644 index 0000000000..d24f451843 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/pcie.yaml @@ -0,0 +1,5 @@ +- bus: '00' + dev: '00' + fn: '0' + id: '9821' + name: 'Non-VGA unclassified device: Marvell Technology Group Ltd. Device 9821' diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/platform.json b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform.json new file mode 100644 index 0000000000..d2bf2fdc34 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform.json @@ -0,0 +1,113 @@ +{ + "chassis": { + "name": "SSE-G3748", + "components": [ + { + "name": "System-CPLD" + }, + { + "name": "U-Boot" + } + ], + "fans": [ + { + "name": "Fan1", + "status_led": { + "controllable": true, + "colors": ["red", "green"] + } + }, + { + "name": "Fan2", + "status_led": { + "controllable": true, + "colors": ["red", "green"] + } + } + ], + "fan_drawers": [ + { + "name": "drawer1", + "status_led": { + "controllable": true, + "colors": ["red", "green"] + }, + "max_consumed_power": false, + "fans": [ + { + "name": "Fan1" + }, + { + "name": "Fan2" + } + ] + } + ], + "psus": [ + { + "name": "PSU1", + "status_led": { + "controllable": false + }, + "current": false, + "power": false, + "max_power": false, + "voltage_high_threshold": false, + "voltage_low_threshold": false, + "temperature": false + }, + { + "name": "PSU2", + "status_led": { + "controllable": false + }, + "current": false, + "power": false, + "max_power": false, + "voltage_high_threshold": false, + "voltage_low_threshold": false, + "temperature": false + } + ], + "thermals": [ + { + "name": "FRONT", + "controllable": false, + "low-threshold": false, + "high-threshold": false, + "low-crit-threshold": false, + "high-crit-threshold": false + }, + { + "name": "REAR", + "controllable": false, + "low-threshold": false, + "high-threshold": false, + "low-crit-threshold": false, + "high-crit-threshold": false + } + ], + "sfps": [ + { + "name": "Ethernet48" + }, + { + "name": "Ethernet49" + }, + { + "name": "Ethernet50" + }, + { + "name": "Ethernet51" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet53" + } + ] + }, + "interfaces": {} +} + diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_components.json b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_components.json new file mode 100644 index 0000000000..f515341b3d --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_components.json @@ -0,0 +1,10 @@ +{ + "chassis": { + "SSE-G3748": { + "component": { + "U-Boot": { }, + "System-CPLD": { } + } + } + } +} diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_reboot b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_reboot new file mode 100755 index 0000000000..a95459054c --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/platform_reboot @@ -0,0 +1,11 @@ +#!/bin/bash + +function SafePwrCycle() { + sync ; sync + umount -fa > /dev/null 2&>1 + + # Write CPLD register to initiate cold reboot + sudo i2cset -f -y 0 0x66 0x02 0x80 +} + +SafePwrCycle diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/eeprom.py b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/eeprom.py new file mode 100644 index 0000000000..b8d18f7ee9 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/eeprom.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python + +try: + from sonic_eeprom import eeprom_tlvinfo +except ImportError as 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 = "/etc/sonic/eeprom" + self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0054/eeprom" + if not os.path.exists(self.eeprom_path): + os.system("echo 24c02 0x54 > /sys/class/i2c-adapter/i2c-0/new_device") + super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/led_control.py b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/led_control.py new file mode 100644 index 0000000000..5010cd0463 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/led_control.py @@ -0,0 +1,175 @@ +# +# led_control.py +# +# Platform-specific LED control functionality for SONiC +# + +try: + from sonic_led.led_control_base import LedControlBase + import os + import time + import syslog + import sonic_platform.platform + import sonic_platform.chassis +except ImportError as e: + raise ImportError(str(e) + " - required module not found") + +smbus_present = 1 + +try: + import smbus +except ImportError as e: + smbus_present = 0 + + +def DBG_PRINT(str): + syslog.openlog("sse-g3748-led") + syslog.syslog(syslog.LOG_INFO, str) + syslog.closelog() + + +class LedControl(LedControlBase): + """Platform specific LED control class""" + SONIC_PORT_NAME_PREFIX = "Ethernet" + + # Constructor + def __init__(self): + self.chassis = sonic_platform.platform.Platform().get_chassis() + self._initDefaultConfig() + + def _initDefaultConfig(self): + # The fan tray leds and system led managed by new chassis class API + # leaving only a couple other front panel leds to be done old style + DBG_PRINT("starting system leds") + self._initSystemLed() + DBG_PRINT(" led done") + + def _set_i2c_register(self, reg_file, value): + # On successful write, the value read will be written on + # reg_name and on failure returns 'ERR' + rv = 'ERR' + + if (not os.path.isfile(reg_file)): + return rv + try: + with open(reg_file, 'w') as fd: + rv = fd.write(str(value)) + except Exception as e: + rv = 'ERR' + + return rv + + def _initSystemLed(self): + # Front Panel System LEDs setting + oldfan = 0xf + oldpsu0 = 0xf + oldpsu1 = 0xf + + # Write sys led + if smbus_present == 0: + DBG_PRINT(" PMON LED SET ERROR -> smbus present = 0 ") + else: + # System LED is controlled by CPLD (i2c 0x66) register 0x11 bits:3-0 + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x11 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + # write System LED Green + register = register & 0xFC | 0x01 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + DBG_PRINT(" System LED set O.K. ") + + while True: + # Front Panel FAN Panel LED setting in CPLD (i2c 0x66) register 0x11 bits:7-4 + if (self.chassis.get_fan(0).get_status() == self.chassis.get_fan(1).get_status() == True): + if oldfan != 0x1: + # Set Front Panel FAN LED to green + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x11 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xCF | 0x20 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldfan = 0x1 + DBG_PRINT(" Front panel LED FAN set green") + else: + if oldfan != 0x0: + # Set Front Panel FAN LED to red + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x11 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xCF | 0x10 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldfan = 0x0 + DBG_PRINT(" Front panel LED FAN set red") + + # Front Panel PSU Panel LED setting in CPLD (i2c 0x66) register 0x12 + # PSU0 -- bits: 1..0 PSU1 -- bits: 3..2 + if (self.chassis.get_psu(0).get_status() == True): + if oldpsu0 != 0x1: + # Set PSU0 LED to green + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x12 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xFC | 0x02 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldpsu0 = 0x1 + DBG_PRINT(" Front panel LED PSU0 set green") + else: + if oldpsu0 != 0x0: + # Set PSU0 LED to red + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x12 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xFC | 0x01 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldpsu0 = 0x0 + DBG_PRINT(" Front panel LED PSU0 set red") + + if (self.chassis.get_psu(1).get_status() == True): + if oldpsu1 != 0x1: + # Set PSU1 LED to green + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x12 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xF3 | 0x08 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldpsu1 = 0x1 + DBG_PRINT(" Front panel LED PSU1 set green") + else: + if oldpsu1 != 0x0: + # Set PSU1 LED to red + bus = smbus.SMBus(0) + DEVICE_ADDRESS = 0x66 + DEVICEREG = 0x12 + register = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) + register = register & 0xF3 | 0x04 + bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, register) + oldpsu1 = 0x0 + DBG_PRINT(" Front panel LED PSU1 set red") + + time.sleep(6) + + # Helper method to map SONiC port name to index + def _port_name_to_index(self, port_name): + # Strip "Ethernet" off port name + if not port_name.startswith(self.SONIC_PORT_NAME_PREFIX): + return -1 + + port_idx = int(port_name[len(self.SONIC_PORT_NAME_PREFIX):]) + return port_idx + + def _port_state_to_mode(self, port_idx, state): + DBG_PRINT("_port_state_to_mode") + + def _port_led_mode_update(self, port_idx, ledMode): + DBG_PRINT("_port_led_mode_update") + + # called when port states change- implementation of port_link_state_change() method if needed + def port_link_state_change(self, portname, state): + # DBG_PRINT("port_link_state_change ") + return diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/psuutil.py b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/psuutil.py new file mode 100755 index 0000000000..513b3ae408 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/psuutil.py @@ -0,0 +1,32 @@ +try: + import sonic_platform.platform + import sonic_platform.chassis + 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.chassis = sonic_platform.platform.Platform().get_chassis() + + def get_num_psus(self): + MAX_PSUS = 2 + return MAX_PSUS + + def get_psu_status(self, index): + # print " psuUtil redirect to PMON 2.0 " + if self.chassis is not None: + return self.chassis.get_psu(index-1).get_status() + else: + return False + + def get_psu_presence(self, index): + # print " psuUtil redirect to PMON 2.0 " + if self.chassis is not None: + return self.chassis.get_psu(index-1).get_presence() + else: + return False diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/sfputil.py b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/sfputil.py new file mode 100755 index 0000000000..58bdf3a476 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/plugins/sfputil.py @@ -0,0 +1,117 @@ +try: + import glob + import sonic_platform.platform + import sonic_platform.chassis + from sonic_sfp.sfputilbase import SfpUtilBase +except ImportError as e: + raise ImportError(str(e) + "- required module not found") + + +class SfpUtil(SfpUtilBase): + """Platform specific sfputil class""" + + _port_start = 49 + _port_end = 54 + ports_in_block = 4 + + _port_to_eeprom_mapping = {} + port_to_i2c_mapping = { + 49: 2, + 50: 3, + 51: 4, + 52: 5, + 53: 6, + 54: 7 + } + _changed_ports = [0, 0, 0, 0] + + @property + def port_start(self): + return self._port_start + + @property + def port_end(self): + return self._port_end + + @property + def qsfp_ports(self): + return list(range(0, 0)) + + @property + def port_to_eeprom_mapping(self): + return self._port_to_eeprom_mapping + + def __init__(self): + # Mux Ordering + mux_dev = sorted(glob.glob("/sys/class/i2c-adapter/i2c-1/i2c-[2-7]")) + eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom" + y = 0 + self.presence = {} + for x in range(self.port_start, self.port_end + 1): + mux_dev_num = mux_dev[y] + self.port_to_i2c_mapping[x] = mux_dev_num[-1] + y = y + 1 + port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x]) + self.port_to_eeprom_mapping[x] = port_eeprom_path + self._port_to_eeprom_mapping[x] = port_eeprom_path + self.presence[x] = False; + + SfpUtilBase.__init__(self) + + self.chassis = sonic_platform.platform.Platform().get_chassis() + + def reset(self, port_num): + # print " SfpUtil(SfpUtilBase) re-directed to chassis PMON 2.0 " + if self.chassis is not None: + return self.chassis.get_sfp(port_num).reset() + else: + return False + + def set_low_power_mode(self, port_nuM, lpmode): + # print " SfpUtil(SfpUtilBase) targeted for deprecation " + return False + + def get_low_power_mode(self, port_num): + # print " SfpUtil(SfpUtilBase) targeted for deprecation " + return False + + def get_presence(self, port_num): + # print " SfpUtil(SfpUtilBase) re-directed to chassis PMON 2.0 " + if self.chassis is not None: + return self.chassis.get_sfp(port_num).get_presence() + else: + return False + + def get_transceiver_change_event(self, timeout): + # print " SfpUtil(SfpUtilBase) targeted for deprecation " +# +# raise NotImplementedError + + now = time.time() + port_dict = {} + + if timeout < 1000: + timeout = 1000 + timeout = (timeout) / float(1000) # Convert to secs + + if now < (self.data['last'] + timeout) and self.data['valid']: + return True, {} + + for x in range(self.port_start, self.port_end + 1): + presence = self.get_presence(x) + if presence != self.presence[x]: + self.presence[x] = presence + # index in port_config.ini + if presence: + port_dict[x] = SFP_STATUS_INSERTED + else: + port_dict[x] = SFP_STATUS_REMOVED + + if bool(port_dict): + self.data['last'] = now + self.data['valid'] = 1 + return True, port_dict + else: + time.sleep(0.5) + return True, {} + diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/pmon_daemon_control.json b/device/supermicro/arm64-supermicro_sse_g3748-r0/pmon_daemon_control.json new file mode 100644 index 0000000000..f2a407daaf --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/pmon_daemon_control.json @@ -0,0 +1,4 @@ +{ + "skip_ledd": false +} + diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sensors.conf b/device/supermicro/arm64-supermicro_sse_g3748-r0/sensors.conf new file mode 100644 index 0000000000..38a92857f1 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sensors.conf @@ -0,0 +1,13 @@ +chip "lm75a-i2c-*-48" + label temp1 "Board temp sensor 1" + set temp1_max 65 + set temp1_crit 75 + +chip "lm75a-i2c-*-49" + label temp1 "Board temp sensor 2" + set temp2_max 65 + set temp2_crit 75 + +chip "armada_thermal-*" + ignore temp1 + diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.md5 b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.md5 new file mode 100644 index 0000000000..ad85b28162 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.md5 @@ -0,0 +1 @@ +a9434f801bdf89ef55e49be4ae288046 \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.xml b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.xml new file mode 100644 index 0000000000..a7bf814dc9 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-Board-ac5x-G3748.xml @@ -0,0 +1,1607 @@ + + + + + + std-string + string + standard string. + 1 + 100 + + + board-callback-type + enumeration + Specifies os/ext drv callback types. + + linux-static + Linux Static + 0 + + + linux-shared + Linux Shared Lib mode + 1 + + + external + External Os + 3 + + + freeBsd + Free BSD + 4 + + + + board-pp-map-type + enumeration + Specifies pci info types. + + fixed + Fixed + 0 + + + autoscan + Auto scan + 1 + + + + board-pp-interface-channel-type + enumeration + Specifies interface tunnel. + + pci + PCI + 0 + + + smi + SMI + 1 + + + pex + PEX + 3 + + + pex_eagle + PEX EAGLE + 5 + + + pex_falcon_z + PEX FALCON Z + 6 + + + + device-id-type + uint32 + Device ID 0..1023 + 0 + 1023 + + + port-mapping-type + enumeration + Specifies port map type. + + ethernet_mac + ETHERNET_MAC + 0 + + + cpu_sdma + CPU_SDMA + 1 + + + + interface-num-type + uint32 + Interface number + 0 + 1023 + + + txq-port-number-type + uint32 + 0 - 8 queues are configured per port (legacy mode), +1...16 - the number of queues configured per port + SIP 5 : Bobcat2,BobK:0..71 ;Bobcat3: 0..576 ;Aldrin2:0..99 + 0 + 576 + + + phy-smi-interface-type + uint32 + Phy SMI interface type. + 0 + 3 + + + phy-xsmi-interface-type + uint32 + Phy XSMI interface type. + 0 + 15 + + + phy-type + enumeration + Specifies the PHY Part Identifier. + + NA + No Phy + 0 + + + alaska-88E1543 + Specifies PHY identifier 88E1543, used for Combo ports. + 1 + + + alaska-88E1545 + Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + 2 + + + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + 3 + + + alaska-88E151X + Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + 4 + + + alaska-88E3140 + Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. Uses with FW SolarFlare next generation. + 5 + + + alaska-88E3240 + Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. Uses with FW, SolarFlare next generation. + 6 + + + alaska-88E3680 + Specifies PHY identifier 88E3680, used for Octal Copper 100M. + 7 + + + alaska-88E3220 + Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. Uses FW, SolarFlare next generation. + 8 + + + alaska-88E1680L + Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. + 9 + + + alaska-88E33X0 + Specifies PHY identifier 88E33X0, used for MGIG Combo. + 10 + + + alaska-88E1548 + Specifies PHY identifier 88E1548, used for Fiber GE. + 11 + + + alaska-88E20X0 + Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. + 12 + + + alaska-88E1512 + Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. + 13 + + + alaska-88E2180 + Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. + 14 + + + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver + 15 + + + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support + 16 + + + alaska-88E2580 + Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support + 17 + + + + physical-port-num-type + uint32 + PHYSICAL PORT NUM + 0 + 1023 + + + led-stream-port-type + enumeration + Specifies the ledstream port type. + + PORT_TYPE_TRI_SPEED + tri-speed port. + 1 + + + PORT_TYPE_XG + XG port. + 2 + + + + led-stream-blink-select-type + enumeration + Specifies the LED stream blink select type. + + BLINK_SELECT_0 + Blink 0 signal. + 1 + + + BLINK_SELECT_1 + Blink 1 signal + 2 + + + + led-stream-order-mode-type + enumeration + Specifies the LED stream ordering mode. + + ORDER_MODE_BY_PORT + the indication order is arranged by port. + 1 + + + ORDER_MODE_BY_CLASS + the indication order is arranged by class. + 2 + + + + led-stream-blink-duty-cycle-type + enumeration + Specifies the LED stream blink cycle duty cycle type. + + BLINK_DUTY_CYCLE_0 + 25% on, 75% off. + 1 + + + BLINK_DUTY_CYCLE_1 + 50% on, 50% off. + 2 + + + BLINK_DUTY_CYCLE_2 + 50% on, 50% off. + 3 + + + BLINK_DUTY_CYCLE_3 + 75% on, 25% off. + 4 + + + + led-stream-blink-duration-type + enumeration + Specifies the LED stream blink period type. + + BLINK_DURATION_0 + BLINK_DURATION_0. + 1 + + + BLINK_DURATION_1 + BLINK_DURATION_1. + 2 + + + BLINK_DURATION_2 + BLINK_DURATION_2. + 3 + + + BLINK_DURATION_3 + BLINK_DURATION_3. + 4 + + + BLINK_DURATION_4 + BLINK_DURATION_4. + 5 + + + BLINK_DURATION_5 + BLINK_DURATION_5. + 6 + + + BLINK_DURATION_6 + (APPLICABLE DEVICES: xCat3; AC5; Lion2; Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe) . + 7 + + + BLINK_DURATION_7 + APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe). + 8 + + + + led-stream-pulse-stretch-type + enumeration + Specifies the LED stream length of stretching for dynamic signals. + + PULSE_STRETCH_0_NO + PULSE_STRETCH_0_NO. + 1 + + + PULSE_STRETCH_1 + PULSE_STRETCH_1. + 2 + + + PULSE_STRETCH_2 + PULSE_STRETCH_2. + 3 + + + PULSE_STRETCH_3 + PULSE_STRETCH_3. + 4 + + + PULSE_STRETCH_4 + PULSE_STRETCH_4. + 5 + + + PULSE_STRETCH_5 + PULSE_STRETCH_5. + 6 + + + PULSE_STRETCH_6 + (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe). + 7 + + + PULSE_STRETCH_7 + (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe). + 8 + + + + led-stream-clock-out-frequency-type + enumeration + Specifies the LED stream blink cycle duty cycle type. + + _CLOCK_OUT_FREQUENCY_500 + 500 KHz LED clock frequency. + 1 + + + CLOCK_OUT_FREQUENCY_1000 + 1 MHz LED clock frequency. + 2 + + + CLOCK_OUT_FREQUENCY_2000 + 2 MHz LED clock frequency. + 3 + + + CLOCK_OUT_FREQUENCY_3000 + 3 MHz LED clock frequency. + 4 + + + + led-stream-class5-select-type + enumeration + Specifies the LED stream indication displayed on class5 (for dual-media port/phy). + + CLASS_5_SELECT_HALF_DUPLEX + Half Duplex is displayed on class5. + 1 + + + CLASS_5_SELECT_FIBER_LINK_UP + If port is a dual media port, Fiber Link Up is displayed on class5. + 2 + + + + led-stream-class13-select-type + enumeration + Specifies the LED stream indication displayed on class13 (for dual-media port/phy). + + CLASS_13_SELECT_LINK_DOWN + Link Down is displayed on class13. + 1 + + + CLASS_13_SELECT_COPPER_LINK_UP + If port is a dual media port, Copper Link Up is displayed on class13. + 2 + + + + led-class-num-type + uint32 + Led Class number + 0 + 11 + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + + + + bus-id-type + uint32 + Bus Id Type, PCI/SMI + 0 + 255 + + + function-id-type + uint32 + Function Id Type, PCI/SMI + 0 + 255 + + + domain-type + uint32 + Domain, PCI/SMI + 0 + 255 + + + led-interface-type + uint32 + Led interface + 0 + 255 + + + led-position-type + uint32 + Led position + 0 + 63 + + + serdes-lane-type + uint32 + serdes lane + 0 + 255 + + + cpu-type + enumeration + The CPU Internal/External + + external + Extrenal connected CPU + 0 + + + internal + Internal CPU + 1 + + + + led-stream-clock-frequency-type + uint32 + Led Clock Frequency Sip6 + 500 + 80000 + + + led-unit-type + uint32 + Led units + 1 + 16 + + + led-unit-or-no-unit-type + uint32 + Led units, 0 for no Unit + 0 + 16 + + + led-group-type + uint32 + Led Group + 0 + 1 + + + led-stream-force-data-type + string + A hexadecimal string with octets represented as hex digits +separated by colons. The canonical representation uses +lowercase characters. + 3 + 11 + + + bit-type + uint32 + Bit range 0..31 + 0 + 31 + + + bit-size-type + uint32 + Bit leng 1..32 + 1 + 32 + + + led-sip-type + enumeration + The LED scehme + + na + NA + 0 + + + sip5 + SIP5: AC5, AC3x + 5 + + + sip6 + SIP6: Falcon, AC5x, AC5P + 6 + + + + port-cscd-type + enumeration + Specifies the cascade port type. + + DSA_1_WORD + DSA Regular + 0 + + + DSA_2_WORDS + DSA Extended + 1 + + + NETWORK + Network. + 2 + + + DSA_3_WORDS + DSA 3 Words + 3 + + + DSA_4_WORD + DSA 4 Words + 4 + + + + trunk-cscd-type + uint32 + Specifies the Cascade Trunk id. + 0 + 127 + + + port-trunk-cscd-type + enumeration + Specifies the cascade port type. + + cscdPort + Cascade port + 0 + + + cscdTrunk + Csacde trunk + 1 + + + + hash-cscd-type + enumeration + Specifies the hash used by cascade trunk. + + pkt + Hash based on packet + 0 + + + srcPort + Hash based on source port + 1 + + + + AC5X-RD-G3748 + linux-static + linux-static + autoscan + internal + pex_eagle + + 0 + 0 + ASK-PP-AC5X-G3748.xml + ASK-L1-AC5X-G3748.xml + na + + 0 + + ethernet_mac + 0 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 0 + 0 + + + + + 1 + + ethernet_mac + 1 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 1 + 0 + + + + + 2 + + ethernet_mac + 2 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 2 + 0 + + + + + 3 + + ethernet_mac + 3 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 3 + 0 + + + + + 4 + + ethernet_mac + 4 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 4 + 0 + + + + + 5 + + ethernet_mac + 5 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 5 + 0 + + + + + 6 + + ethernet_mac + 6 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 6 + 0 + + + + + 7 + + ethernet_mac + 7 + 0 + false + + NETWORK + + alaska-88E1780 + 0 + 7 + 0 + + + + + 8 + + ethernet_mac + 8 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 8 + 0 + + + + + 9 + + ethernet_mac + 9 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 9 + 0 + + + + + 10 + + ethernet_mac + 10 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 10 + 0 + + + + + 11 + + ethernet_mac + 11 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 11 + 0 + + + + + 12 + + ethernet_mac + 12 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 12 + 0 + + + + + 13 + + ethernet_mac + 13 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 13 + 0 + + + + + 14 + + ethernet_mac + 14 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 14 + 0 + + + + + 15 + + ethernet_mac + 15 + 0 + false + + NETWORK + + alaska-88E1780 + 1 + 15 + 0 + + + + + 16 + + ethernet_mac + 16 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 16 + 0 + + + + + 17 + + ethernet_mac + 17 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 17 + 0 + + + + + 18 + + ethernet_mac + 18 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 18 + 0 + + + + + 19 + + ethernet_mac + 19 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 19 + 0 + + + + + 20 + + ethernet_mac + 20 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 20 + 0 + + + + + 21 + + ethernet_mac + 21 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 21 + 0 + + + + + 22 + + ethernet_mac + 22 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 22 + 0 + + + + + 23 + + ethernet_mac + 23 + 0 + false + + NETWORK + + alaska-88E1780 + 2 + 23 + 0 + + + + + 24 + + ethernet_mac + 24 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 0 + 1 + + + + + 25 + + ethernet_mac + 25 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 1 + 1 + + + + + 26 + + ethernet_mac + 26 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 2 + 1 + + + + + 27 + + ethernet_mac + 27 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 3 + 1 + + + + + 28 + + ethernet_mac + 28 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 4 + 1 + + + + + 29 + + ethernet_mac + 29 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 5 + 1 + + + + + 30 + + ethernet_mac + 30 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 6 + 1 + + + + + 31 + + ethernet_mac + 31 + 0 + false + + NETWORK + + alaska-88E1780 + 3 + 7 + 1 + + + + + 32 + + ethernet_mac + 32 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 8 + 1 + + + + + 33 + + ethernet_mac + 33 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 9 + 1 + + + + + 34 + + ethernet_mac + 34 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 10 + 1 + + + + + 35 + + ethernet_mac + 35 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 11 + 1 + + + + + 36 + + ethernet_mac + 36 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 12 + 1 + + + + + 37 + + ethernet_mac + 37 + 0 + false + + NETWORK + + alaska-88E1780 + 5 + 13 + 1 + + + + + 38 + + ethernet_mac + 38 + 0 + false + + NETWORK + + alaska-88E1780 + 5 + 14 + 1 + + + + + 39 + + ethernet_mac + 39 + 0 + false + + NETWORK + + alaska-88E1780 + 5 + 15 + 1 + + + + + 40 + + ethernet_mac + 40 + 0 + false + + NETWORK + + alaska-88E1780 + 5 + 16 + 1 + + + + + 41 + + ethernet_mac + 41 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 17 + 1 + + + + + 42 + + ethernet_mac + 42 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 18 + 1 + + + + + 43 + + ethernet_mac + 43 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 19 + 1 + + + + + 44 + + ethernet_mac + 44 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 20 + 1 + + + + + 45 + + ethernet_mac + 45 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 21 + 1 + + + + + 46 + + ethernet_mac + 46 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 22 + 1 + + + + + 47 + + ethernet_mac + 47 + 0 + false + + NETWORK + + alaska-88E1780 + 4 + 23 + 1 + + + + + 48 + + ethernet_mac + 48 + 0 + false + + NETWORK + + NA + + + + + 53 + + ethernet_mac + 53 + 0 + false + + NETWORK + + NA + + + + + 52 + + ethernet_mac + 52 + 0 + false + + NETWORK + + NA + + + + + 51 + + ethernet_mac + 51 + 0 + false + + NETWORK + + NA + + + + + 50 + + ethernet_mac + 50 + 0 + false + + NETWORK + + NA + + + + + 49 + + ethernet_mac + 49 + 0 + false + + NETWORK + + NA + + + + + 63 + + cpu_sdma + 54 + 0 + false + + NETWORK + + + 60 + + cpu_sdma + 55 + 0 + false + + NETWORK + + + . + + 1 + + + \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.md5 b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.md5 new file mode 100644 index 0000000000..0a8f542ec0 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.md5 @@ -0,0 +1 @@ +8e51017346a381613f8660e192883697 \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.xml b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.xml new file mode 100644 index 0000000000..f4622aa75c --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-L1-AC5X-G3748.xml @@ -0,0 +1,1219 @@ + + + + + + interface-mode-type + enumeration + Specifies supported Interface modes + + 1000BASE_X + 1G + 6 + + + SGMII + 1G , 2.5G + 3 + + + QSGMII + 1G + 13 + + + KR + 10G, 12G, 20G, 40G, 100G + 16 + + + SR_LR + 5G, 10G, 12G, 20G, 40G + 20 + + + KR2 + + 27 + + + KR4 + + 28 + + + SR_LR2 + + 29 + + + SR_LR4 + 100G + 30 + + + KR_C + CONSORTIUM - 25G + 32 + + + CR_C + CONSORTIUM - 25G + 33 + + + KR2_C + CONSORTIUM - 50G + 34 + + + CR2_C + CONSORTIUM - 50G + 35 + + + CR + + 36 + + + CR2 + + 37 + + + CR4 + + 38 + + + KR_S + + 39 + + + CR_S + + 40 + + + KR8 + + 41 + + + CR8 + + 42 + + + SR_LR8 + + 43 + + + USX_10G_QXGMII + + 51 + + + USX_20G_QXGMII + + 52 + + + USX_OUSGMII + + 53 + + + USX_20G_OXGMII + + 54 + + + NA + + 57 + + + + port-speed-type + enumeration + Specifies supported speeds + + 1G + 1G + 2 + + + 10G + 10G + 3 + + + 2500M + 2.5G + 5 + + + 5G + 5G + 6 + + + 25G + 25G, used in combination with CPSS_PORT_INTERFACE_MODE_KR_E, CPSS_PORT_INTERFACE_MODE_KR2_E + 21 + + + 40G + 40G + 9 + + + 50G + 50G + 14 + + + 100G + 100G + 13 + + + 200G + 200G + 24 + + + 400G + 400G + 25 + + + NA + NA + 35 + + + + fec-type + enumeration + Rx parameter type + + enabled + Enabled + 0 + + + disabled + Disabled + 1 + + + rs_enabled + RS FEC enabled + 2 + + + both_enabled + Both enabled + 3 + + + rs_544_514_enabled + RS FEC 544 and 514 + 4 + + + + physical-port-num-type + uint32 + PHYSICAL PORT NUM + 0 + 1023 + + + tx-param-type + enumeration + Tx parameter type + + atten + atten + 0 + + + post + post + 1 + + + pre + pre + 2 + + + pre2 + pre2 + 3 + + + pre3 + pre3 + 4 + + + peak + peak + 5 + + + main + main + 6 + + + txAmpAdjEn + txAmpAdjEn + 7 + + + emph0 + emph0 + 8 + + + emph1 + emph1 + 9 + + + txAmpShft + txAmpShft + 10 + + + txEmphEn + txEmphEn + 11 + + + txEmphEn1 + txEmphEn1 + 12 + + + txAmpAdj + txAmpAdj + 13 + + + slewCtrlEn + slewCtrlEn + 14 + + + slewRate + slewRate + 15 + + + + rx-param-type + enumeration + Rx parameter type + + sqlch + sqlch + 0 + + + DC + DC + 1 + + + LF + LF + 2 + + + HF + HF + 3 + + + gainShape1 + gainShape1 + 4 + + + gainShape2 + gainShape2 + 5 + + + shortChannelEn + shortChannelEn + 7 + + + bfLf + bfLf + 8 + + + bfHf + bfHf + 9 + + + minLf + minLf + 10 + + + maxLf + maxLf + 11 + + + minHf + minHf + 12 + + + maxHf + maxHf + 13 + + + minPre1 + minPre1 + 14 + + + maxPre1 + maxPre1 + 15 + + + minPre2 + minPre2 + 16 + + + maxPre2 + + 17 + + + minPost + minPost + 18 + + + maxPost + maxPost + 19 + + + squelch + squelch + 20 + + + termination + termination + 27 + + + coldEnvelope + coldEnvelope + 35 + + + hotEnvelope + hotEnvelope + 36 + + + dcGain + dcGain + 37 + + + bandWidth + bandWidth + 38 + + + dfe + dfe + 39 + + + ffeR + ffeR + 40 + + + ffeC + ffeC + 41 + + + sampler + sampler + 42 + + + align90 + align90 + 43 + + + ffeS + ffeS + 44 + + + resSel + resSel + 45 + + + resShift + resShift + 46 + + + capSel + capSel + 47 + + + ffeSettingForce + ffeSettingForce + 48 + + + adaptedResSel + adaptedResSel + 49 + + + adaptedCapSel + adaptedCapSel + 50 + + + selmufi + selmufi + 51 + + + selmuff + selmuff + 52 + + + selmupi + selmupi + 53 + + + selmupf + selmupf + 54 + + + slewRateCtrl0 + slewRateCtrl0 + 55 + + + slewRateCtrl1 + slewRateCtrl1 + 56 + + + EO + EO + 57 + + + dataRate + dataRate + 58 + + + res1Sel + res1Sel + 59 + + + res2Sel + res2Sel + 60 + + + cap1Sel + cap1Sel + 61 + + + cap2Sel + cap2Sel + 62 + + + midpointLargeThresKLane + midpointLargeThresKLane + 63 + + + midpointSmallThresKLane + midpointSmallThresKLane + 64 + + + midpointLargeThresCLane + midpointLargeThresCLane + 65 + + + midpointSmallThresCLane + midpointSmallThresCLane + 66 + + + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 67 + + + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 68 + + + current1Sel + current1Sel + 69 + + + rl1Sel + rl1Sel + 70 + + + rl1Extra + rl1Extra + 71 + + + cl1Ctrl + cl1Ctrl + 72 + + + enMidFreq + enMidFreq + 73 + + + cs1Mid + cs1Mid + 74 + + + rs1Mid + rs1Mid + 75 + + + rfCtrl + rfCtrl + 76 + + + rl1TiaSel + rl1TiaSel + 77 + + + rl1TiaExtra + rl1TiaExtra + 78 + + + hpfRSel1st + hpfRSel1st + 79 + + + current1TiaSel + current1TiaSel + 80 + + + rl2Tune + rl2Tune + 81 + + + rl2Sel + rl2Sel + 82 + + + rs2Sel + rs2Sel + 83 + + + current2Sel + current2Sel + 84 + + + hpfRsel2nd + hpfRsel2nd + 85 + + + BW + BW + 86 + + + dfeGAIN + dfeGAIN + 87 + + + dfeGAIN2 + dfeGAIN2 + 88 + + + pre1 + pre1 + 89 + + + pre2 + pre2 + 90 + + + post1 + post1 + 91 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + + + + serdes-type + enumeration + Serdes Type + + NA + No serdes + 0 + + + AVAGO + AVAGO + 1 + + + COMPHY + COMPHY + 2 + + + COMPHY_C12G + COMPHY_C12G + 3 + + + COMPHY_C28G + COMPHY_C28G + 4 + + + COMPHY_C112G + COMPHY_C112G + 5 + + + + uint8-type + uint32 + Uint8 32 bits , due to bing endian + 0 + 255 + + + serdes-termination-type + enumeration + RX termination mode + + GND + Enabled + 0 + + + VDD + Disabled + 1 + + + FLOATING + RS FEC enabled + 2 + + + + port-interconnect-profile-type + enumeration + Enumerator of interconnect profile. + + profile_default + Profile Default + 0 + + + profile_1 + Profile 1 + 1 + + + profile_2 + Profile 2 + 2 + + + + + + 1000MR1 + + USX_OUSGMII + 1G + disabled + + + USX_OUSGMII + 1G + disabled + disabled + + + + 2500MR1 + + USX_20G_OXGMII + 2500M + rs_enabled + + + USX_20G_OXGMII + 1G + rs_enabled + + + USX_20G_OXGMII + 2500M + rs_enabled + rs_enabled + + + USX_20G_OXGMII + 1G + rs_enabled + rs_enabled + + + + 25GR1 + + CR + 25G + rs_enabled + + + KR + 25G + rs_enabled + + + KR + 10G + disabled + + + CR + 25G + rs_enabled + rs_enabled + + + KR + 25G + rs_enabled + rs_enabled + + + KR + 10G + disabled + disabled + + + + + + 0 + AVAGO + profile_default + 1000MR1 + + + 1 + AVAGO + profile_default + 1000MR1 + + + 2 + AVAGO + profile_default + 1000MR1 + + + 3 + AVAGO + profile_default + 1000MR1 + + + 4 + AVAGO + profile_default + 1000MR1 + + + 5 + AVAGO + profile_default + 1000MR1 + + + 6 + AVAGO + profile_default + 1000MR1 + + + 7 + AVAGO + profile_default + 1000MR1 + + + 8 + AVAGO + profile_default + 1000MR1 + + + 9 + AVAGO + profile_default + 1000MR1 + + + 10 + AVAGO + profile_default + 1000MR1 + + + 11 + AVAGO + profile_default + 1000MR1 + + + 12 + AVAGO + profile_default + 1000MR1 + + + 13 + AVAGO + profile_default + 1000MR1 + + + 14 + AVAGO + profile_default + 1000MR1 + + + 15 + AVAGO + profile_default + 1000MR1 + + + 16 + AVAGO + profile_default + 1000MR1 + + + 17 + AVAGO + profile_default + 1000MR1 + + + 18 + AVAGO + profile_default + 1000MR1 + + + 19 + AVAGO + profile_default + 1000MR1 + + + 20 + AVAGO + profile_default + 1000MR1 + + + 21 + AVAGO + profile_default + 1000MR1 + + + 22 + AVAGO + profile_default + 1000MR1 + + + 23 + AVAGO + profile_default + 1000MR1 + + + 24 + AVAGO + profile_default + 1000MR1 + + + 25 + AVAGO + profile_default + 1000MR1 + + + 26 + AVAGO + profile_default + 1000MR1 + + + 27 + AVAGO + profile_default + 1000MR1 + + + 28 + AVAGO + profile_default + 1000MR1 + + + 29 + AVAGO + profile_default + 1000MR1 + + + 30 + AVAGO + profile_default + 1000MR1 + + + 31 + AVAGO + profile_default + 1000MR1 + + + 32 + AVAGO + profile_default + 1000MR1 + + + 33 + AVAGO + profile_default + 1000MR1 + + + 34 + AVAGO + profile_default + 1000MR1 + + + 35 + AVAGO + profile_default + 1000MR1 + + + 36 + AVAGO + profile_default + 1000MR1 + + + 37 + AVAGO + profile_default + 1000MR1 + + + 38 + AVAGO + profile_default + 1000MR1 + + + 39 + AVAGO + profile_default + 1000MR1 + + + 40 + AVAGO + profile_default + 1000MR1 + + + 41 + AVAGO + profile_default + 1000MR1 + + + 42 + AVAGO + profile_default + 1000MR1 + + + 43 + AVAGO + profile_default + 1000MR1 + + + 44 + AVAGO + profile_default + 1000MR1 + + + 45 + AVAGO + profile_default + 1000MR1 + + + 46 + AVAGO + profile_default + 1000MR1 + + + 47 + AVAGO + profile_default + 1000MR1 + + + 48 + AVAGO + profile_default + 25GR1 + + + 49 + AVAGO + profile_default + 25GR1 + + + 50 + AVAGO + profile_default + 25GR1 + + + 51 + AVAGO + profile_default + 25GR1 + + + 52 + AVAGO + profile_default + 25GR1 + + + 53 + AVAGO + profile_default + 25GR1 + + + + \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.md5 b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.md5 new file mode 100644 index 0000000000..18f55a9315 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.md5 @@ -0,0 +1 @@ +330bea15c5dc5dcc0bdabd95940b6bab \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.xml b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.xml new file mode 100644 index 0000000000..6944bbcb42 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/ASK-PP-AC5X-G3748.xml @@ -0,0 +1,891 @@ + + + + + + std-string + string + standard string. + 1 + 100 + + + queue-id-type + uint32 + Queue id + 0 + 7 + + + precent-type + uint32 + Precent + 0 + 100 + + + phaThreadId-type + uint32 + Thread id + 1 + 255 + + + routing-mode-type + enumeration + Specifies routing mode. + + POLICY_BASED_ROUTING_ONLY + PBR only + 0 + + + TCAM_ROUTER_BASED + Router engine or PBR + 1 + + + + shared-table-mode-type + enumeration + Specifies table sharing modes. + + MAX_L3_MIN_L2_NO_EM + MAX_L3_MIN_L2_NO_EM + 0 + + + MIN_L3_MAX_L2_NO_EM + MIN_L3_MAX_L2_NO_EM + 1 + + + MID_L3_MID_L2_MIN_EM + MID_L3_MID_L2_MIN_EM + 2 + + + MID_L3_MIN_L2_MAX_EM + MID_L3_MIN_L2_MAX_EM + 3 + + + MID_LOW_L3_MID_LOW_L2_MAX_EM + MID_LOW_L3_MID_LOW_L2_MAX_EM + 4 + + + MID_L3_MID_L2_NO_EM + MID_L3_MID_L2_NO_EM + 5 + + + MID_LOW_L3_MID_L2_MID_EM + MID_LOW_L3_MID_L2_MID_EM + 6 + + + MID_L3_MID_LOW_L2_MID_EM_MAX_ARP + MID_L3_MID_LOW_L2_MID_EM_MAX_ARP + 7 + + + + pha-firmware-image-id-type + enumeration + Specifies supported Pha image id + + DEFAULT + Default PHA firmware image ID + 0 + + + 01 + 01 firmware image ID + 1 + + + 02 + 02 PHA firmware image ID + 2 + + + + pha-firmware-thread-type + enumeration + Specifies supported Pha thread type + + IOAM_INGRESS_SWITCH_IPV4 + IOAM_INGRESS_SWITCH_IPV4 + 1 + + + IOAM_INGRESS_SWITCH_IPV6 + IOAM_INGRESS_SWITCH_IPV6 + 2 + + + IOAM_TRANSIT_SWITCH_IPV4 + IOAM_TRANSIT_SWITCH_IPV4 + 3 + + + IOAM_TRANSIT_SWITCH_IPV6 + IOAM_TRANSIT_SWITCH_IPV6 + 4 + + + INT_IOAM_MIRRORING + INT_IOAM_MIRRORING + 5 + + + INT_IOAM_EGRESS_SWITCH + INT_IOAM_EGRESS_SWITCH + 6 + + + MPLS_SR_NO_EL + MPLS_SR_NO_EL + 7 + + + MPLS_SR_ONE_EL + MPLS_SR_ONE_EL + 8 + + + MPLS_SR_TWO_EL + MPLS_SR_TWO_EL + 9 + + + MPLS_SR_THREE_EL + MPLS_SR_THREE_EL + 10 + + + UNIFIED_SR + UNIFIED_SR + 11 + + + CLASSIFIER_NSH_OVER_ETHERNET + CLASSIFIER_NSH_OVER_ETHERNET + 12 + + + CLASSIFIER_NSH_OVER_VXLAN_GPE + CLASSIFIER_NSH_OVER_VXLAN_GPE + 13 + + + SFF_NSH_VXLAN_GPE_TO_ETHERNET + SFF_NSH_VXLAN_GPE_TO_ETHERNET + 14 + + + SFF_NSH_ETHERNET_TO_VXLAN_GPE + SFF_NSH_ETHERNET_TO_VXLAN_GPE + 15 + + + IOAM_EGRESS_SWITCH_IPV6 + IOAM_EGRESS_SWITCH_IPV6 + 16 + + + SRV6_END_NODE + SRV6_END_NODE + 17 + + + SRV6_PENULTIMATE_END_NODE + SRV6_PENULTIMATE_END_NODE + 18 + + + SRV6_SRC_NODE_1_SEGMENT + SRV6_SRC_NODE_1_SEGMENT + 19 + + + SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS + SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS + 20 + + + SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS + SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS + 21 + + + SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS + SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS + 22 + + + SGT_NETWORK_ADD_MSB + SGT_NETWORK_ADD_MSB + 23 + + + SGT_NETWORK_FIX + SGT_NETWORK_FIX + 24 + + + SGT_NETWORK_REMOVE + SGT_NETWORK_REMOVE + 25 + + + SGT_EDSA_FIX + SGT_EDSA_FIX + 26 + + + SGT_EDSA_REMOVE + SGT_EDSA_REMOVE + 27 + + + SGT_GBP_FIX_IPV4 + SGT_GBP_FIX_IPV4 + 28 + + + SGT_GBP_FIX_IPV6 + SGT_GBP_FIX_IPV6 + 29 + + + SGT_GBP_REMOVE_IPV4 + SGT_GBP_REMOVE_IPV4 + 30 + + + SGT_GBP_REMOVE_IPV6 + SGT_GBP_REMOVE_IPV6 + 31 + + + PTP_PHY_1_STEP + PTP_PHY_1_STEP + 32 + + + EGRESS_MIRRORING_METADATA + EGRESS_MIRRORING_METADATA + 33 + + + CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4 + CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4 + 34 + + + CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6 + CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6 + 35 + + + CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4 + CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4 + 36 + + + CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6 + CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6 + 37 + + + CC_ERSPAN_TYPE_II_SRC_DEV + CC_ERSPAN_TYPE_II_SRC_DEV + 38 + + + VXLAN_GBP_SOURCE_GROUP_POLICY_ID + VXLAN_GBP_SOURCE_GROUP_POLICY_ID + 39 + + + SRV6_BEST_EFFORT + SRV6_BEST_EFFORT + 40 + + + SRV6_SRC_NODE_1_CONTAINER + SRV6_SRC_NODE_1_CONTAINER + 41 + + + SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS + SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS + 42 + + + SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS + SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS + 43 + + + SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS + SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS + 44 + + + SRV6_END_NODE_COC32_GSID + SRV6_END_NODE_COC32_GSID + 45 + + + IPV4_TTL_INCREMENT + IPV4_TTL_INCREMENT + 46 + + + IPV6_HOP_LIMIT_INCREMENT + IPV6_HOP_LIMIT_INCREMENT + 47 + + + CLEAR_OUTGOING_MTAG_COMMAND + CLEAR_OUTGOING_MTAG_COMMAND + 48 + + + SFLOW_V5_IPV4 + SFLOW_V5_IPV4 + 49 + + + SFLOW_V5_IPV6 + SFLOW_V5_IPV6 + 50 + + + SLS + SLS + 51 + + + + trunk-member-mode-type + enumeration + Specifies supported Pha image id + + NATIVE + NATIVE + * the trunk members are filled + * according to the order given by application. + * Regular trunk may hold max of 8 members. + * Cascade trunk may hold : + * max of 64 members + 0 + + + FLEX + FLEX + * A mode to allows flexibility for + * each Regular trunk to state it's max number of members (before starting to add members). + * (this mode not effect 'cascade trunk' members) + * Regular trunk may hold : max of 4K members. (each trunk set it's own limit) + * Cascade trunk may hold : max of 64 members. + 2 + + + + number-physical-port-type + enumeration + ac5x 128, falcon 64,128,256, 512, 1024 + + no-ports + no-ports + 0 + + + 64-ports + 64-ports + 64 + + + 128-ports + 128-ports + 128 + + + 256-ports + 256-ports + 256 + + + 512-ports + 512-ports + 512 + + + 1024-ports + 1024-ports + 1024 + + + + serdes-ref-clock-type + enumeration + Specifies serdes refernce clock. + + external_25_single_ended + EXTERNAL_25_SINGLE_ENDED + 0 + + + external_125_single_ended + EXTERNAL_125_SINGLE_ENDED + 1 + + + external_125_diff + EXTERNAL_125_DIFF + 2 + + + external_156_25_single_ended + EXTERNAL_156_25_SINGLE_ENDED + 3 + + + external_156_25_diff + EXTERNAL_156_25_DIFF + 4 + + + internal_125 + INTERNAL_125 + 5 + + + + cpu-port-id-type + uint32 + CPU port id + 0 + 7 + + + rx-buffer-size-type + uint32 + Rx Buffer size + 64 + 10240 + + + tx-sdma-queue-mode-type + enumeration + Specifies TX queue mode. + + Normal + Application + 0 + + + Packet_Generator + Traffic generator + 1 + + + + alloc-method-type + enumeration + Specifies Buffers allocation method. + + Dynamic_Alloc + Dynamic + 0 + + + Static_Alloc + Static + 1 + + + + au_mesage_lenght-type + enumeration + Specifies Buffers allocation method. + + 4_words + 4 Words + 0 + + + 8_words + 8 Words + 1 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + + + + + AC5X-RD + + 4294967295 + external_25_single_ended + 2 + 60 + 128-ports + false + false + 0 + + + true + + 4096 + + + 2048 + + + + 0 + 0 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 7 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 6 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 5 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 4 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 3 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 2 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 1 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 1 + 0 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 7 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 6 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 5 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 4 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 3 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 2 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 1 + Static_Alloc + 20 + 20 + 2048 + 0 + + + 0 + 0 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 1 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 2 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 3 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 4 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 5 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 6 + Static_Alloc + Normal + 20 + 0 + 128 + + + 0 + 7 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 0 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 1 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 2 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 3 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 4 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 5 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 6 + Static_Alloc + Normal + 20 + 0 + 128 + + + 1 + 7 + Static_Alloc + Normal + 20 + 0 + 128 + + + + false + false + false + 0 + 8_words + false + + + + TCAM_ROUTER_BASED + 0 + MID_L3_MID_L2_NO_EM + true + + + true + true + true + true + true + true + + 511 + FLEX + + true + true + true + true + + false + 01 + 0 + + + + + \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.md5 b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.md5 new file mode 100644 index 0000000000..6cdba7a1b7 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.md5 @@ -0,0 +1 @@ +3ac4dbcd6e23c747318b7e7c27e08a02 \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.xml b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.xml new file mode 100644 index 0000000000..bb2f800047 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/SAI-AC5X-G3748.xml @@ -0,0 +1,315 @@ + + + + + + device-id-type + uint32 + Device ID 0..1023 + 0 + 1023 + + + port-id-type + uint32 + Interface number + 0 + 1023 + + + ASK-Board-ac5x-G3748.xml + + false + + + + 0 + 0 + 0 + + + 1 + 0 + 1 + + + 2 + 0 + 2 + + + 3 + 0 + 3 + + + 4 + 0 + 4 + + + 5 + 0 + 5 + + + 6 + 0 + 6 + + + 7 + 0 + 7 + + + 8 + 0 + 8 + + + 9 + 0 + 9 + + + 10 + 0 + 10 + + + 11 + 0 + 11 + + + 12 + 0 + 12 + + + 13 + 0 + 13 + + + 14 + 0 + 14 + + + 15 + 0 + 15 + + + 16 + 0 + 16 + + + 17 + 0 + 17 + + + 18 + 0 + 18 + + + 19 + 0 + 19 + + + 20 + 0 + 20 + + + 21 + 0 + 21 + + + 22 + 0 + 22 + + + 23 + 0 + 23 + + + 24 + 0 + 24 + + + 25 + 0 + 25 + + + 26 + 0 + 26 + + + 27 + 0 + 27 + + + 28 + 0 + 28 + + + 29 + 0 + 29 + + + 30 + 0 + 30 + + + 31 + 0 + 31 + + + 32 + 0 + 32 + + + 33 + 0 + 33 + + + 34 + 0 + 34 + + + 35 + 0 + 35 + + + 36 + 0 + 36 + + + 37 + 0 + 37 + + + 38 + 0 + 38 + + + 39 + 0 + 39 + + + 40 + 0 + 40 + + + 41 + 0 + 41 + + + 42 + 0 + 42 + + + 43 + 0 + 43 + + + 44 + 0 + 44 + + + 45 + 0 + 45 + + + 46 + 0 + 46 + + + 47 + 0 + 47 + + + 48 + 0 + 48 + + + 49 + 0 + 49 + + + 50 + 0 + 50 + + + 51 + 0 + 51 + + + 52 + 0 + 52 + + + 53 + 0 + 53 + + + + 8 + 0 + 0 + 64 + 8 + 8 + 1024 + 0 + + + + 0 + + + 2048 + + + + \ No newline at end of file diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/platform.ini b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/platform.ini new file mode 100644 index 0000000000..782144317a --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/platform.ini @@ -0,0 +1 @@ +# Port lane speed DC BW HF LF sqlch minLf maxLf minHf maxHf diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/port_config.ini b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/port_config.ini new file mode 100644 index 0000000000..003307d32f --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/port_config.ini @@ -0,0 +1,55 @@ +# name lanes alias speed autoneg fec index +Ethernet0 0 Gi0/1 1000 on none 1 +Ethernet1 1 Gi0/2 1000 on none 2 +Ethernet2 2 Gi0/3 1000 on none 3 +Ethernet3 3 Gi0/4 1000 on none 4 +Ethernet4 4 Gi0/5 1000 on none 5 +Ethernet5 5 Gi0/6 1000 on none 6 +Ethernet6 6 Gi0/7 1000 on none 7 +Ethernet7 7 Gi0/8 1000 on none 8 +Ethernet8 8 Gi0/9 1000 on none 9 +Ethernet9 9 Gi0/10 1000 on none 10 +Ethernet10 10 Gi0/11 1000 on none 11 +Ethernet11 11 Gi0/12 1000 on none 12 +Ethernet12 12 Gi0/13 1000 on none 13 +Ethernet13 13 Gi0/14 1000 on none 14 +Ethernet14 14 Gi0/15 1000 on none 15 +Ethernet15 15 Gi0/16 1000 on none 16 +Ethernet16 16 Gi0/17 1000 on none 17 +Ethernet17 17 Gi0/18 1000 on none 18 +Ethernet18 18 Gi0/19 1000 on none 19 +Ethernet19 19 Gi0/20 1000 on none 20 +Ethernet20 20 Gi0/21 1000 on none 21 +Ethernet21 21 Gi0/22 1000 on none 22 +Ethernet22 22 Gi0/23 1000 on none 23 +Ethernet23 23 Gi0/24 1000 on none 24 +Ethernet24 24 Gi0/25 1000 on none 25 +Ethernet25 25 Gi0/26 1000 on none 26 +Ethernet26 26 Gi0/27 1000 on none 27 +Ethernet27 27 Gi0/28 1000 on none 28 +Ethernet28 28 Gi0/29 1000 on none 29 +Ethernet29 29 Gi0/30 1000 on none 30 +Ethernet30 30 Gi0/31 1000 on none 31 +Ethernet31 31 Gi0/32 1000 on none 32 +Ethernet32 32 Gi0/33 1000 on none 33 +Ethernet33 33 Gi0/34 1000 on none 34 +Ethernet34 34 Gi0/35 1000 on none 35 +Ethernet35 35 Gi0/36 1000 on none 36 +Ethernet36 36 Gi0/37 1000 on none 37 +Ethernet37 37 Gi0/38 1000 on none 38 +Ethernet38 38 Gi0/39 1000 on none 39 +Ethernet39 39 Gi0/40 1000 on none 40 +Ethernet40 40 Gi0/41 1000 on none 41 +Ethernet41 41 Gi0/42 1000 on none 42 +Ethernet42 42 Gi0/43 1000 on none 43 +Ethernet43 43 Gi0/44 1000 on none 44 +Ethernet44 44 Gi0/45 1000 on none 45 +Ethernet45 45 Gi0/46 1000 on none 46 +Ethernet46 46 Gi0/47 1000 on none 47 +Ethernet47 47 Gi0/48 1000 on none 48 +Ethernet48 48 Fx0/1 25000 on rs 49 +Ethernet49 49 Fx0/2 25000 on rs 50 +Ethernet50 50 Fx0/3 25000 on rs 51 +Ethernet51 51 Fx0/4 25000 on rs 52 +Ethernet52 52 Fx0/5 25000 on rs 53 +Ethernet53 53 Fx0/6 25000 on rs 54 diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/profile.ini b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/profile.ini new file mode 100644 index 0000000000..16600d34e6 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/profile.ini @@ -0,0 +1,7 @@ +switchMacAddress=00:01:02:03:04:05 +portListWithCableLen=000:1 001:1 002:1 003:1 004:1 005:1 006:1 007:1 008:1 009:1 010:1 011:1 012:1 013:1 014:1 015:1 016:1 017:1 018:1 019:1 020:1 021:1 022:1 023:1 024:1 025:1 026:1 027:1 028:1 029:1 030:1 031:1 032:1 033:1 034:1 035:1 036:1 037:1 038:1 039:1 040:1 041:1 042:1 043:1 044:1 045:1 046:1 047:1 048:1 049:1 050:1 051:1 052:1 053:1 +platformConfigFile=/usr/share/sonic/hwsku/platform.ini +lpm_fdb_em_profile=MID_L3_MID_L2_NO_EM +l3_counter_index_base=0 2K +pbrMaxEntries=0 +SAI_NUM_ECMP_MEMBERS=64 diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/sai.profile b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/sai.profile new file mode 100644 index 0000000000..2f3febd68e --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/sse_g3748/sai.profile @@ -0,0 +1,4 @@ +mode=1 +hwId=AC5XG3748 +switchProfile=/usr/share/sonic/hwsku/SAI-AC5X-G3748.xml +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/system_health_monitoring_config.json b/device/supermicro/arm64-supermicro_sse_g3748-r0/system_health_monitoring_config.json new file mode 100644 index 0000000000..d5f3a7b983 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/system_health_monitoring_config.json @@ -0,0 +1,14 @@ +{ + "services_to_ignore": [], + "devices_to_ignore": [ + "asic", + "psu.temperature" + ], + "user_defined_checkers": [], + "polling_interval": 60, + "led_color": { + "fault": "amber", + "normal": "green", + "booting": "blinking green" + } +} diff --git a/device/supermicro/arm64-supermicro_sse_g3748-r0/thermal_policy.json b/device/supermicro/arm64-supermicro_sse_g3748-r0/thermal_policy.json new file mode 100644 index 0000000000..7757303c54 --- /dev/null +++ b/device/supermicro/arm64-supermicro_sse_g3748-r0/thermal_policy.json @@ -0,0 +1,65 @@ +{ + "thermal_control_algorithm": { + "run_at_boot_up": "false", + "fan_speed_when_suspend": "50" + }, + "info_types": [ + { + "type": "fan_info" + }, + { + "type": "thermal_info" + }, + { + "type": "chassis_info" + } + ], + "policies": [ + { + "name": "any fan absence", + "conditions": [ + { + "type": "fan.any.absence" + } + ], + "actions": [ + { + "type": "thermal_control.control", + "status": "false" + }, + { + "type": "fan.all.set_speed", + "speed": "100" + } + ] + }, + { + "name": "all fan presence", + "conditions": [ + { + "type": "fan.all.presence" + } + ], + "actions": [ + { + "type": "thermal.temp_check_and_set_all_fan_speed", + "default_speed": "25", + "hightemp_speed": "100" + } + ] + }, + { + "name": "temp over high critical threshold", + "conditions": [ + { + "type": "thermal.over.high_critical_threshold" + } + ], + "actions": [ + { + "type": "switch.shutdown" + } + ] + } + ] +}