f886328897
Why I did it Porting #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. ispVME(tm) V12.2 Copyright 1998-2012. Customized for Mellanox products. 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
62 lines
2.2 KiB
Makefile
62 lines
2.2 KiB
Makefile
#
|
|
# Copyright (c) 2016-2023 NVIDIA CORPORATION & AFFILIATES.
|
|
# Apache-2.0
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
include $(PLATFORM_PATH)/sdk.mk
|
|
include $(PLATFORM_PATH)/cpld.mk
|
|
include $(PLATFORM_PATH)/fw.mk
|
|
include $(PLATFORM_PATH)/mft.mk
|
|
include $(PLATFORM_PATH)/mft-fwtrace-cfg.mk
|
|
include $(PLATFORM_PATH)/mlnx-sai.mk
|
|
include $(PLATFORM_PATH)/hw-management.mk
|
|
include $(PLATFORM_PATH)/mlnx-platform-api.mk
|
|
include $(PLATFORM_PATH)/docker-syncd-mlnx.mk
|
|
include $(PLATFORM_PATH)/docker-syncd-mlnx-rpc.mk
|
|
include $(PLATFORM_PATH)/docker-saiserver-mlnx.mk
|
|
include $(PLATFORM_PATH)/one-image.mk
|
|
include $(PLATFORM_PATH)/libsaithrift-dev.mk
|
|
include $(PLATFORM_PATH)/mlnx-ffb.mk
|
|
include $(PLATFORM_PATH)/issu-version.mk
|
|
include $(PLATFORM_PATH)/mlnx-onie-fw-update.mk
|
|
include $(PLATFORM_PATH)/mlnx-ssd-fw-update.mk
|
|
include $(PLATFORM_PATH)/iproute2.mk
|
|
include $(PLATFORM_PATH)/install-pending-fw.mk
|
|
include $(PLATFORM_PATH)/integration-scripts.mk
|
|
|
|
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
|
$(DOCKER_FPM)
|
|
|
|
# Inject mlnx sai into syncd
|
|
$(SYNCD)_DEPENDS += $(MLNX_SAI)
|
|
$(SYNCD)_UNINSTALLS += $(MLNX_SAI)
|
|
|
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
|
$(SYNCD)_DEPENDS += $(LIBSAITHRIFT_DEV)
|
|
endif
|
|
|
|
# Runtime dependency on mlnx sai is set only for syncd
|
|
$(SYNCD)_RDEPENDS += $(MLNX_SAI)
|
|
|
|
# Inject mlnx sdk libs to platform monitor
|
|
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(APPLIBS) $(SX_COMPLIB) $(SXD_LIBS) $(SX_GEN_UTILS) $(PYTHON_SDK_API) $(APPLIBS_DEV) $(SX_COMPLIB_DEV) $(SXD_LIBS_DEV) $(SX_GEN_UTILS_DEV)
|
|
|
|
# Force the target bootloader for mellanox platforms to grub regardless of arch
|
|
TARGET_BOOTLOADER = grub
|
|
|
|
# location for the platform specific external kernel patches
|
|
override EXTERNAL_KERNEL_PATCH_LOC := $(BUILD_WORKDIR)/$(PLATFORM_PATH)/non-upstream-patches/
|
|
|
|
export SONIC_BUFFER_MODEL=dynamic
|