schemas: add EEPROM device firmware info

Define the JSON schema for EEPROM device info which exposes various
attributes such as BUS, Address, and Mux GPIO details so it can be
used to update the EEPROM devices via EEPROM Device Update Daemon.

Related PR:
https://gerrit.openbmc.org/c/openbmc/phosphor-bmc-code-mgmt/+/77088

Change-Id: I8977fc761e0b7919aedc4f4feede2a15b2ac7815
Signed-off-by: Kevin Tung <Kevin.Tung@quantatw.com>
diff --git a/schemas/exposes_record.json b/schemas/exposes_record.json
index 9bdfb28..5c3be11 100644
--- a/schemas/exposes_record.json
+++ b/schemas/exposes_record.json
@@ -145,6 +145,9 @@
                     "$ref": "firmware.json#/$defs/XDPE1X2XXFirmware"
                 },
                 {
+                    "$ref": "firmware.json#/$defs/EEPROMDeviceFirmware"
+                },
+                {
                     "$ref": "firmware.json#/$defs/BIOS"
                 },
                 {
diff --git a/schemas/firmware.json b/schemas/firmware.json
index 296d6f5..9d71dae 100644
--- a/schemas/firmware.json
+++ b/schemas/firmware.json
@@ -90,6 +90,58 @@
                 "MuxOutputs",
                 "FirmwareInfo"
             ]
+        },
+        "EEPROMDeviceFirmware": {
+            "description": "Required information to complete the EEPROM device firmware update process",
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+                "Name": {
+                    "description": "Unique identifier or label for the EEPROM device",
+                    "type": "string"
+                },
+                "Type": {
+                    "description": "The type of configuration object",
+                    "enum": ["PT5161L"]
+                },
+                "Bus": {
+                    "$ref": "legacy.json#/$defs/Types/Bus"
+                },
+                "Address": {
+                    "$ref": "legacy.json#/$defs/Types/Address"
+                },
+                "FirmwareDevice": {
+                    "description": "The device that stores the EEPROM device firmware",
+                    "type": "string"
+                },
+                "MuxOutputs": {
+                    "description": "The pin names and polarities for the mux which toggles the flash to BMC",
+                    "type": "array",
+                    "items": {
+                        "type": "object",
+                        "properties": {
+                            "Name": {
+                                "$ref": "legacy.json#/$defs/Types/Name"
+                            },
+                            "Polarity": {
+                                "$ref": "legacy.json#/$defs/Types/Polarity"
+                            }
+                        },
+                        "required": ["Name", "Polarity"]
+                    }
+                },
+                "FirmwareInfo": {
+                    "$ref": "#/$defs/FirmwareInfoDef"
+                }
+            },
+            "required": [
+                "Name",
+                "Type",
+                "Bus",
+                "Address",
+                "FirmwareDevice",
+                "FirmwareInfo"
+            ]
         }
     }
 }