[202311][Mellanox][sn2700]: Add CPLD update. (#17376) #102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I did it
Porting sonic-net#12173 to master, this will ensure all above 201911 version will have CPLD update files.
Microsoft ADO 25846069:
How I did it
Added Mellanox CPLD burn/refresh vme bundle for SN2700 platforms
How to verify it
Using update_firmware script to install private image that contains CPLD VME files with UPDATE_MLNX_CPLD_FW parameter.
Before update, the CPLD version was 15
admin@str2-msn2700-spy-1:~$ sudo fwutil show status
Chassis Module Component Version Description
MSN2700 N/A ONIE 2016.11-5.1.0012-9600 ONIE - Open Network Install Environment
SSD 0115-000 SSD - Solid-State Drive
BIOS 0ABZS017_01.01.213 BIOS - Basic Input/Output System
CPLD1 CPLD000085_REV1501 CPLD - Complex Programmable Logic Device
CPLD2 CPLD000043_REV0400 CPLD - Complex Programmable Logic Device
CPLD3 CPLD000000_REV0100 CPLD - Complex Programmable Logic Device
Do Update
admin@str2-msn2700-spy-1:/tmp$ sudo ./update_firmware sonic-mellanox-xincun-cpld.bin UPDATE_MLNX_CPLD_FW=1
Available space: 8101 MB
Warning: 'sonic_installer' command is deprecated and will be removed in the future
Please use 'sonic-installer' instead
Current FW version: SONiC-OS-20201231.110
Target FW version number: add-cpld-2.83464431-a0237f7aef
Target FW version: SONiC-OS-add-cpld-2.83464431-a0237f7aef
expr: non-integer argument
NOTICE: Reset Drop caches to index 1
Warning: 'sonic_installer' command is deprecated and will be removed in the future
Please use 'sonic-installer' instead
Image SONiC-OS-add-cpld-2.83464431-a0237f7aef is already installed. Setting it as default...
Command: grub-set-default --boot-directory=/host 0
Command: sync;sync;sync
Command: sleep 3
Done
NOTICE: sonic_installer install successfully
Mellanox platform is detected: x86_64-mlnx_msn2700-r0 Mellanox ASIC maintenance...
Mellanox ASIC firmware is up to date
Mellanox CPLD maintenance...
NOTICE: Copy Mellanox firmware upgrade utility
'/tmp/image-add-cpld-2.83464431-a0237f7aef-fs//usr/bin/mlnx-fw-upgrade.sh' -> '/usr/bin/mlnx-fw-upgrade.sh' NOTICE: Copy Mellanox cpldupdate utility
'/tmp/image-add-cpld-2.83464431-a0237f7aef-fs//usr/bin/cpldupdate' -> '/usr/bin/cpldupdate' Mellanox CPLD firmware upgrade is required. Installing compatible version... Current CPLD firmware version: 15
Target CPLD firmware version: 20
NOTICE: Upgrade MLNX CPLD FW from 15 to 20
CPLD burn firmware file: /tmp/tmp.42DXmW1pQS/FUI000193_Burn_Panther_CPLD000085_REV2000_CPLD000128_REV0600_CPLD000130_REV0300.vme CPLD refresh firmware file: /tmp/tmp.42DXmW1pQS/FUI000193_Refresh_Panther_CPLD000085_REV2000_CPLD000128_REV0600_CPLD000130_REV0300.vme
[/] CPLD update... Lattice Semiconductor Corp.
Processing virtual machine file (/tmp/tmp.42DXmW1pQS/FUI000193_Burn_Panther_CPLD000085_REV2000_CPLD000128_REV0600_CPLD000130_REV0300.vme)......
Diamond Deployment Tool 3.12
CREATION DATE: Tue Sep 20 09:41:49 2022
[|] CPLD update...+=======+
| PASS! |
+=======+
Power cycle the device, then check CPLD version, it has changed to 20. admin@str2-msn2700-spy-1:~$ sudo fwutil show status
Chassis Module Component Version Description
MSN2700 N/A ONIE 2016.11-5.1.0012-9600 ONIE - Open Network Install Environment
SSD 0115-000 SSD - Solid-State Drive
BIOS 0ABZS017_01.01.213 BIOS - Basic Input/Output System
CPLD1 CPLD000085_REV2000 CPLD - Complex Programmable Logic Device
CPLD2 CPLD000128_REV0600 CPLD - Complex Programmable Logic Device
CPLD3 CPLD000000_REV0000 CPLD - Complex Programmable Logic Device
Why I did it
Work item tracking
How I did it
How to verify it
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)