Skip to content

Commit

Permalink
[device] various improvement for nephos devices (#3139)
Browse files Browse the repository at this point in the history
Add fan control for as7116-54x
Modify sfputil.py to support sfp insert and remove events for as7116-54x
Modify port_config.nps to set port default admin down
Modify port_config.ini for add speed attr
Code format optimization like remove newline
Modify buffers_defaults_t0 and t1, change ingress_lossless_pool mode from dynamic to static
Add nephos_dac.nps and nephos_opt.nps for support difference dac and fiber module
  • Loading branch information
simonJi2018 authored and lguohan committed Aug 7, 2019
1 parent c7db1ec commit 49f3b22
Show file tree
Hide file tree
Showing 18 changed files with 917 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"ingress_lossless_pool": {
"size": "{{ ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic"
"mode": "static"
},
"ingress_lossy_pool": {
"size": "{{ ingress_lossy_pool_size }}",
Expand All @@ -29,7 +29,7 @@
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
"mode": "static"
},
"egress_lossy_pool": {
"size": "{{ egress_lossy_pool_size }}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"ingress_lossless_pool": {
"size": "{{ ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic"
"mode": "static"
},
"ingress_lossy_pool": {
"size": "{{ ingress_lossy_pool_size }}",
Expand All @@ -29,7 +29,7 @@
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
"mode": "static"
},
"egress_lossy_pool": {
"size": "{{ egress_lossy_pool_size }}",
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
# name lanes alias index
Ethernet0 8 Ethernet1/1 0
Ethernet1 9 Ethernet2/1 1
Ethernet2 10 Ethernet3/1 2
Ethernet3 11 Ethernet4/1 3
Ethernet4 12 Ethernet5/1 4
Ethernet5 13 Ethernet6/1 5
Ethernet6 14 Ethernet7/1 6
Ethernet7 15 Ethernet8/1 7
Ethernet8 16 Ethernet9/1 8
Ethernet9 17 Ethernet10/1 9
Ethernet10 18 Ethernet11/1 10
Ethernet11 19 Ethernet12/1 11
Ethernet12 20 Ethernet13/1 12
Ethernet13 21 Ethernet14/1 13
Ethernet14 22 Ethernet15/1 14
Ethernet15 23 Ethernet16/1 15
Ethernet16 32 Ethernet17/1 16
Ethernet17 33 Ethernet18/1 17
Ethernet18 34 Ethernet19/1 18
Ethernet19 35 Ethernet20/1 19
Ethernet20 40 Ethernet21/1 20
Ethernet21 41 Ethernet22/1 21
Ethernet22 42 Ethernet23/1 22
Ethernet23 43 Ethernet24/1 23
Ethernet24 48 Ethernet25/1 24
Ethernet25 49 Ethernet26/1 25
Ethernet26 50 Ethernet27/1 26
Ethernet27 51 Ethernet28/1 27
Ethernet28 56 Ethernet29/1 28
Ethernet29 57 Ethernet30/1 29
Ethernet30 58 Ethernet31/1 30
Ethernet31 59 Ethernet32/1 31
Ethernet32 64 Ethernet33/1 32
Ethernet33 65 Ethernet34/1 33
Ethernet34 66 Ethernet35/1 34
Ethernet35 67 Ethernet36/1 35
Ethernet36 68 Ethernet37/1 36
Ethernet37 69 Ethernet38/1 37
Ethernet38 70 Ethernet39/1 38
Ethernet39 71 Ethernet40/1 39
Ethernet40 72 Ethernet41/1 40
Ethernet41 73 Ethernet42/1 41
Ethernet42 74 Ethernet43/1 42
Ethernet43 75 Ethernet44/1 43
Ethernet44 76 Ethernet45/1 44
Ethernet45 77 Ethernet46/1 45
Ethernet46 78 Ethernet47/1 46
Ethernet47 79 Ethernet48/1 47
Ethernet48 84,85,86,87 Ethernet49/1 48
Ethernet49 80,81,82,83 Ethernet50/1 49
Ethernet50 104,105,106,107 Ethernet51/1 50
Ethernet51 108,109,110,111 Ethernet52/1 51
Ethernet52 112,113,114,115 Ethernet53/1 52
Ethernet53 116,117,118,119 Ethernet54/1 53
# 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 84,85,86,87 Ethernet49/1 48 100000
Ethernet49 80,81,82,83 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
Expand Up @@ -410,5 +410,5 @@ port set property portlist=48-53 medium-type=sr4
port set property portlist=129-130 medium-type=kr
port set adver portlist=129-130 speed-10g-kr
port set property portlist=129-130 an=enable
port set property portlist=0-53,129-130 admin=enable

port set property unit=0 portlist=129-130 admin=enable
port set property unit=0 portlist=0-53 admin=disable
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/platform/led_proc_init.nps
SAI_DSH_CONFIG_FILE=/usr/share/sonic/hwsku/port_config.nps
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/proc_init.nps
SAI_DSH_CONFIG_FILE=/usr/share/sonic/hwsku/port_config.nps
2 changes: 1 addition & 1 deletion device/accton/x86_64-accton_as7116_54x-r0/default_sku
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Accton-AS7116-54X t1
Accton-AS7116-54X t1
10 changes: 10 additions & 0 deletions device/accton/x86_64-accton_as7116_54x-r0/fancontrol
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
INTERVAL=10
FCTEMPS=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/20-004a/hwmon/hwmon*/temp1_input /sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/19-0049/hwmon/hwmon*/temp1_input /sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/17-004b/hwmon/hwmon*/temp1_input
FCFANS=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/1-0063/fan1_input /sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/1-0063/fan2_input
/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/1-0063/fan3_input /sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/1-0063/fan4_input /sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=/sys/bus/i2c/devices/1-0063/fan5_input
MINTEMP=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=49
MAXTEMP=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=58
MINSTART=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=100
MINSTOP=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=40
MINPWM=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=40
MAXPWM=/sys/bus/i2c/devices/1-0063/fan_duty_cycle_percentage=100
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ 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/0-0056/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)
super(board, self).__init__(self.eeprom_path, 0, '', True)
30 changes: 24 additions & 6 deletions device/accton/x86_64-accton_as7116_54x-r0/plugins/sfputil.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
except ImportError, e:
raise ImportError (str(e) + "- required module not found")

SFP_STATUS_INSERTED = '1'
SFP_STATUS_REMOVED = '0'

class SfpUtil(SfpUtilBase):
"""Platform specific SfpUtill class"""
Expand Down Expand Up @@ -75,17 +77,21 @@ class SfpUtil(SfpUtilBase):

_qsfp_ports = range(_qsfp_port_start, _ports_in_block + 1)

_present_status = dict()

def __init__(self):
eeprom_path = '/sys/bus/i2c/devices/{0}-0050/sfp_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)

self._port_to_eeprom_mapping[x] = port_eeprom_path
self._present_status[x] = SFP_STATUS_REMOVED

SfpUtilBase.__init__(self)

def reset(self, port_num):
# Check for invalid port_num
if port_num < self._port_start or port_num > self._port_end:
if port_num < self._qsfp_port_start or port_num > self._port_end:
print "Error: port %d is not qsfp port" % port_num
return False

path = "/sys/bus/i2c/devices/{0}-0050/sfp_port_reset"
Expand All @@ -111,7 +117,7 @@ def set_low_power_mode(self, port_nuM, lpmode):

def get_low_power_mode(self, port_num):
raise NotImplementedError

def get_presence(self, port_num):
# Check for invalid port_num
if port_num < self._port_start or port_num > self._port_end:
Expand Down Expand Up @@ -151,3 +157,15 @@ def qsfp_ports(self):
@property
def port_to_eeprom_mapping(self):
return self._port_to_eeprom_mapping

def get_transceiver_change_event(self, timeout=0):
ret_present = dict()
for phy_port in range(self._port_start, self._port_end + 1):
last_present_status = SFP_STATUS_INSERTED if self.get_presence(phy_port) else SFP_STATUS_REMOVED
if self._present_status[phy_port] != last_present_status:
ret_present[phy_port] = last_present_status
self._present_status[phy_port] = last_present_status

time.sleep(2)

return True, ret_present
2 changes: 1 addition & 1 deletion device/accton/x86_64-accton_as7116_54x-r0/sensors.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ chip "as7116_54x_fan-*"
label fan7 "rear fan 2"
label fan8 "rear fan 3"
label fan9 "rear fan 4"
label fan10 "rear fan 5"
label fan10 "rear fan 5"
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
obj-m := x86-64-accton-as7116-54x-cpld.o x86-64-accton-as7116-54x-fan.o \
x86-64-accton-as7116-54x-led.o x86-64-accton-as7116-54x-psu.o x86-64-accton-as7116-54x-sfp.o
x86-64-accton-as7116-54x-led.o x86-64-accton-as7116-54x-psu.o x86-64-accton-as7116-54x-sfp.o
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ ExecStop=/usr/local/bin/accton_as7116_util.py clean
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
sonic-accton-platform-modules (1.0.0) unstable; urgency=low
sonic-accton-platform-modules (1.0.1) unstable; urgency=low

* Add support for AS7116-54X series

-- developer <[email protected]> Wed, 29 Mar 2017 11:00:00 +0800

-- developer <[email protected]> Wed, 29 Mar 2017 11:00:00 +0800
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Standards-Version: 3.9.3
Package: sonic-platform-accton-as7116-54x
Architecture: amd64
Depends: linux-image-4.9.0-9-2-amd64
Description: kernel modules for platform devices such as fan, led, sfp
Description: kernel modules for platform devices such as fan, led, sfp
8 changes: 4 additions & 4 deletions platform/nephos/sonic-platform-modules-accton/debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ binary-indep:

# Custom package commands
(for mod in $(MODULE_DIRS); do \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod}/usr/local/bin; \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod}/lib/systemd/system; \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} /$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} /usr/local/bin; \
dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} /lib/systemd/system; \
cp $(MOD_SRC_DIR)/$${mod}/$(MODULE_DIR)/*.ko debian/$(PACKAGE_PRE_NAME)-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
cp $(MOD_SRC_DIR)/$${mod}/$(UTILS_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/usr/local/bin/; \
cp $(MOD_SRC_DIR)/$${mod}/$(SERVICE_DIR)/*.service debian/$(PACKAGE_PRE_NAME)-$${mod}/lib/systemd/system/; \
Expand All @@ -83,4 +83,4 @@ binary-indep:
dh_gencontrol
dh_md5sums
dh_builddeb
.PHONY: build binary binary-arch binary-indep clean
.PHONY: build binary binary-arch binary-indep clean

0 comments on commit 49f3b22

Please sign in to comment.