xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/SerialInterface.v1_3_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/SerialInterface.v1_3_0.json",
3    "$ref": "#/definitions/SerialInterface",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30                    "versionAdded": "v1_1_0"
31                }
32            },
33            "type": "object"
34        },
35        "BitRate": {
36            "enum": [
37                "1200",
38                "2400",
39                "4800",
40                "9600",
41                "19200",
42                "38400",
43                "57600",
44                "115200",
45                "230400"
46            ],
47            "enumDescriptions": {
48                "115200": "A bit rate of 115200 bit/s.",
49                "1200": "A bit rate of 1200 bit/s.",
50                "19200": "A bit rate of 19200 bit/s.",
51                "230400": "A bit rate of 230400 bit/s.",
52                "2400": "A bit rate of 2400 bit/s.",
53                "38400": "A bit rate of 38400 bit/s.",
54                "4800": "A bit rate of 4800 bit/s.",
55                "57600": "A bit rate of 57600 bit/s.",
56                "9600": "A bit rate of 9600 bit/s."
57            },
58            "type": "string"
59        },
60        "ConnectorType": {
61            "enum": [
62                "RJ45",
63                "RJ11",
64                "DB9 Female",
65                "DB9 Male",
66                "DB25 Female",
67                "DB25 Male",
68                "USB",
69                "mUSB",
70                "uUSB"
71            ],
72            "enumDescriptions": {
73                "DB25 Female": "A DB25 Female connector.",
74                "DB25 Male": "A DB25 Male connector.",
75                "DB9 Female": "A DB9 Female connector.",
76                "DB9 Male": "A DB9 Male connector.",
77                "RJ11": "An RJ11 connector.",
78                "RJ45": "An RJ45 connector.",
79                "USB": "A USB connector.",
80                "mUSB": "A mUSB connector.",
81                "uUSB": "A uUSB connector."
82            },
83            "type": "string"
84        },
85        "DataBits": {
86            "enum": [
87                "5",
88                "6",
89                "7",
90                "8"
91            ],
92            "enumDescriptions": {
93                "5": "Five bits of data following the start bit.",
94                "6": "Six bits of data following the start bit.",
95                "7": "Seven bits of data following the start bit.",
96                "8": "Eight bits of data following the start bit."
97            },
98            "type": "string"
99        },
100        "FlowControl": {
101            "enum": [
102                "None",
103                "Software",
104                "Hardware"
105            ],
106            "enumDescriptions": {
107                "Hardware": "Out-of-band flow control imposed.",
108                "None": "No flow control imposed.",
109                "Software": "XON/XOFF in-band flow control imposed."
110            },
111            "type": "string"
112        },
113        "Links": {
114            "additionalProperties": false,
115            "description": "The links to other resources that are related to this resource.",
116            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
117            "patternProperties": {
118                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
119                    "description": "This property shall specify a valid odata or Redfish property.",
120                    "type": [
121                        "array",
122                        "boolean",
123                        "integer",
124                        "number",
125                        "null",
126                        "object",
127                        "string"
128                    ]
129                }
130            },
131            "properties": {
132                "Oem": {
133                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
134                    "description": "The OEM extension property.",
135                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
136                }
137            },
138            "type": "object"
139        },
140        "Modbus": {
141            "additionalProperties": false,
142            "description": "The Modbus settings for the serial interface.",
143            "longDescription": "This type shall contain the Modbus settings for this serial interface.",
144            "patternProperties": {
145                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
146                    "description": "This property shall specify a valid odata or Redfish property.",
147                    "type": [
148                        "array",
149                        "boolean",
150                        "integer",
151                        "number",
152                        "null",
153                        "object",
154                        "string"
155                    ]
156                }
157            },
158            "properties": {
159                "ReadOnly": {
160                    "description": "Indicates if the interface is read only.",
161                    "longDescription": "This property shall indicate if the serial interface is read only.  If `true`, the serial service on this manager shall reject or ignore requests that modify data.  This property shall only be present if the `Role` property contains `Server`.",
162                    "readonly": false,
163                    "type": [
164                        "boolean",
165                        "null"
166                    ],
167                    "versionAdded": "v1_3_0"
168                },
169                "Role": {
170                    "$ref": "#/definitions/Role",
171                    "description": "The role of the serial interface.",
172                    "longDescription": "This property shall contain the role of this serial interface.",
173                    "readonly": false,
174                    "versionAdded": "v1_3_0"
175                },
176                "ServerId": {
177                    "description": "The server identifier for this Modbus RTU interface.",
178                    "longDescription": "This property shall contain the MODBUS over Serial Line Specification and Implementation guide-defined address that identifies this Modbus RTU server.  This property shall only be present if the `Role` property contains `Server`.",
179                    "maximum": 247,
180                    "minimum": 1,
181                    "readonly": false,
182                    "type": [
183                        "integer",
184                        "null"
185                    ],
186                    "versionAdded": "v1_3_0"
187                }
188            },
189            "type": "object"
190        },
191        "OemActions": {
192            "additionalProperties": true,
193            "description": "The available OEM-specific actions for this resource.",
194            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
195            "patternProperties": {
196                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
197                    "description": "This property shall specify a valid odata or Redfish property.",
198                    "type": [
199                        "array",
200                        "boolean",
201                        "integer",
202                        "number",
203                        "null",
204                        "object",
205                        "string"
206                    ]
207                }
208            },
209            "properties": {},
210            "type": "object"
211        },
212        "Parity": {
213            "enum": [
214                "None",
215                "Even",
216                "Odd",
217                "Mark",
218                "Space"
219            ],
220            "enumDescriptions": {
221                "Even": "An even parity bit.",
222                "Mark": "A mark parity bit.",
223                "None": "No parity bit.",
224                "Odd": "An odd parity bit.",
225                "Space": "A space parity bit."
226            },
227            "type": "string"
228        },
229        "PinOut": {
230            "enum": [
231                "Cisco",
232                "Cyclades",
233                "Digi",
234                "Modbus2Wire",
235                "Modbus4Wire",
236                "ModbusRs232"
237            ],
238            "enumDescriptions": {
239                "Cisco": "The Cisco pinout configuration.",
240                "Cyclades": "The Cyclades pinout configuration.",
241                "Digi": "The Digi pinout configuration.",
242                "Modbus2Wire": "The Modbus 2 wire pinout configuration.",
243                "Modbus4Wire": "The Modbus 4 wire pinout configuration.",
244                "ModbusRs232": "The Modbus RS232 pinout configuration."
245            },
246            "enumLongDescriptions": {
247                "Modbus2Wire": "This value shall indicate the MODBUS over Serial Line Specification and Implementation guide-defined 2W-MODBUS pinout.  This value shall only be used if the `SignalType` property contains `Rs485`.",
248                "Modbus4Wire": "This value shall indicate the MODBUS over Serial Line Specification and Implementation guide-defined 4W-MODBUS pinout.  This value shall only be used if the `SignalType` property contains `Rs485`.",
249                "ModbusRs232": "This value shall indicate the MODBUS over Serial Line Specification and Implementation guide-defined RS232-MODBUS pinout.  This value shall only be used if the `SignalType` property contains `Rs232`."
250            },
251            "enumVersionAdded": {
252                "Modbus2Wire": "v1_3_0",
253                "Modbus4Wire": "v1_3_0",
254                "ModbusRs232": "v1_3_0"
255            },
256            "type": "string"
257        },
258        "Role": {
259            "enum": [
260                "Client",
261                "Server"
262            ],
263            "enumDescriptions": {
264                "Client": "The serial interface is a client and connects to one or more servers across a serial bus.",
265                "Server": "The serial interface is a server and allows one or more clients to connect across a serial bus."
266            },
267            "type": "string"
268        },
269        "SerialInterface": {
270            "additionalProperties": false,
271            "description": "The `SerialInterface` schema describes an asynchronous serial interface, such as an RS-232 interface, available to a system or device.",
272            "longDescription": "This resource shall represent a serial interface as part of the Redfish Specification.",
273            "patternProperties": {
274                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
275                    "description": "This property shall specify a valid odata or Redfish property.",
276                    "type": [
277                        "array",
278                        "boolean",
279                        "integer",
280                        "number",
281                        "null",
282                        "object",
283                        "string"
284                    ]
285                }
286            },
287            "properties": {
288                "@odata.context": {
289                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
290                },
291                "@odata.etag": {
292                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
293                },
294                "@odata.id": {
295                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
296                },
297                "@odata.type": {
298                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
299                },
300                "Actions": {
301                    "$ref": "#/definitions/Actions",
302                    "description": "The available actions for this resource.",
303                    "longDescription": "This property shall contain the available actions for this resource.",
304                    "versionAdded": "v1_1_0"
305                },
306                "BitRate": {
307                    "$ref": "#/definitions/BitRate",
308                    "description": "The receive and transmit rate of data flow, typically in bits per second (bit/s), over the serial connection.",
309                    "longDescription": "This property shall indicate the transmit and receive speed of the serial connection.",
310                    "readonly": false
311                },
312                "ConnectorType": {
313                    "$ref": "#/definitions/ConnectorType",
314                    "description": "The type of connector used for this interface.",
315                    "longDescription": "This property shall indicate the type of physical connector used for this serial connection.",
316                    "readonly": true
317                },
318                "DataBits": {
319                    "$ref": "#/definitions/DataBits",
320                    "description": "The number of data bits that follow the start bit over the serial connection.",
321                    "longDescription": "This property shall indicate number of data bits for the serial connection.",
322                    "readonly": false
323                },
324                "Description": {
325                    "anyOf": [
326                        {
327                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
328                        },
329                        {
330                            "type": "null"
331                        }
332                    ],
333                    "readonly": true
334                },
335                "FlowControl": {
336                    "$ref": "#/definitions/FlowControl",
337                    "description": "The type of flow control, if any, that is imposed on the serial connection.",
338                    "longDescription": "This property shall indicate the flow control mechanism for the serial connection.",
339                    "readonly": false
340                },
341                "Id": {
342                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
343                    "readonly": true
344                },
345                "InterfaceEnabled": {
346                    "description": "An indication of whether this interface is enabled.",
347                    "longDescription": "This property shall indicate whether this interface is enabled.",
348                    "readonly": false,
349                    "type": [
350                        "boolean",
351                        "null"
352                    ]
353                },
354                "Links": {
355                    "$ref": "#/definitions/Links",
356                    "description": "The links to other resources that are related to this resource.",
357                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
358                    "versionAdded": "v1_2_0"
359                },
360                "Modbus": {
361                    "$ref": "#/definitions/Modbus",
362                    "description": "The Modbus settings for the serial interface.",
363                    "longDescription": "This property shall contain the Modbus settings for this serial interface.",
364                    "versionAdded": "v1_3_0"
365                },
366                "Name": {
367                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
368                    "readonly": true
369                },
370                "Oem": {
371                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
372                    "description": "The OEM extension property.",
373                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
374                },
375                "Parity": {
376                    "$ref": "#/definitions/Parity",
377                    "description": "The type of parity used by the sender and receiver to detect errors over the serial connection.",
378                    "longDescription": "This property shall indicate parity information for a serial connection.",
379                    "readonly": false
380                },
381                "PinOut": {
382                    "anyOf": [
383                        {
384                            "$ref": "#/definitions/PinOut"
385                        },
386                        {
387                            "type": "null"
388                        }
389                    ],
390                    "description": "The physical pinout configuration for a serial connector.",
391                    "longDescription": "This property shall indicate the physical pinout for the serial connector.",
392                    "readonly": true
393                },
394                "SignalType": {
395                    "$ref": "#/definitions/SignalType",
396                    "description": "The type of signal used for the communication connection.",
397                    "longDescription": "This property shall contain the type of serial signaling in use for the serial connection.",
398                    "readonly": true
399                },
400                "StopBits": {
401                    "$ref": "#/definitions/StopBits",
402                    "description": "The period of time before the next start bit is transmitted.",
403                    "longDescription": "This property shall indicate the stop bits for the serial connection.",
404                    "readonly": false
405                }
406            },
407            "required": [
408                "@odata.id",
409                "@odata.type",
410                "Id",
411                "Name"
412            ],
413            "type": "object"
414        },
415        "SignalType": {
416            "enum": [
417                "Rs232",
418                "Rs485"
419            ],
420            "enumDescriptions": {
421                "Rs232": "The serial interface follows RS232.",
422                "Rs485": "The serial interface follows RS485."
423            },
424            "type": "string"
425        },
426        "StopBits": {
427            "enum": [
428                "1",
429                "2"
430            ],
431            "enumDescriptions": {
432                "1": "One stop bit following the data bits.",
433                "2": "Two stop bits following the data bits."
434            },
435            "type": "string"
436        }
437    },
438    "language": "en",
439    "owningEntity": "DMTF",
440    "release": "2025.2",
441    "title": "#SerialInterface.v1_3_0.SerialInterface"
442}