gbmcweb: tlbmc: Add BOARD_INFO_AM3/4 to ProbeV2 fields

Adds support for BOARD_INFO_AM3 and BOARD_INFO_AM4 FRU fields. Mandolin
Beach uses BOARD_INFO_AM3 for POL vendor and BOARD_INFO_AM4 for the
revision ID (PEVT, EVT, etc) so tlbmc ProbeV2 needs to support it.

Tested:
- Successfully built and flashed to MB PTV unit with the following
  yusaku probe:

```
        "ProbeV2": {
            "IpmiFru": [
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^PTV$"
                },
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^PEVT[0-9]*$"
                },
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^EVT[0-9]*$"
                },
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^DVT[0-9]*$"
                },
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^PVT[0-9]*$"
                },
                {
                    "BOARD_PRODUCT_NAME": "^Mandolin Beach$",
                    "BOARD_INFO_AM3": "^IFX$",
                    "BOARD_INFO_AM4": "^GA[0-9]*$"
                }
            ]
        },
```
- Verified that tlbmc is enabled in bmcweb journal
- Verified that sensors exposed through tlbmc are seen in
  redfish/tlbmc/AllSensors

Note that the content of this CL was provided by Foxconn, in this gerrit
review:
- 54377: gbmcweb: tlbmc: Add BOARD_INFO_AM3/4 to ProbeV2 fields | https://gbmc-review.git.corp.google.com/c/gbmcweb/+/54377
PiperOrigin-RevId: 818786515
Change-Id: I26938fedfa1fc39b79e9c7d88dd469889e8805cd
diff --git a/tlbmc/configs/entity_config_json_impl.cc b/tlbmc/configs/entity_config_json_impl.cc
index 4c2e164..c997457 100644
--- a/tlbmc/configs/entity_config_json_impl.cc
+++ b/tlbmc/configs/entity_config_json_impl.cc
@@ -447,11 +447,14 @@
     const auto* address = GetValueAsUint(ipmi_fru, "ADDRESS");
     const auto* part_number = GetValueAsString(ipmi_fru, "BOARD_PART_NUMBER");
     const auto* board_info_am2 = GetValueAsString(ipmi_fru, "BOARD_INFO_AM2");
+    const auto* board_info_am3 = GetValueAsString(ipmi_fru, "BOARD_INFO_AM3");
+    const auto* board_info_am4 = GetValueAsString(ipmi_fru, "BOARD_INFO_AM4");
     const auto* product_info_am2 =
         GetValueAsString(ipmi_fru, "PRODUCT_INFO_AM2");
     if (board_product_name == nullptr && product_product_name == nullptr &&
         bus == nullptr && address == nullptr && part_number == nullptr &&
-        board_info_am2 == nullptr && product_info_am2 == nullptr) {
+        board_info_am2 == nullptr && board_info_am3 == nullptr &&
+        board_info_am4 == nullptr && product_info_am2 == nullptr) {
       return absl::InvalidArgumentError(
           "Invalid config: IpmiFru field is not a valid probe");
     }
@@ -474,6 +477,10 @@
           CheckProbeFieldMatch(part_number, fru, "BOARD_PART_NUMBER");
       bool board_info_am2_matches_or_null =
           CheckProbeFieldMatch(board_info_am2, fru, "BOARD_INFO_AM2");
+      bool board_info_am3_matches_or_null =
+          CheckProbeFieldMatch(board_info_am3, fru, "BOARD_INFO_AM3");
+      bool board_info_am4_matches_or_null =
+          CheckProbeFieldMatch(board_info_am4, fru, "BOARD_INFO_AM4");
       bool product_info_am2_matches_or_null =
           CheckProbeFieldMatch(product_info_am2, fru, "PRODUCT_INFO_AM2");
 
@@ -481,6 +488,7 @@
       if (!i2c_info_matches_or_null || !board_product_name_matches_or_null ||
           !product_product_name_matches_or_null ||
           !part_number_matches_or_null || !board_info_am2_matches_or_null ||
+          !board_info_am3_matches_or_null || !board_info_am4_matches_or_null ||
           !product_info_am2_matches_or_null) {
         continue;
       }