diff --git a/fboss/platform/firmware_onboarding/configs/m4340nhp/BUCK b/fboss/platform/firmware_onboarding/configs/m4340nhp/BUCK new file mode 100644 index 0000000000000..55cd611c991e4 --- /dev/null +++ b/fboss/platform/firmware_onboarding/configs/m4340nhp/BUCK @@ -0,0 +1,11 @@ +load("@fbcode_macros//build_defs:export_files.bzl", "export_file") + +oncall("fboss_platform") + +export_file( + name = "spec", + src = "spec.json", + visibility = [ + "//fboss/platform/firmware_onboarding/...", + ], +) diff --git a/fboss/platform/firmware_onboarding/configs/m4340nhp/spec.json b/fboss/platform/firmware_onboarding/configs/m4340nhp/spec.json new file mode 100644 index 0000000000000..4cc9063beca53 --- /dev/null +++ b/fboss/platform/firmware_onboarding/configs/m4340nhp/spec.json @@ -0,0 +1,49 @@ +{ + "spec_version": "1.0", + "platform": { + "name": "m4340nhp", + "silicon": [ + { + "name": "Q4D", + "pcie_address": "07:00.0" + } + ] + }, + "components": [ + { + "name": "bios", + "location": "Main Board", + "display_location": "mb", + "field_replaceable": false, + "firmware": { + "priority": 1, + "shared_with_platforms": [] + } + }, + { + "name": "scm_iob", + "location": "System Control Module", + "display_location": "scm", + "field_replaceable": false, + "pcie_address": "03:00.0", + "firmware": { + "priority": 2, + "shared_with_platforms": [] + } + }, + { + "name": "smb_iob", + "location": "Switch Main Board", + "display_location": "smb", + "field_replaceable": false, + "pcie_address": "04:00.0", + "firmware": { + "priority": 3, + "shared_with_platforms": [] + } + } + ], + "_review_notes": [ + "PSU firmware versions are report-only through fw_util." + ] +} diff --git a/fboss/platform/firmware_onboarding/validator/BUCK b/fboss/platform/firmware_onboarding/validator/BUCK index c9de17c0d7d4e..99fc6403e21a3 100644 --- a/fboss/platform/firmware_onboarding/validator/BUCK +++ b/fboss/platform/firmware_onboarding/validator/BUCK @@ -57,6 +57,7 @@ python_unittest( "//fboss/platform/firmware_onboarding/configs/icecube800banw:spec": "tests/icecube800banw.json", "//fboss/platform/firmware_onboarding/configs/icecube800bc:spec": "tests/icecube800bc.json", "//fboss/platform/firmware_onboarding/configs/m4062nhp:spec": "tests/m4062nhp.json", + "//fboss/platform/firmware_onboarding/configs/m4340nhp:spec": "tests/m4340nhp.json", }, deps = [":preflight"], ) diff --git a/fboss/platform/firmware_onboarding/validator/tests/test_canonical_examples.py b/fboss/platform/firmware_onboarding/validator/tests/test_canonical_examples.py index 5e6493318a022..20ece22d29cf8 100644 --- a/fboss/platform/firmware_onboarding/validator/tests/test_canonical_examples.py +++ b/fboss/platform/firmware_onboarding/validator/tests/test_canonical_examples.py @@ -29,7 +29,12 @@ run_preflight, ) -_CANONICAL_PLATFORMS: list[str] = ["icecube800bc", "icecube800banw", "m4062nhp"] +_CANONICAL_PLATFORMS: list[str] = [ + "icecube800bc", + "icecube800banw", + "m4062nhp", + "m4340nhp", +] class CanonicalExamplesTest(unittest.TestCase):