diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/hwsku.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/hwsku.json new file mode 100644 index 000000000000..ac8c3632d1a6 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/hwsku.json @@ -0,0 +1,10 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x200G" + }, + "Ethernet4": { + "default_brkout_mode": "1x200G" + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/port_config.ini b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/port_config.ini new file mode 100644 index 000000000000..0a062c9aef0f --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/port_config.ini @@ -0,0 +1,19 @@ +## +## Copyright (c) 2021-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 +Ethernet4 4,5,6,7 etp2 2 diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/sai.profile b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/sai.profile new file mode 100644 index 000000000000..547db9ee05be --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1/sai.profile @@ -0,0 +1,4 @@ +SAI_DUMP_STORE_PATH=/var/log/bluefield/sdk-dumps +SAI_DUMP_STORE_AMOUNT=10 +PORT_LAYOUT=2x200G +HAIRPIN=true diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/hwsku.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/hwsku.json new file mode 100644 index 000000000000..caf6d7ed37b4 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/hwsku.json @@ -0,0 +1,10 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G" + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/port_config.ini b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/port_config.ini new file mode 100644 index 000000000000..0a062c9aef0f --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/port_config.ini @@ -0,0 +1,19 @@ +## +## Copyright (c) 2021-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 +Ethernet4 4,5,6,7 etp2 2 diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/sai.profile b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/sai.profile new file mode 100644 index 000000000000..16c736ab2a51 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2/sai.profile @@ -0,0 +1,4 @@ +SAI_DUMP_STORE_PATH=/var/log/bluefield/sdk-dumps +SAI_DUMP_STORE_AMOUNT=10 +PORT_LAYOUT=2x100G +HAIRPIN=false diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/hwsku.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/hwsku.json new file mode 100644 index 000000000000..caf6d7ed37b4 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/hwsku.json @@ -0,0 +1,10 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G" + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/port_config.ini b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/port_config.ini new file mode 100644 index 000000000000..0a062c9aef0f --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/port_config.ini @@ -0,0 +1,19 @@ +## +## Copyright (c) 2021-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 +Ethernet4 4,5,6,7 etp2 2 diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/sai.profile b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/sai.profile new file mode 100644 index 000000000000..00014723a11e --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA/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=2x100G +HAIRPIN=false diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/default_sku b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/default_sku new file mode 100644 index 000000000000..faa7d72812a1 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/default_sku @@ -0,0 +1 @@ +Nvidia-9009d3b600CVAA appliance diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/installer.conf b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/installer.conf new file mode 100644 index 000000000000..66c2a99a31e4 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/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-9009d3b600cvaa/pcie.yaml b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/pcie.yaml new file mode 100644 index 000000000000..9dea7d670002 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/pcie.yaml @@ -0,0 +1,53 @@ +- bus: '00' + dev: '00' + fn: '0' + id: a2db + name: 'PCI bridge: Mellanox Technologies MT43244 BlueField-3 SoC Crypto disabled + (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: '03' + dev: '00' + fn: '1' + 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: '0001' + name: 'Non-Volatile memory controller: KIOXIA Corporation Device 0001' diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform.json new file mode 100644 index 000000000000..4ecd49fcb454 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform.json @@ -0,0 +1,36 @@ +{ + "chassis": { + "name": "Nvidia-9009d3b600CVAA", + "components": [], + "fans": [], + "fan_drawers": [], + "psus": [], + "thermals": [], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet4" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "0,1,2,3", + "breakout_modes": { + "1x100G": ["etp1"], + "1x200G": ["etp1"] + } + }, + "Ethernet4": { + "index": "2,2,2,2", + "lanes": "4,5,6,7", + "breakout_modes": { + "1x100G": ["etp2"], + "1x200G": ["etp2"] + } + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform_asic b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform_asic new file mode 100644 index 000000000000..ce453ec804ad --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/platform_asic @@ -0,0 +1 @@ +nvidia-bluefield diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py new file mode 100644 index 000000000000..e4a946e7f5cd --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py @@ -0,0 +1,26 @@ +## +## Copyright (c) 2021-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. +## + +import os + +from sonic_platform_base.sonic_ssd.ssd_emmc import EmmcUtil +from sonic_platform_base.sonic_ssd.ssd_generic 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-9009d3b600cvaa/pmon_daemon_control.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/pmon_daemon_control.json new file mode 100644 index 000000000000..86f807221ef5 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/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-9009d3b600cvaa/system_health_monitoring_config.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/system_health_monitoring_config.json new file mode 100644 index 000000000000..2f6ac924cd43 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/system_health_monitoring_config.json @@ -0,0 +1,6 @@ +{ + "services_to_ignore": [], + "devices_to_ignore": ["psu", "fan"], + "user_defined_checkers": ["python3 -m sonic_platform.throttling_checks.cpu_check", "python3 -m sonic_platform.throttling_checks.ddr_check"], + "polling_interval": 60 +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA new file mode 120000 index 000000000000..35e3fea2987e --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C1 b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C1 new file mode 120000 index 000000000000..269cb0bcd211 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C1 @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C1 \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C2 b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C2 new file mode 120000 index 000000000000..b3cc593dae35 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/Nvidia-9009d3b600SVAA-C2 @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/Nvidia-9009d3b600CVAA-C2 \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/default_sku b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/default_sku new file mode 100644 index 000000000000..d9a4893bdfcd --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/default_sku @@ -0,0 +1 @@ +Nvidia-9009d3b600SVAA appliance diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/installer.conf b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/installer.conf new file mode 120000 index 000000000000..62c74b63e87e --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/installer.conf @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/installer.conf \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pcie.yaml b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pcie.yaml new file mode 120000 index 000000000000..5527d49cfb41 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pcie.yaml @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/pcie.yaml \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform.json new file mode 100644 index 000000000000..814462f07335 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform.json @@ -0,0 +1,36 @@ +{ + "chassis": { + "name": "Nvidia-9009d3b600SVAA", + "components": [], + "fans": [], + "fan_drawers": [], + "psus": [], + "thermals": [], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet4" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "0,1,2,3", + "breakout_modes": { + "1x100G": ["etp1"], + "1x200G": ["etp1"] + } + }, + "Ethernet4": { + "index": "2,2,2,2", + "lanes": "4,5,6,7", + "breakout_modes": { + "1x100G": ["etp2"], + "1x200G": ["etp2"] + } + } + } +} diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform_asic b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform_asic new file mode 120000 index 000000000000..7b8718811db1 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/platform_asic @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/platform_asic \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/plugins b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/plugins new file mode 120000 index 000000000000..4f883901caa4 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/plugins @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/plugins/ \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pmon_daemon_control.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pmon_daemon_control.json new file mode 120000 index 000000000000..1f13b46ee73c --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/pmon_daemon_control.json @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/pmon_daemon_control.json \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/system_health_monitoring_config.json b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/system_health_monitoring_config.json new file mode 120000 index 000000000000..3300a88b7971 --- /dev/null +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600svaa/system_health_monitoring_config.json @@ -0,0 +1 @@ +../arm64-nvda_bf-9009d3b600cvaa/system_health_monitoring_config.json \ No newline at end of file