Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions ixr7220h4-32d/scripts/h4_32d_platform_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,10 @@ else
fi

#Enumerate GPIO port
for port in {38..44}
for port in {698..704}
do
echo 100${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio100${port}/direction
echo ${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio${port}/direction
sleep 0.1
done

Expand Down
44 changes: 26 additions & 18 deletions ixr7220h4-32d/sonic_platform/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,43 +167,46 @@ def install_firmware(self, image_path):
if not os.path.isfile('/tmp/vme_h4_32d'):
print("ERROR: the cpld upgrade tool /tmp/vme_h4_32d doesn't exist ")
return False
write_sysfs_file("/sys/class/gpio/export", str(10054))
write_sysfs_file("/sys/class/gpio/gpio10054/value", str(1))
write_sysfs_file("/sys/class/gpio/export", str(666))
write_sysfs_file("/sys/class/gpio/gpio666/value", str(1))
self.CPLD_UPDATE_COMMAND[1] = 'jtag0'
self.CPLD_UPDATE_COMMAND[2] = image_name
try:
subprocess.run(self.CPLD_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
write_sysfs_file("/sys/class/gpio/gpio10054/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(10054))
print("\nCPUPLD firmware upgraded!\n")
write_sysfs_file("/sys/class/gpio/gpio666/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(666))
print("\nCPUPLD firmware update has ended\n")
print("!!!System will reboot in 10 sec!!!")
time.sleep(10)
write_sysfs_file("/sys/kernel/delta_fpga/sys-pwr", str(1))
time.sleep(7)
self._power_cycle()
return True

elif self.name == "SWPLD2" or self.name == "SWPLD3":
# check whether the cpld upgrade tool exists
if not os.path.isfile('/tmp/vme_h4_32d'):
print("ERROR: the cpld upgrade tool /tmp/vme_h4_32d doesn't exist ")
return False
write_sysfs_file("/sys/class/gpio/export", str(10055))
write_sysfs_file("/sys/class/gpio/gpio10055/value", str(1))
write_sysfs_file("/sys/class/gpio/export", str(667))
write_sysfs_file("/sys/class/gpio/gpio667/value", str(1))
self.CPLD_UPDATE_COMMAND[1] = 'jtag1'
self.CPLD_UPDATE_COMMAND[2] = image_name
try:
subprocess.run(self.CPLD_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
self.CPLD_UPDATE_COMMAND[2] = 'h4_32d_swpld_refresh.vme'
if self.name == "SWPLD2":
self.CPLD_UPDATE_COMMAND[2] = 'h4_32d_swpld2_refresh.vme'
else:
self.CPLD_UPDATE_COMMAND[2] = 'h4_32d_swpld3_refresh.vme'
try:
subprocess.run(self.CPLD_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
write_sysfs_file("/sys/class/gpio/gpio10055/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(10055))
print("\nSWPLD2/3 firmware upgraded!\n")
write_sysfs_file("/sys/class/gpio/gpio667/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(667))
print("\nSWPLD2/3 firmware update has ended\n")
return True

elif self.name == "SysFPGA":
Expand All @@ -223,10 +226,10 @@ def install_firmware(self, image_path):
subprocess.run(self.FPGA_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade SysFPGA: rc={e.returncode}")
print("\nSysFPGA firmware upgraded!\n")
print("\nSysFPGA firmware update has ended\n")
print("!!!System will reboot in 10 sec!!!")
time.sleep(10)
write_sysfs_file("/sys/kernel/delta_fpga/sys-pwr", str(1))
time.sleep(7)
self._power_cycle()
return True

elif self.name == "BIOS":
Expand All @@ -239,7 +242,7 @@ def install_firmware(self, image_path):
subprocess.run(self.BIOS_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade BIOS: rc={e.returncode}")
print("\nBIOS upgraded!\n")
print("\nBIOS update has ended\n")
return True

return False
Expand Down Expand Up @@ -275,4 +278,9 @@ def get_available_firmware_version(self, _image_path):
A string containing the available firmware version of the component
"""
return "N/A"


def _power_cycle(self):
os.system('sync')
os.system('sync')
time.sleep(3)
write_sysfs_file("/sys/kernel/delta_fpga/sys-pwr", str(1))
2 changes: 1 addition & 1 deletion ixr7220h4-32d/sonic_platform/fan.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
(1, 2),
(3, 4)]
GPIO_DIR = "/sys/class/gpio/gpio{}/"
GPIO_PORT = [10038, 10039, 10040, 10041, 10042, 10043, 10044]
GPIO_PORT = [698, 699, 700, 701, 702, 703, 704]
FPGA_FAN_LED = "/sys/kernel/delta_fpga/fan-tray-led"
INDEX_FAN_LED = [0, 4, 8, 12, 16, 20 , 24]
sonic_logger = logger.Logger('fan')
Expand Down
4 changes: 2 additions & 2 deletions ixr7220h4-32d/sonic_platform/fan_drawer.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
FAN_PN_F2B = "3HE19865AARA01"
FAN_PN_B2F = "3HE19866AARA01"
GPIO_DIR = "/sys/class/gpio/gpio{}/"
GPIO_PORT = [10038, 10039, 10040, 10041, 10042, 10043, 10044]
GPIO_PORT = [698, 699, 700, 701, 702, 703, 704]
INDEX_FAN_LED = [0, 4, 8, 12, 16, 20 , 24]
FPGA_FAN_LED = "/sys/kernel/delta_fpga/fan-tray-led"
sonic_logger = logger.Logger('fan_drawer')
Expand Down Expand Up @@ -184,4 +184,4 @@ def get_name(self):
"""
return module name
"""
return self._name
return self._name
6 changes: 3 additions & 3 deletions ixr7220h5-32d/scripts/h5_32d_platform_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@ else
fi

#Enumerate GPIO port
for port in {36..42}
for port in {0..6}
do
echo 99${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio99${port}/direction
echo 80${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio80${port}/direction
sleep 0.1
done

Expand Down
46 changes: 26 additions & 20 deletions ixr7220h5-32d/sonic_platform/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,12 +182,12 @@ def install_firmware(self, image_path):
if not os.path.isfile('/tmp/vme_h5'):
print("ERROR: the cpld upgrade tool /tmp/vme_h5 doesn't exist ")
return False
write_sysfs_file("/sys/class/gpio/export", str(10099))
write_sysfs_file("/sys/class/gpio/export", str(10076))
write_sysfs_file("/sys/class/gpio/gpio10099/direction", "out")
write_sysfs_file("/sys/class/gpio/gpio10076/direction", "out")
write_sysfs_file("/sys/class/gpio/gpio10099/value", str(1))
write_sysfs_file("/sys/class/gpio/gpio10076/value", str(1))
write_sysfs_file("/sys/class/gpio/export", str(627))
write_sysfs_file("/sys/class/gpio/export", str(604))
write_sysfs_file("/sys/class/gpio/gpio627/direction", "out")
write_sysfs_file("/sys/class/gpio/gpio604/direction", "out")
write_sysfs_file("/sys/class/gpio/gpio627/value", str(1))
write_sysfs_file("/sys/class/gpio/gpio604/value", str(1))
self.CPLD_UPDATE_COMMAND[1] = 'jtag0'
self.CPLD_UPDATE_COMMAND[2] = image_name
try:
Expand All @@ -201,10 +201,10 @@ def install_firmware(self, image_path):
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
self.gpio_set("/dev/gpiochip0", 105, 0)
write_sysfs_file("/sys/class/gpio/gpio10076/value", str(0))
write_sysfs_file("/sys/class/gpio/gpio10099/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(10076))
write_sysfs_file("/sys/class/gpio/unexport", str(10099))
write_sysfs_file("/sys/class/gpio/gpio604/value", str(0))
write_sysfs_file("/sys/class/gpio/gpio627/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(604))
write_sysfs_file("/sys/class/gpio/unexport", str(627))
print("\nCPUPLD firmware upgraded!\n")
return True

Expand All @@ -213,8 +213,8 @@ def install_firmware(self, image_path):
if not os.path.isfile('/tmp/vme_h5'):
print("ERROR: the cpld upgrade tool /tmp/vme_h5 doesn't exist ")
return False
write_sysfs_file("/sys/class/gpio/export", str(9953))
write_sysfs_file("/sys/class/gpio/gpio9953/value", str(1))
write_sysfs_file("/sys/class/gpio/export", str(769))
write_sysfs_file("/sys/class/gpio/gpio769/value", str(1))
self.CPLD_UPDATE_COMMAND[1] = 'jtag1'
self.CPLD_UPDATE_COMMAND[2] = image_name
try:
Expand All @@ -226,8 +226,8 @@ def install_firmware(self, image_path):
subprocess.run(self.CPLD_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
write_sysfs_file("/sys/class/gpio/gpio9953/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(9953))
write_sysfs_file("/sys/class/gpio/gpio769/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(769))
print("\nSWPLD2 firmware upgraded!\n")
return True

Expand All @@ -236,8 +236,8 @@ def install_firmware(self, image_path):
if not os.path.isfile('/tmp/vme_h5'):
print("ERROR: the cpld upgrade tool /tmp/vme_h5 doesn't exist ")
return False
write_sysfs_file("/sys/class/gpio/export", str(9953))
write_sysfs_file("/sys/class/gpio/gpio9953/value", str(1))
write_sysfs_file("/sys/class/gpio/export", str(769))
write_sysfs_file("/sys/class/gpio/gpio769/value", str(1))
self.CPLD_UPDATE_COMMAND[1] = 'jtag1'
self.CPLD_UPDATE_COMMAND[2] = image_name
try:
Expand All @@ -249,8 +249,8 @@ def install_firmware(self, image_path):
subprocess.run(self.CPLD_UPDATE_COMMAND, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(f"ERROR: Failed to upgrade CPLD: rc={e.returncode}")
write_sysfs_file("/sys/class/gpio/gpio9953/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(9953))
write_sysfs_file("/sys/class/gpio/gpio769/value", str(0))
write_sysfs_file("/sys/class/gpio/unexport", str(769))
print("\nSWPLD3 firmware upgraded!\n")
return True

Expand All @@ -273,8 +273,8 @@ def install_firmware(self, image_path):
print(f"ERROR: Failed to upgrade SysFPGA: rc={e.returncode}")
print("\nSysFPGA firmware upgraded!\n")
print("!!!The system will reboot in 10 sec!!!")
time.sleep(10)
write_sysfs_file("/sys/kernel/sys_fpga/sys_pwr", str(1))
time.sleep(7)
self._power_cycle()
return True

elif self.name == "BIOS":
Expand Down Expand Up @@ -346,3 +346,9 @@ def gpio_set(self, gpio_device, line, value):
print(f"ERROR: {e.errno}, Setting line value: " + e.strerror)
os.close(request.fd)

def _power_cycle(self):
os.system('sync')
os.system('sync')
time.sleep(3)
write_sysfs_file("/sys/kernel/sys_fpga/sys_pwr", str(1))

6 changes: 4 additions & 2 deletions ixr7220h5-32d/sonic_platform/fan.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
(1, 2),
(3, 4)]
GPIO_DIR = "/sys/class/gpio/gpio{}/"
GPIO_PORT = [9936, 9937, 9938, 9939, 9940, 9941, 9942]
GPIO_PORT = [800, 801, 802, 803, 804, 805, 806]
FPGA_DIR = "/sys/kernel/sys_fpga/"
I2C_BUS = [30, 31, 32, 33, 34, 35, 36]
sonic_logger = logger.Logger('fan')
Expand Down Expand Up @@ -241,7 +241,8 @@ def set_speed(self, speed):
range(10, 20): 40,
range(20, 30): 64,
range(30, 40): 90,
range(40, 54): 115,
range(40, 47): 115,
range(47, 54): 128,
range(54, 66): 153,
range(66, 76): 179,
range(76, 86): 204,
Expand Down Expand Up @@ -305,6 +306,7 @@ def get_target_speed(self):
64: 25,
90: 35,
115: 45,
128: 50,
153: 60,
179: 70,
204: 80,
Expand Down
4 changes: 2 additions & 2 deletions ixr7220h5-32d/sonic_platform/fan_drawer.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
FAN_PN_F2B = "3HE20602AA"
FAN_PN_B2F = "3HE20603AA"
GPIO_DIR = "/sys/class/gpio/gpio{}/"
GPIO_PORT = [9936, 9937, 9938, 9939, 9940, 9941, 9942]
GPIO_PORT = [800, 801, 802, 803, 804, 805, 806]
FPGA_DIR = "/sys/kernel/sys_fpga/"
I2C_BUS = [30, 31, 32, 33, 34, 35, 36]
sonic_logger = logger.Logger('fan_drawer')
Expand Down Expand Up @@ -191,4 +191,4 @@ def get_name(self):
"""
return module name
"""
return self._name
return self._name
6 changes: 3 additions & 3 deletions ixr7220h5-64d/scripts/h5_64d_platform_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,10 @@ else
fi

#Enumerate GPIO port
for port in {36..39}
for port in {0..3}
do
echo 99${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio99${port}/direction
echo 80${port} > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio80${port}/direction
sleep 0.1
done

Expand Down
Loading