From 7af2cc9f7d2d40350a8d3cf0cb498122b2acee7f Mon Sep 17 00:00:00 2001 From: Noa Or <58519608+noaOrMlnx@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:46:13 +0200 Subject: [PATCH] [Mellanox] Update SN5640-simx enabled processes (#21478) - Why I did it Support running hw-management service on SN5640 emulation platform. - How I did it Use physical EEPROM instead of the fake one Do not skip PSUd, PCId, thermal control daemon Adjust PCIe and thermal configuration files - How to verify it Run Nvidia simulation on SN5640 (ASIC and Platform) --- .../pmon_daemon_control.json | 4 +--- .../x86_64-nvidia_sn5640_simx-r0/thermal_policy.json | 1 + .../mlnx-platform-api/sonic_platform/device_data.py | 9 ++++++++- .../mellanox/mlnx-platform-api/sonic_platform/eeprom.py | 5 +++-- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 120000 device/mellanox/x86_64-nvidia_sn5640_simx-r0/thermal_policy.json diff --git a/device/mellanox/x86_64-nvidia_sn5640_simx-r0/pmon_daemon_control.json b/device/mellanox/x86_64-nvidia_sn5640_simx-r0/pmon_daemon_control.json index dd83c2db12c5..b2c37062fe08 100644 --- a/device/mellanox/x86_64-nvidia_sn5640_simx-r0/pmon_daemon_control.json +++ b/device/mellanox/x86_64-nvidia_sn5640_simx-r0/pmon_daemon_control.json @@ -1,7 +1,5 @@ { "skip_ledd": true, "skip_xcvrd": true, - "skip_psud": true, - "skip_pcied": true, - "skip_thermalctld": true + "skip_fancontrol": true } diff --git a/device/mellanox/x86_64-nvidia_sn5640_simx-r0/thermal_policy.json b/device/mellanox/x86_64-nvidia_sn5640_simx-r0/thermal_policy.json new file mode 120000 index 000000000000..5a25cd87f70c --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5640_simx-r0/thermal_policy.json @@ -0,0 +1 @@ +../x86_64-mlnx_msn2700-r0/thermal_policy.json \ No newline at end of file diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/device_data.py b/platform/mellanox/mlnx-platform-api/sonic_platform/device_data.py index 2f2eee7b871c..619a2f916cf4 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/device_data.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/device_data.py @@ -1,6 +1,6 @@ # # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2020-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -162,6 +162,13 @@ class DpuInterfaceEnum(Enum): 'fw_control_ports': [64] # 0 based sfp index list } }, + 'x86_64-nvidia_sn5640_simx-r0': { + 'thermal': { + "capability": { + "comex_amb": False, + } + } + }, 'x86_64-nvidia_sn4280_simx-r0': { 'thermal': { "capability": { diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/eeprom.py b/platform/mellanox/mlnx-platform-api/sonic_platform/eeprom.py index 8bf632de2847..b8760ad99a50 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/eeprom.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/eeprom.py @@ -1,5 +1,6 @@ # -# Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES +# Copyright (c) 2019-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -41,7 +42,7 @@ # EEPROM_SYMLINK = "/var/run/hw-management/eeprom/vpd_info" platform_name = DeviceDataManager.get_platform_name() -platform_supporting_simx = ['x86_64-nvidia_sn4280_simx-r0', 'x86_64-mlnx_msn4700_simx-r0'] +platform_supporting_simx = ['x86_64-nvidia_sn4280_simx-r0', 'x86_64-mlnx_msn4700_simx-r0', 'x86_64-mlnx_msn5640_simx-r0'] if platform_name and 'simx' in platform_name and not platform_name in platform_supporting_simx: if not os.path.exists(EEPROM_SYMLINK): if is_host():