blob: 01c2777fdecbcebbfb7875b749d6620cc87cecff [file] [log] [blame]
Jagpal Singh Gille6fc3b72024-11-20 18:09:28 -08001{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$defs": {
4 "FirmwareInfoDef": {
5 "description": "This indicates the properties which apply to all firmwares",
6 "type": "object",
Jagpal Singh Gill4f44b692025-06-09 10:23:01 -07007 "additionalProperties": false,
Jagpal Singh Gille6fc3b72024-11-20 18:09:28 -08008 "properties": {
9 "VendorIANA": {
10 "description": "The IANA Enterprise Id of the hardware vendor",
11 "type": "number"
12 },
13 "CompatibleHardware": {
14 "description": "The compatible hardware with name format com.<vendor>.Hardware.<XXX> specified by vendor in phosphor-dbus-interfaces",
15 "type": "string"
16 }
17 },
Jagpal Singh Gill34f4d152025-02-18 22:58:24 -080018 "required": ["VendorIANA", "CompatibleHardware"]
Christopher Meisd64855f2025-01-24 08:36:48 +010019 },
Christopher Meis6d452d12025-04-22 09:18:26 +020020 "I2CVRFirmware": {
21 "description": "Required information to complete I2C voltage regulator firmware update",
Christopher Meisd64855f2025-01-24 08:36:48 +010022 "object": "object",
Jagpal Singh Gill4f44b692025-06-09 10:23:01 -070023 "additionalProperties": false,
Christopher Meisd64855f2025-01-24 08:36:48 +010024 "properties": {
25 "Name": {
26 "description": "Name of the firmware",
27 "type": "string"
28 },
29 "Type": {
30 "description": "The type of configuration object",
Christopher Meis6d452d12025-04-22 09:18:26 +020031 "enum": ["XDPE1X2XXFirmware", "ISL69269Firmware"]
Christopher Meisd64855f2025-01-24 08:36:48 +010032 },
33 "Bus": {
Christopher Meis6d452d12025-04-22 09:18:26 +020034 "$ref": "legacy.json#/$defs/Types/Bus"
Christopher Meisd64855f2025-01-24 08:36:48 +010035 },
36 "Address": {
Christopher Meis6d452d12025-04-22 09:18:26 +020037 "$ref": "legacy.json#/$defs/Types/Address"
Christopher Meisd64855f2025-01-24 08:36:48 +010038 },
39 "FirmwareInfo": {
40 "$ref": "#/$defs/FirmwareInfoDef"
41 }
42 },
43 "required": ["Name", "Type", "Bus", "Address", "FirmwareInfo"]
Jagpal Singh Gill79b20752024-11-24 16:25:39 -080044 },
45 "BIOS": {
46 "description": "Required information to complete the host fw update process.",
47 "type": "object",
Jagpal Singh Gill4f44b692025-06-09 10:23:01 -070048 "additionalProperties": false,
Jagpal Singh Gill79b20752024-11-24 16:25:39 -080049 "properties": {
50 "Type": {
51 "description": "The type of configuration object. IntelSPIFlash implies Intel Flash Descriptor.",
52 "enum": ["IntelSPIFlash", "SPIFlash"]
53 },
54 "Name": {
55 "description": "The name of the firmware.",
56 "type": "string"
57 },
58 "SPIControllerIndex": {
59 "description": "The index of the SPI controller",
60 "type": "number"
61 },
62 "SPIDeviceIndex": {
63 "description": "The index of the SPI device connected to that controller",
64 "type": "number"
65 },
66 "MuxOutputs": {
67 "description": "The pin names and values for the mux which toggles the flash to BMC",
68 "type": "array",
69 "items": {
70 "type": "object",
Jagpal Singh Gill4f44b692025-06-09 10:23:01 -070071 "additionalProperties": false,
Jagpal Singh Gill79b20752024-11-24 16:25:39 -080072 "properties": {
73 "Name": {
74 "$ref": "legacy.json#/$defs/Types/Name"
75 },
76 "Polarity": {
77 "$ref": "legacy.json#/$defs/Types/Polarity"
78 }
79 },
80 "required": ["Name", "Polarity"]
81 }
82 },
83 "FirmwareInfo": {
84 "$ref": "#/$defs/FirmwareInfoDef"
85 }
86 },
87 "required": [
88 "Name",
89 "Type",
90 "SPIControllerIndex",
91 "SPIDeviceIndex",
92 "MuxOutputs",
93 "FirmwareInfo"
94 ]
Kevin Tungf75a4992025-01-13 19:14:27 +080095 },
96 "EEPROMDeviceFirmware": {
97 "description": "Required information to complete the EEPROM device firmware update process",
98 "type": "object",
99 "additionalProperties": false,
100 "properties": {
101 "Name": {
102 "description": "Unique identifier or label for the EEPROM device",
103 "type": "string"
104 },
105 "Type": {
106 "description": "The type of configuration object",
Kevin Tunga98861f2025-05-13 18:34:46 +0800107 "enum": ["PT5161LFirmware"]
Kevin Tungf75a4992025-01-13 19:14:27 +0800108 },
109 "Bus": {
110 "$ref": "legacy.json#/$defs/Types/Bus"
111 },
112 "Address": {
113 "$ref": "legacy.json#/$defs/Types/Address"
114 },
115 "FirmwareDevice": {
116 "description": "The device that stores the EEPROM device firmware",
117 "type": "string"
118 },
119 "MuxOutputs": {
120 "description": "The pin names and polarities for the mux which toggles the flash to BMC",
121 "type": "array",
122 "items": {
123 "type": "object",
Jagpal Singh Gill4f44b692025-06-09 10:23:01 -0700124 "additionalProperties": false,
Kevin Tungf75a4992025-01-13 19:14:27 +0800125 "properties": {
126 "Name": {
127 "$ref": "legacy.json#/$defs/Types/Name"
128 },
129 "Polarity": {
130 "$ref": "legacy.json#/$defs/Types/Polarity"
131 }
132 },
133 "required": ["Name", "Polarity"]
134 }
135 },
136 "FirmwareInfo": {
137 "$ref": "#/$defs/FirmwareInfoDef"
138 }
139 },
140 "required": [
141 "Name",
142 "Type",
143 "Bus",
144 "Address",
145 "FirmwareDevice",
146 "FirmwareInfo"
147 ]
Jagpal Singh Gille6fc3b72024-11-20 18:09:28 -0800148 }
149 }
150}