Skip to content

Commit

Permalink
New model as7312 54x (#1339)
Browse files Browse the repository at this point in the history
* Update sonic-platform-modules-accton to lastest

Signed-off-by: roylee123 <[email protected]>

* Install sonic-platform-common package in platform-monitor docker for ledd (#1330)

* Install sonic-platform-common package in platform-monitor docker for ledd

* Specify Python wheel dependencies in docker-platform-monitor.mk; Remove explicit specifications from Dockerfile.j2

* [7312_54x] Add plug-in files.
Signed-off-by: roylee123 <[email protected]>

* [as7312-54x] Update i2c related drivers after tested on R0B model.
Signed-off-by: roylee123 <[email protected]>

* Add as7312-54x driver package.
Signed-off-by: roylee123 <[email protected]>

* [as7312-54x] Add index to port_config.ini for mmaping port with single lane.
             Validate sfputil.py and mark unsupported for lp mode.
Signed-off-by: roylee123 <[email protected]>

* [as7312-54x] Change for R01 HW board.
Signed-off-by: roylee123 <[email protected]>

* [as7312-54x] recovered for the lint corrected not suitable for python.
Signed-off-by: roylee123 <[email protected]>

* Remove debug printing.
Signed-off-by: roylee123 <[email protected]>

* [platform] as7312-32x, update for util.py recovered.
Signed-off-by: roylee123 <[email protected]>

* [platform] Accton: merged the commit by Polly Hsu.
        Change platform modules to depend on 3.16.0-5-amdn64 kernel.

Signed-off-by: roylee123 <[email protected]>

* [Device] As7312-54x, update for correct I2C addresses for sfp and psu.
Signed-off-by: roy_lee <[email protected]>

* [Platform] as7312-54x, pushed submodule to new i2c drivers and script.
Signed-off-by: roy_lee <[email protected]>

* resolved PR New model as7312 54x #1339  merge conflicts on sfputil.py.
Signed-off-by: roy_lee <[email protected]>
  • Loading branch information
roylee123 authored and lguohan committed Feb 15, 2018
1 parent f6deaa2 commit 5576c11
Show file tree
Hide file tree
Showing 7 changed files with 349 additions and 56 deletions.
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
# name lanes alias
Ethernet0 41 twentyfiveGigE1
Ethernet1 42 twentyfiveGigE2
Ethernet2 43 twentyfiveGigE3
Ethernet3 44 twentyfiveGigE4
Ethernet4 49 twentyfiveGigE5
Ethernet5 50 twentyfiveGigE6
Ethernet6 51 twentyfiveGigE7
Ethernet7 52 twentyfiveGigE8
Ethernet8 53 twentyfiveGigE9
Ethernet9 54 twentyfiveGigE10
Ethernet10 55 twentyfiveGigE11
Ethernet11 56 twentyfiveGigE12
Ethernet12 65 twentyfiveGigE13
Ethernet13 66 twentyfiveGigE14
Ethernet14 67 twentyfiveGigE15
Ethernet15 68 twentyfiveGigE16
Ethernet16 33 twentyfiveGigE17
Ethernet17 34 twentyfiveGigE18
Ethernet18 35 twentyfiveGigE19
Ethernet19 36 twentyfiveGigE20
Ethernet20 37 twentyfiveGigE21
Ethernet21 38 twentyfiveGigE22
Ethernet22 39 twentyfiveGigE23
Ethernet23 40 twentyfiveGigE24
Ethernet24 69 twentyfiveGigE25
Ethernet25 70 twentyfiveGigE26
Ethernet26 71 twentyfiveGigE27
Ethernet27 72 twentyfiveGigE28
Ethernet28 81 twentyfiveGigE29
Ethernet29 82 twentyfiveGigE30
Ethernet30 83 twentyfiveGigE31
Ethernet31 84 twentyfiveGigE32
Ethernet32 85 twentyfiveGigE33
Ethernet33 86 twentyfiveGigE34
Ethernet34 87 twentyfiveGigE35
Ethernet35 88 twentyfiveGigE36
Ethernet36 97 twentyfiveGigE37
Ethernet37 98 twentyfiveGigE38
Ethernet38 99 twentyfiveGigE39
Ethernet39 100 twentyfiveGigE40
Ethernet40 101 twentyfiveGigE41
Ethernet41 102 twentyfiveGigE42
Ethernet42 103 twentyfiveGigE43
Ethernet43 104 twentyfiveGigE44
Ethernet44 105 twentyfiveGigE45
Ethernet45 106 twentyfiveGigE46
Ethernet46 107 twentyfiveGigE47
Ethernet47 108 twentyfiveGigE48
Ethernet48 5,6,7,8 hundredGigE49
Ethernet52 1,2,3,4 hundredGigE50
Ethernet56 109,110,111,112 hundredGigE51
Ethernet60 21,22,23,24 hundredGigE52
Ethernet64 9,10,11,12 hundredGigE53
Ethernet68 117,118,119,120 hundredGigE54
# name lanes alias index
Ethernet0 41 twentyfiveGigE1 0
Ethernet1 42 twentyfiveGigE2 1
Ethernet2 43 twentyfiveGigE3 2
Ethernet3 44 twentyfiveGigE4 3
Ethernet4 49 twentyfiveGigE5 4
Ethernet5 50 twentyfiveGigE6 5
Ethernet6 51 twentyfiveGigE7 6
Ethernet7 52 twentyfiveGigE8 7
Ethernet8 53 twentyfiveGigE9 8
Ethernet9 54 twentyfiveGigE10 9
Ethernet10 55 twentyfiveGigE11 10
Ethernet11 56 twentyfiveGigE12 11
Ethernet12 65 twentyfiveGigE13 12
Ethernet13 66 twentyfiveGigE14 13
Ethernet14 67 twentyfiveGigE15 14
Ethernet15 68 twentyfiveGigE16 15
Ethernet16 33 twentyfiveGigE17 16
Ethernet17 34 twentyfiveGigE18 17
Ethernet18 35 twentyfiveGigE19 18
Ethernet19 36 twentyfiveGigE20 19
Ethernet20 37 twentyfiveGigE21 20
Ethernet21 38 twentyfiveGigE22 21
Ethernet22 39 twentyfiveGigE23 22
Ethernet23 40 twentyfiveGigE24 23
Ethernet24 69 twentyfiveGigE25 24
Ethernet25 70 twentyfiveGigE26 25
Ethernet26 71 twentyfiveGigE27 26
Ethernet27 72 twentyfiveGigE28 27
Ethernet28 81 twentyfiveGigE29 28
Ethernet29 82 twentyfiveGigE30 29
Ethernet30 83 twentyfiveGigE31 30
Ethernet31 84 twentyfiveGigE32 31
Ethernet32 85 twentyfiveGigE33 32
Ethernet33 86 twentyfiveGigE34 33
Ethernet34 87 twentyfiveGigE35 34
Ethernet35 88 twentyfiveGigE36 35
Ethernet36 97 twentyfiveGigE37 36
Ethernet37 98 twentyfiveGigE38 37
Ethernet38 99 twentyfiveGigE39 38
Ethernet39 100 twentyfiveGigE40 39
Ethernet40 101 twentyfiveGigE41 40
Ethernet41 102 twentyfiveGigE42 41
Ethernet42 103 twentyfiveGigE43 42
Ethernet43 104 twentyfiveGigE44 43
Ethernet44 105 twentyfiveGigE45 44
Ethernet45 106 twentyfiveGigE46 45
Ethernet46 107 twentyfiveGigE47 46
Ethernet47 108 twentyfiveGigE48 47
Ethernet48 5,6,7,8 hundredGigE49 48
Ethernet52 1,2,3,4 hundredGigE50 52
Ethernet56 109,110,111,112 hundredGigE51 56
Ethernet60 21,22,23,24 hundredGigE52 60
Ethernet64 9,10,11,12 hundredGigE53 64
Ethernet68 117,118,119,120 hundredGigE54 68
24 changes: 24 additions & 0 deletions device/accton/x86_64-accton_as7312_54x-r0/plugins/eeprom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/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/1-0057/eeprom"
#Two i2c buses might get flipped order, check them both.
if not os.path.exists(self.eeprom_path):
self.eeprom_path = "/sys/bus/i2c/devices/0-0057/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
61 changes: 61 additions & 0 deletions device/accton/x86_64-accton_as7312_54x-r0/plugins/psuutil.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#!/usr/bin/env python

#############################################################################
# Accton
#
# Module contains an implementation of SONiC PSU Base API and
# provides the PSUs status which are available in the platform
#
#############################################################################

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"""

def __init__(self):
PsuBase.__init__(self)

self.psu_path = "/sys/bus/i2c/devices/"
self.psu_presence = "/psu_present"
self.psu_oper_status = "/psu_power_good"
self.psu_mapping = {
2: "11-0053",
1: "10-0050",
}

def get_num_psus(self):
return len(self.psu_mapping)

def get_psu_status(self, index):
if index is None:
return False

status = 0
node = self.psu_path + self.psu_mapping[index]+self.psu_oper_status
try:
with open(node, 'r') as power_status:
status = int(power_status.read())
except IOError:
return False

return status == 1

def get_psu_presence(self, index):
if index is None:
return False

status = 0
node = self.psu_path + self.psu_mapping[index] + self.psu_presence
try:
with open(node, 'r') as presence_status:
status = int(presence_status.read())
except IOError:
return False

return status == 1
Loading

0 comments on commit 5576c11

Please sign in to comment.