diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/hwsku.json b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/hwsku.json new file mode 100644 index 000000000000..a0f9dda6b250 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/hwsku.json @@ -0,0 +1,9 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G", + "autoneg": "on", + "role": "Dpc" + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/port_config.ini b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/port_config.ini new file mode 100644 index 000000000000..6cfe733cb65f --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/port_config.ini @@ -0,0 +1,18 @@ +## +## Copyright (c) 2024 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. +## +# name lanes alias index +Ethernet0 0,1,2,3 etp1 1 diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/sai.profile b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/sai.profile new file mode 100644 index 000000000000..d86d58acb003 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/Nvidia-bf3-com-dpu/sai.profile @@ -0,0 +1,5 @@ +SAI_DUMP_STORE_PATH=/var/log/bluefield/sdk-dumps +SAI_DUMP_STORE_AMOUNT=10 +DASH_ACL_DEFAULT_RULE_ACTION=permit +PORT_LAYOUT=1x400G +HAIRPIN=false diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku new file mode 100644 index 000000000000..41bda2fe9583 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku @@ -0,0 +1 @@ +Nvidia-bf3-com-dpu appliance diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/installer.conf b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/installer.conf new file mode 100644 index 000000000000..66c2a99a31e4 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/installer.conf @@ -0,0 +1,2 @@ +GRUB_CMDLINE_LINUX="console=ttyAMA1 console=hvc0 console=ttyAMA0 earlycon=pl011,0x13010000 quiet" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="isolcpus=1-13 nohz_full=1-13 rcu_nocbs=1-13" diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pcie.yaml b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pcie.yaml new file mode 100644 index 000000000000..bb2a783fe2bc --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pcie.yaml @@ -0,0 +1,47 @@ +- bus: '00' + dev: '00' + fn: '0' + id: a2da + name: 'PCI bridge: Mellanox Technologies MT43244 BlueField-3 SoC Crypto enabled + (rev 01)' +- bus: '01' + dev: '00' + fn: '0' + id: 197b + name: 'PCI bridge: Mellanox Technologies MT43244 Family [BlueField-3 SoC PCIe Bridge] + (rev 01)' +- bus: '02' + dev: '00' + fn: '0' + id: 197b + name: 'PCI bridge: Mellanox Technologies MT43244 Family [BlueField-3 SoC PCIe Bridge] + (rev 01)' +- bus: '02' + dev: '03' + fn: '0' + id: 197b + name: 'PCI bridge: Mellanox Technologies MT43244 Family [BlueField-3 SoC PCIe Bridge] + (rev 01)' +- bus: '03' + dev: '00' + fn: '0' + id: a2dc + name: 'Ethernet controller: Mellanox Technologies MT43244 BlueField-3 integrated + ConnectX-7 network controller (rev 01)' +- bus: '04' + dev: '00' + fn: '0' + id: 197b + name: 'PCI bridge: Mellanox Technologies MT43244 Family [BlueField-3 SoC PCIe Bridge] + (rev 01)' +- bus: '05' + dev: '00' + fn: '0' + id: 197b + name: 'PCI bridge: Mellanox Technologies MT43244 Family [BlueField-3 SoC PCIe Bridge] + (rev 01)' +- bus: '06' + dev: '00' + fn: '0' + id: '5765' + name: 'Non-Volatile memory controller: Device 1f9f:5765 (rev 01)' diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform.json b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform.json new file mode 100644 index 000000000000..b50809fd4225 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform.json @@ -0,0 +1,21 @@ +{ + "chassis": { + "name": "Nvidia-bf3-com-dpu", + "components": [], + "fans": [], + "fan_drawers": [], + "psus": [], + "thermals": [], + "sfps": [] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "0,1,2,3", + "breakout_modes": { + "1x400G": ["etp1"] + } + } + }, + "DPU": {} +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform_asic b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform_asic new file mode 100644 index 000000000000..ce453ec804ad --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/platform_asic @@ -0,0 +1 @@ +nvidia-bluefield diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/plugins/ssd_util.py b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/plugins/ssd_util.py new file mode 100644 index 000000000000..22a6f3eca14f --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/plugins/ssd_util.py @@ -0,0 +1,10 @@ + +import os + +from sonic_platform_base.sonic_storage.emmc import EmmcUtil +from sonic_platform_base.sonic_storage.ssd import SsdUtil as SsdUtilDefault + +def SsdUtil(diskdev): + if os.path.basename(diskdev).startswith('mmcblk'): + return EmmcUtil(diskdev) + return SsdUtilDefault(diskdev) diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pmon_daemon_control.json b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pmon_daemon_control.json new file mode 100644 index 000000000000..86f807221ef5 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/pmon_daemon_control.json @@ -0,0 +1,7 @@ +{ + "skip_ledd": true, + "skip_psud": true, + "skip_fancontrol": true, + "skip_chassisd": true, + "skip_ycabled": true +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/system_health_monitoring_config.json b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/system_health_monitoring_config.json new file mode 100644 index 000000000000..fff1c7ca7492 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/system_health_monitoring_config.json @@ -0,0 +1,6 @@ +{ + "services_to_ignore": [], + "devices_to_ignore": ["psu", "fan"], + "user_defined_checkers": [], + "polling_interval": 60 +}