blob: 9d71dae403ca534249b81ae20f11734d19001301 [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",
7 "properties": {
8 "VendorIANA": {
9 "description": "The IANA Enterprise Id of the hardware vendor",
10 "type": "number"
11 },
12 "CompatibleHardware": {
13 "description": "The compatible hardware with name format com.<vendor>.Hardware.<XXX> specified by vendor in phosphor-dbus-interfaces",
14 "type": "string"
15 }
16 },
Jagpal Singh Gill34f4d152025-02-18 22:58:24 -080017 "required": ["VendorIANA", "CompatibleHardware"]
Christopher Meisd64855f2025-01-24 08:36:48 +010018 },
19 "XDPE1X2XXFirmware": {
20 "description": "Required information to complete a voltage regulator firmware update",
21 "object": "object",
22 "properties": {
23 "Name": {
24 "description": "Name of the firmware",
25 "type": "string"
26 },
27 "Type": {
28 "description": "The type of configuration object",
29 "enum": ["XDPE1X2XXFirmware"]
30 },
31 "Bus": {
32 "description": "I2C bus, the device is connected to",
33 "type": "integer"
34 },
35 "Address": {
36 "description": "I2C address of the device",
37 "type": "integer"
38 },
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",
48 "properties": {
49 "Type": {
50 "description": "The type of configuration object. IntelSPIFlash implies Intel Flash Descriptor.",
51 "enum": ["IntelSPIFlash", "SPIFlash"]
52 },
53 "Name": {
54 "description": "The name of the firmware.",
55 "type": "string"
56 },
57 "SPIControllerIndex": {
58 "description": "The index of the SPI controller",
59 "type": "number"
60 },
61 "SPIDeviceIndex": {
62 "description": "The index of the SPI device connected to that controller",
63 "type": "number"
64 },
65 "MuxOutputs": {
66 "description": "The pin names and values for the mux which toggles the flash to BMC",
67 "type": "array",
68 "items": {
69 "type": "object",
70 "properties": {
71 "Name": {
72 "$ref": "legacy.json#/$defs/Types/Name"
73 },
74 "Polarity": {
75 "$ref": "legacy.json#/$defs/Types/Polarity"
76 }
77 },
78 "required": ["Name", "Polarity"]
79 }
80 },
81 "FirmwareInfo": {
82 "$ref": "#/$defs/FirmwareInfoDef"
83 }
84 },
85 "required": [
86 "Name",
87 "Type",
88 "SPIControllerIndex",
89 "SPIDeviceIndex",
90 "MuxOutputs",
91 "FirmwareInfo"
92 ]
Kevin Tungf75a4992025-01-13 19:14:27 +080093 },
94 "EEPROMDeviceFirmware": {
95 "description": "Required information to complete the EEPROM device firmware update process",
96 "type": "object",
97 "additionalProperties": false,
98 "properties": {
99 "Name": {
100 "description": "Unique identifier or label for the EEPROM device",
101 "type": "string"
102 },
103 "Type": {
104 "description": "The type of configuration object",
105 "enum": ["PT5161L"]
106 },
107 "Bus": {
108 "$ref": "legacy.json#/$defs/Types/Bus"
109 },
110 "Address": {
111 "$ref": "legacy.json#/$defs/Types/Address"
112 },
113 "FirmwareDevice": {
114 "description": "The device that stores the EEPROM device firmware",
115 "type": "string"
116 },
117 "MuxOutputs": {
118 "description": "The pin names and polarities for the mux which toggles the flash to BMC",
119 "type": "array",
120 "items": {
121 "type": "object",
122 "properties": {
123 "Name": {
124 "$ref": "legacy.json#/$defs/Types/Name"
125 },
126 "Polarity": {
127 "$ref": "legacy.json#/$defs/Types/Polarity"
128 }
129 },
130 "required": ["Name", "Polarity"]
131 }
132 },
133 "FirmwareInfo": {
134 "$ref": "#/$defs/FirmwareInfoDef"
135 }
136 },
137 "required": [
138 "Name",
139 "Type",
140 "Bus",
141 "Address",
142 "FirmwareDevice",
143 "FirmwareInfo"
144 ]
Jagpal Singh Gille6fc3b72024-11-20 18:09:28 -0800145 }
146 }
147}