blob: 9f2074a4eb13869baaf73d0de87294794f0207b1 [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 },
Christopher Meis6d452d12025-04-22 09:18:26 +020019 "I2CVRFirmware": {
20 "description": "Required information to complete I2C voltage regulator firmware update",
Christopher Meisd64855f2025-01-24 08:36:48 +010021 "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",
Christopher Meis6d452d12025-04-22 09:18:26 +020029 "enum": ["XDPE1X2XXFirmware", "ISL69269Firmware"]
Christopher Meisd64855f2025-01-24 08:36:48 +010030 },
31 "Bus": {
Christopher Meis6d452d12025-04-22 09:18:26 +020032 "$ref": "legacy.json#/$defs/Types/Bus"
Christopher Meisd64855f2025-01-24 08:36:48 +010033 },
34 "Address": {
Christopher Meis6d452d12025-04-22 09:18:26 +020035 "$ref": "legacy.json#/$defs/Types/Address"
Christopher Meisd64855f2025-01-24 08:36:48 +010036 },
37 "FirmwareInfo": {
38 "$ref": "#/$defs/FirmwareInfoDef"
39 }
40 },
41 "required": ["Name", "Type", "Bus", "Address", "FirmwareInfo"]
Jagpal Singh Gill79b20752024-11-24 16:25:39 -080042 },
43 "BIOS": {
44 "description": "Required information to complete the host fw update process.",
45 "type": "object",
46 "properties": {
47 "Type": {
48 "description": "The type of configuration object. IntelSPIFlash implies Intel Flash Descriptor.",
49 "enum": ["IntelSPIFlash", "SPIFlash"]
50 },
51 "Name": {
52 "description": "The name of the firmware.",
53 "type": "string"
54 },
55 "SPIControllerIndex": {
56 "description": "The index of the SPI controller",
57 "type": "number"
58 },
59 "SPIDeviceIndex": {
60 "description": "The index of the SPI device connected to that controller",
61 "type": "number"
62 },
63 "MuxOutputs": {
64 "description": "The pin names and values for the mux which toggles the flash to BMC",
65 "type": "array",
66 "items": {
67 "type": "object",
68 "properties": {
69 "Name": {
70 "$ref": "legacy.json#/$defs/Types/Name"
71 },
72 "Polarity": {
73 "$ref": "legacy.json#/$defs/Types/Polarity"
74 }
75 },
76 "required": ["Name", "Polarity"]
77 }
78 },
79 "FirmwareInfo": {
80 "$ref": "#/$defs/FirmwareInfoDef"
81 }
82 },
83 "required": [
84 "Name",
85 "Type",
86 "SPIControllerIndex",
87 "SPIDeviceIndex",
88 "MuxOutputs",
89 "FirmwareInfo"
90 ]
Kevin Tungf75a4992025-01-13 19:14:27 +080091 },
92 "EEPROMDeviceFirmware": {
93 "description": "Required information to complete the EEPROM device firmware update process",
94 "type": "object",
95 "additionalProperties": false,
96 "properties": {
97 "Name": {
98 "description": "Unique identifier or label for the EEPROM device",
99 "type": "string"
100 },
101 "Type": {
102 "description": "The type of configuration object",
Kevin Tunga98861f2025-05-13 18:34:46 +0800103 "enum": ["PT5161LFirmware"]
Kevin Tungf75a4992025-01-13 19:14:27 +0800104 },
105 "Bus": {
106 "$ref": "legacy.json#/$defs/Types/Bus"
107 },
108 "Address": {
109 "$ref": "legacy.json#/$defs/Types/Address"
110 },
111 "FirmwareDevice": {
112 "description": "The device that stores the EEPROM device firmware",
113 "type": "string"
114 },
115 "MuxOutputs": {
116 "description": "The pin names and polarities for the mux which toggles the flash to BMC",
117 "type": "array",
118 "items": {
119 "type": "object",
120 "properties": {
121 "Name": {
122 "$ref": "legacy.json#/$defs/Types/Name"
123 },
124 "Polarity": {
125 "$ref": "legacy.json#/$defs/Types/Polarity"
126 }
127 },
128 "required": ["Name", "Polarity"]
129 }
130 },
131 "FirmwareInfo": {
132 "$ref": "#/$defs/FirmwareInfoDef"
133 }
134 },
135 "required": [
136 "Name",
137 "Type",
138 "Bus",
139 "Address",
140 "FirmwareDevice",
141 "FirmwareInfo"
142 ]
Jagpal Singh Gille6fc3b72024-11-20 18:09:28 -0800143 }
144 }
145}