From e1f87547700cd8e315a7803367a21c7c8828edee Mon Sep 17 00:00:00 2001 From: paavaanan Date: Thu, 24 Jan 2019 05:27:31 -0500 Subject: [PATCH 1/2] platform_reboot support for Dell S6100/Z9100 platforms --- .../common/platform_reboot | 25 +++++++++++++++++++ .../debian/platform-modules-s6100.install | 1 + .../debian/platform-modules-z9100.install | 1 + 3 files changed, 27 insertions(+) create mode 100755 platform/broadcom/sonic-platform-modules-dell/common/platform_reboot diff --git a/platform/broadcom/sonic-platform-modules-dell/common/platform_reboot b/platform/broadcom/sonic-platform-modules-dell/common/platform_reboot new file mode 100755 index 000000000000..3e165630658b --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-dell/common/platform_reboot @@ -0,0 +1,25 @@ +#!/usr/bin/python +import sys +import os +import struct + +PORT_RES = '/dev/port' + + +def portio_reg_write(resource, offset, val): + fd = os.open(resource, os.O_RDWR) + if(fd < 0): + print 'file open failed %s" % resource' + return + if(os.lseek(fd, offset, os.SEEK_SET) != offset): + print 'lseek failed on %s' % resource + return + ret = os.write(fd, struct.pack('B', val)) + if(ret != 1): + print 'write failed %d' % ret + return + os.close(fd) + +if __name__ == "__main__": + portio_reg_write(PORT_RES, 0xcf9, 0xe) + diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install index 89550dd84668..9be9da0ab428 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install @@ -4,6 +4,7 @@ common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin common/fstrim.timer etc/systemd/system common/fstrim.service etc/systemd/system +common/platform_reboot usr/share/sonic/device/x86_64-dell_s6100_c2538-r0 s6100/scripts/platform_sensors.py usr/local/bin s6100/scripts/sensors usr/bin s6100/systemd/platform-modules-s6100.service etc/systemd/system diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install index 8d14a562cdd1..4e141c762c22 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install @@ -4,6 +4,7 @@ common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin common/fstrim.timer etc/systemd/system common/fstrim.service etc/systemd/system +common/platform_reboot usr/share/sonic/device/x86_64-dell_z9100_c2538-r0 z9100/scripts/platform_sensors.py usr/local/bin z9100/scripts/sensors usr/bin z9100/cfg/z9100-modules.conf etc/modules-load.d From 745849dad2f8de18cc419cd75449313849e033c4 Mon Sep 17 00:00:00 2001 From: paavaanan Date: Fri, 25 Jan 2019 08:36:57 -0500 Subject: [PATCH 2/2] moving platform_reboot to device directory --- .../platform_reboot | 0 .../platform_reboot | 25 +++++++++++++++++++ .../debian/platform-modules-s6100.install | 1 - .../debian/platform-modules-z9100.install | 1 - 4 files changed, 25 insertions(+), 2 deletions(-) rename {platform/broadcom/sonic-platform-modules-dell/common => device/dell/x86_64-dell_s6100_c2538-r0}/platform_reboot (100%) create mode 100755 device/dell/x86_64-dell_z9100_c2538-r0/platform_reboot diff --git a/platform/broadcom/sonic-platform-modules-dell/common/platform_reboot b/device/dell/x86_64-dell_s6100_c2538-r0/platform_reboot similarity index 100% rename from platform/broadcom/sonic-platform-modules-dell/common/platform_reboot rename to device/dell/x86_64-dell_s6100_c2538-r0/platform_reboot diff --git a/device/dell/x86_64-dell_z9100_c2538-r0/platform_reboot b/device/dell/x86_64-dell_z9100_c2538-r0/platform_reboot new file mode 100755 index 000000000000..3e165630658b --- /dev/null +++ b/device/dell/x86_64-dell_z9100_c2538-r0/platform_reboot @@ -0,0 +1,25 @@ +#!/usr/bin/python +import sys +import os +import struct + +PORT_RES = '/dev/port' + + +def portio_reg_write(resource, offset, val): + fd = os.open(resource, os.O_RDWR) + if(fd < 0): + print 'file open failed %s" % resource' + return + if(os.lseek(fd, offset, os.SEEK_SET) != offset): + print 'lseek failed on %s' % resource + return + ret = os.write(fd, struct.pack('B', val)) + if(ret != 1): + print 'write failed %d' % ret + return + os.close(fd) + +if __name__ == "__main__": + portio_reg_write(PORT_RES, 0xcf9, 0xe) + diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install index 9be9da0ab428..89550dd84668 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install @@ -4,7 +4,6 @@ common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin common/fstrim.timer etc/systemd/system common/fstrim.service etc/systemd/system -common/platform_reboot usr/share/sonic/device/x86_64-dell_s6100_c2538-r0 s6100/scripts/platform_sensors.py usr/local/bin s6100/scripts/sensors usr/bin s6100/systemd/platform-modules-s6100.service etc/systemd/system diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install index 4e141c762c22..8d14a562cdd1 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install @@ -4,7 +4,6 @@ common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin common/fstrim.timer etc/systemd/system common/fstrim.service etc/systemd/system -common/platform_reboot usr/share/sonic/device/x86_64-dell_z9100_c2538-r0 z9100/scripts/platform_sensors.py usr/local/bin z9100/scripts/sensors usr/bin z9100/cfg/z9100-modules.conf etc/modules-load.d