configuration: minerva: support network blade fru

There are two configurations of network blades in the Minerva platform.

One is Janga; the other is Tahan. They do not have any sensors
but includes an EEPROM that should be exported on the D-Bus,
including Redfish.

These two types of network blades can be assembled on any of the
I2C buses: 40, 41, 42, 44, 45, or 46 on the CMM (Chassis
Management Module).

Therefore, we have redefined the numbering scheme for each blade
based on its location in the rack.

Change-Id: I1a536a4252a12863bd38f43ec621e55b05b273ce
Signed-off-by: Yang Chen <yang.chen@quantatw.com>
diff --git a/configurations/meson.build b/configurations/meson.build
index c6b90fe..33e78da 100644
--- a/configurations/meson.build
+++ b/configurations/meson.build
@@ -86,10 +86,12 @@
     'meta/minerva_cmm_scm.json',
     'meta/minerva_fanboard_adc_silergy.json',
     'meta/minerva_fanboard_adc_ti.json',
+    'meta/minerva_janga_smb.json',
     'meta/minerva_pdb.json',
     'meta/minerva_pdb_hsc_xdp.json',
     'meta/minerva_pttv.json',
     'meta/minerva_sitv.json',
+    'meta/minerva_tahan_smb.json',
     'meta/terminus_2x100g_nic_tsff.json',
     'meta/twinlake.json',
     'meta/ventura_fanboard_adc_max.json',
diff --git a/configurations/meta/minerva_janga_smb.json b/configurations/meta/minerva_janga_smb.json
new file mode 100644
index 0000000..d2e25b4
--- /dev/null
+++ b/configurations/meta/minerva_janga_smb.json
@@ -0,0 +1,72 @@
+[
+    {
+        "Exposes": [
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "Minerva Janga SMB $bus - 39 FRU",
+                "Type": "EEPROM"
+            }
+        ],
+        "Name": "Minerva Janga SMB $bus - 39",
+        "Probe": [
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 40})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 41})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 42})",
+            "AND",
+            "FOUND('Minerva CMM')"
+        ],
+        "Type": "Board",
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "BuildDate": "$BOARD_MANUFACTURE_DATE",
+            "Manufacturer": "$BOARD_MANUFACTURER",
+            "Model": "$BOARD_PRODUCT_NAME",
+            "PartNumber": "$BOARD_PART_NUMBER",
+            "SerialNumber": "$BOARD_SERIAL_NUMBER",
+            "SparePartNumber": "$BOARD_INFO_AM1"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+            "AssetTag": "$PRODUCT_ASSET_TAG"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.Revision": {
+            "Version": "$PRODUCT_VERSION"
+        }
+    },
+    {
+        "Exposes": [
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "Minerva Janga SMB $bus - 40 FRU",
+                "Type": "EEPROM"
+            }
+        ],
+        "Name": "Minerva Janga SMB $bus - 40",
+        "Probe": [
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 44})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 45})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Janga SMB', 'BUS': 46})",
+            "AND",
+            "FOUND('Minerva CMM')"
+        ],
+        "Type": "Board",
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "BuildDate": "$BOARD_MANUFACTURE_DATE",
+            "Manufacturer": "$BOARD_MANUFACTURER",
+            "Model": "$BOARD_PRODUCT_NAME",
+            "PartNumber": "$BOARD_PART_NUMBER",
+            "SerialNumber": "$BOARD_SERIAL_NUMBER",
+            "SparePartNumber": "$BOARD_INFO_AM1"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+            "AssetTag": "$PRODUCT_ASSET_TAG"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.Revision": {
+            "Version": "$PRODUCT_VERSION"
+        }
+    }
+]
diff --git a/configurations/meta/minerva_tahan_smb.json b/configurations/meta/minerva_tahan_smb.json
new file mode 100644
index 0000000..a200b83
--- /dev/null
+++ b/configurations/meta/minerva_tahan_smb.json
@@ -0,0 +1,72 @@
+[
+    {
+        "Exposes": [
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "Minerva Tahan SMB $bus - 39 FRU",
+                "Type": "EEPROM"
+            }
+        ],
+        "Name": "Minerva Tahan SMB $bus - 39",
+        "Probe": [
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 40})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 41})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 42})",
+            "AND",
+            "FOUND('Minerva CMM')"
+        ],
+        "Type": "Board",
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "BuildDate": "$BOARD_MANUFACTURE_DATE",
+            "Manufacturer": "$BOARD_MANUFACTURER",
+            "Model": "$BOARD_PRODUCT_NAME",
+            "PartNumber": "$BOARD_PART_NUMBER",
+            "SerialNumber": "$BOARD_SERIAL_NUMBER",
+            "SparePartNumber": "$BOARD_INFO_AM1"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+            "AssetTag": "$PRODUCT_ASSET_TAG"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.Revision": {
+            "Version": "$PRODUCT_VERSION"
+        }
+    },
+    {
+        "Exposes": [
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "Minerva Tahan SMB $bus - 40 FRU",
+                "Type": "EEPROM"
+            }
+        ],
+        "Name": "Minerva Tahan SMB $bus - 40",
+        "Probe": [
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 44})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 45})",
+            "OR",
+            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Tahan SMB', 'BUS': 46})",
+            "AND",
+            "FOUND('Minerva CMM')"
+        ],
+        "Type": "Board",
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "BuildDate": "$BOARD_MANUFACTURE_DATE",
+            "Manufacturer": "$BOARD_MANUFACTURER",
+            "Model": "$BOARD_PRODUCT_NAME",
+            "PartNumber": "$BOARD_PART_NUMBER",
+            "SerialNumber": "$BOARD_SERIAL_NUMBER",
+            "SparePartNumber": "$BOARD_INFO_AM1"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+            "AssetTag": "$PRODUCT_ASSET_TAG"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.Revision": {
+            "Version": "$PRODUCT_VERSION"
+        }
+    }
+]