Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[device/Pegatron] Add platform support for fn-6254-dn-f and update Porsche project #3349

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
39465d0
Add Porsch project with Nephos
Peter5Lin Nov 3, 2018
8264044
Fix indentation issue
Peter5Lin Nov 7, 2018
01eb315
Fix indentation issue
Peter5Lin Nov 7, 2018
ab5d41a
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Nov 12, 2018
dec1ebb
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Nov 13, 2018
a97bcb1
remove minigraph
Peter5Lin Nov 13, 2018
f3b4eaa
Upgrade kernel to 3.16.57-2
Peter5Lin Nov 15, 2018
dba7940
Upgrade Kernel to 4.9.11
Peter5Lin Nov 15, 2018
03e1880
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Dec 28, 2018
57a3e4c
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Jan 30, 2019
c08f283
1. fix build error and change kernel to 4.9.08
Peter5Lin Jan 30, 2019
d557710
1. add platfporm fn-6254-dn-5
Peter5Lin Apr 1, 2019
9f80cde
add missing folder
Peter5Lin Apr 2, 2019
43d1094
remove ixgbe patch
Peter5Lin Apr 11, 2019
ae20550
add Intel ixgbe driver patch for pegatron fn-6254-dn-f
Peter5Lin Apr 11, 2019
c5cf09b
update sdk config file
Peter5Lin Apr 30, 2019
dd7ea36
remove ixgbe kernel patch
Peter5Lin May 2, 2019
8f0553b
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Jun 21, 2019
03f759f
1. add ixgbe driver for fn-6254-dn-f
Peter5Lin Jun 21, 2019
73efdfa
change ixgbe driver from Linux 4.4.0-k to Intel 5.2.4
Peter5Lin Jun 24, 2019
1648656
Merge branch 'master' of https://github.com/Azure/sonic-buildimage
Peter5Lin Aug 8, 2019
5f1f014
1. remove ixgbe driver (use github to download and patch it)
Peter5Lin Aug 8, 2019
06493c7
Modify porsche project utility
Peter5Lin Aug 13, 2019
c2014a7
remove unuse command
Peter5Lin Aug 13, 2019
0857ab7
change sfp eeprom driver from at24 to optoe
Peter5Lin Aug 21, 2019
3953574
1. get ixgbe driver from sonic storage
Peter5Lin Aug 22, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fn-6254-dn-f t1
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#name lanes alias index speed
Ethernet0 8 Ethernet1/1 0 25000
Ethernet1 9 Ethernet2/1 1 25000
Ethernet2 10 Ethernet3/1 2 25000
Ethernet3 11 Ethernet4/1 3 25000
Ethernet4 12 Ethernet5/1 4 25000
Ethernet5 13 Ethernet6/1 5 25000
Ethernet6 14 Ethernet7/1 6 25000
Ethernet7 15 Ethernet8/1 7 25000
Ethernet8 16 Ethernet9/1 8 25000
Ethernet9 17 Ethernet10/1 9 25000
Ethernet10 18 Ethernet11/1 10 25000
Ethernet11 19 Ethernet12/1 11 25000
Ethernet12 20 Ethernet13/1 12 25000
Ethernet13 21 Ethernet14/1 13 25000
Ethernet14 22 Ethernet15/1 14 25000
Ethernet15 23 Ethernet16/1 15 25000
Ethernet16 32 Ethernet17/1 16 25000
Ethernet17 33 Ethernet18/1 17 25000
Ethernet18 34 Ethernet19/1 18 25000
Ethernet19 35 Ethernet20/1 19 25000
Ethernet20 40 Ethernet21/1 20 25000
Ethernet21 41 Ethernet22/1 21 25000
Ethernet22 42 Ethernet23/1 22 25000
Ethernet23 43 Ethernet24/1 23 25000
Ethernet24 48 Ethernet25/1 24 25000
Ethernet25 49 Ethernet26/1 25 25000
Ethernet26 50 Ethernet27/1 26 25000
Ethernet27 51 Ethernet28/1 27 25000
Ethernet28 56 Ethernet29/1 28 25000
Ethernet29 57 Ethernet30/1 29 25000
Ethernet30 58 Ethernet31/1 30 25000
Ethernet31 59 Ethernet32/1 31 25000
Ethernet32 64 Ethernet33/1 32 25000
Ethernet33 65 Ethernet34/1 33 25000
Ethernet34 66 Ethernet35/1 34 25000
Ethernet35 67 Ethernet36/1 35 25000
Ethernet36 68 Ethernet37/1 36 25000
Ethernet37 69 Ethernet38/1 37 25000
Ethernet38 70 Ethernet39/1 38 25000
Ethernet39 71 Ethernet40/1 39 25000
Ethernet40 72 Ethernet41/1 40 25000
Ethernet41 73 Ethernet42/1 41 25000
Ethernet42 74 Ethernet43/1 42 25000
Ethernet43 75 Ethernet44/1 43 25000
Ethernet44 76 Ethernet45/1 44 25000
Ethernet45 77 Ethernet46/1 45 25000
Ethernet46 78 Ethernet47/1 46 25000
Ethernet47 79 Ethernet48/1 47 25000
Ethernet48 80,81,82,83 Ethernet49/1 48 100000
Ethernet49 84,85,86,87 Ethernet50/1 49 100000
Ethernet50 104,105,106,107 Ethernet51/1 50 100000
Ethernet51 108,109,110,111 Ethernet52/1 51 100000
Ethernet52 112,113,114,115 Ethernet53/1 52 100000
Ethernet53 116,117,118,119 Ethernet54/1 53 100000
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/platform/tau-fn-6254-dn-f.cfg
SAI_DSH_CONFIG_FILE=/usr/share/sonic/hwsku/tau-fn-6254-dn-f.dsh

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CONSOLE_PORT=0x3f8
CONSOLE_DEV=0
CONSOLE_SPEED=115200
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=ixgbe"
21 changes: 21 additions & 0 deletions device/pegatron/x86_64-pegatron_fn_6254_dn_f-r0/plugins/eeprom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env python

try:
import exceptions
import binascii
import time
import optparse
import warnings
import os
import sys
from sonic_eeprom import eeprom_base
from sonic_eeprom import eeprom_tlvinfo
import subprocess
except ImportError, e:
raise ImportError (str(e) + "- required module not found")

class board(eeprom_tlvinfo.TlvInfoDecoder):
_TLV_INFO_MAX_LEN = 256
def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/bus/i2c/devices/4-0054/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
92 changes: 92 additions & 0 deletions device/pegatron/x86_64-pegatron_fn_6254_dn_f-r0/plugins/psuutil.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#
# 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"""

SYSFS_PSU_DIR = "/sys/bus/i2c/devices/7-0075"

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')

fd.close()
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
attr_file = 'psu_'+str(index)+'_status'
attr_path = self.SYSFS_PSU_DIR +'/' + attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# 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
attr_file = 'psu_'+str(index)+'_present'
attr_path = self.SYSFS_PSU_DIR +'/' + attr_file

attr_value = self.get_attr_value(attr_path)

if (attr_value != 'ERR'):
attr_value = int(attr_value, 16)
# Check for PSU presence
if (attr_value == 0):
status = 1

return status

Loading