xref: /openbmc/bmcweb/features/redfish/include/generated/enums/serial_interface.hpp (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace serial_interface
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class SignalType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Rs232,
13853c0dc5SEd Tanous     Rs485,
14853c0dc5SEd Tanous };
15853c0dc5SEd Tanous 
16d1a3caa4SChandramohan Harkude enum class BitRate{
17d1a3caa4SChandramohan Harkude     Invalid,
18d1a3caa4SChandramohan Harkude     BitRate1200,
19d1a3caa4SChandramohan Harkude     BitRate2400,
20d1a3caa4SChandramohan Harkude     BitRate4800,
21d1a3caa4SChandramohan Harkude     BitRate9600,
22d1a3caa4SChandramohan Harkude     BitRate19200,
23d1a3caa4SChandramohan Harkude     BitRate38400,
24d1a3caa4SChandramohan Harkude     BitRate57600,
25d1a3caa4SChandramohan Harkude     BitRate115200,
26d1a3caa4SChandramohan Harkude     BitRate230400,
27d1a3caa4SChandramohan Harkude };
28d1a3caa4SChandramohan Harkude 
29853c0dc5SEd Tanous enum class Parity{
30853c0dc5SEd Tanous     Invalid,
31853c0dc5SEd Tanous     None,
32853c0dc5SEd Tanous     Even,
33853c0dc5SEd Tanous     Odd,
34853c0dc5SEd Tanous     Mark,
35853c0dc5SEd Tanous     Space,
36853c0dc5SEd Tanous };
37853c0dc5SEd Tanous 
38d1a3caa4SChandramohan Harkude enum class DataBits{
39d1a3caa4SChandramohan Harkude     Invalid,
40d1a3caa4SChandramohan Harkude     DataBits5,
41d1a3caa4SChandramohan Harkude     DataBits6,
42d1a3caa4SChandramohan Harkude     DataBits7,
43d1a3caa4SChandramohan Harkude     DataBits8,
44d1a3caa4SChandramohan Harkude };
45d1a3caa4SChandramohan Harkude 
46d1a3caa4SChandramohan Harkude enum class StopBits{
47d1a3caa4SChandramohan Harkude     Invalid,
48d1a3caa4SChandramohan Harkude     StopBits1,
49d1a3caa4SChandramohan Harkude     StopBits2,
50d1a3caa4SChandramohan Harkude };
51d1a3caa4SChandramohan Harkude 
52853c0dc5SEd Tanous enum class FlowControl{
53853c0dc5SEd Tanous     Invalid,
54853c0dc5SEd Tanous     None,
55853c0dc5SEd Tanous     Software,
56853c0dc5SEd Tanous     Hardware,
57853c0dc5SEd Tanous };
58853c0dc5SEd Tanous 
59853c0dc5SEd Tanous enum class PinOut{
60853c0dc5SEd Tanous     Invalid,
61853c0dc5SEd Tanous     Cisco,
62853c0dc5SEd Tanous     Cyclades,
63853c0dc5SEd Tanous     Digi,
64*c6d7a45dSGunnar Mills     Modbus2Wire,
65*c6d7a45dSGunnar Mills     Modbus4Wire,
66*c6d7a45dSGunnar Mills     ModbusRs232,
67853c0dc5SEd Tanous };
68853c0dc5SEd Tanous 
69d1a3caa4SChandramohan Harkude enum class ConnectorType{
70d1a3caa4SChandramohan Harkude     Invalid,
71d1a3caa4SChandramohan Harkude     RJ45,
72d1a3caa4SChandramohan Harkude     RJ11,
73d1a3caa4SChandramohan Harkude     DB9Female,
74d1a3caa4SChandramohan Harkude     DB9Male,
75d1a3caa4SChandramohan Harkude     DB25Female,
76d1a3caa4SChandramohan Harkude     DB25Male,
77d1a3caa4SChandramohan Harkude     USB,
78d1a3caa4SChandramohan Harkude     mUSB,
79d1a3caa4SChandramohan Harkude     uUSB,
80d1a3caa4SChandramohan Harkude };
81d1a3caa4SChandramohan Harkude 
82*c6d7a45dSGunnar Mills enum class Role{
83*c6d7a45dSGunnar Mills     Invalid,
84*c6d7a45dSGunnar Mills     Client,
85*c6d7a45dSGunnar Mills     Server,
86*c6d7a45dSGunnar Mills };
87*c6d7a45dSGunnar Mills 
88853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
89853c0dc5SEd Tanous     {SignalType::Invalid, "Invalid"},
90853c0dc5SEd Tanous     {SignalType::Rs232, "Rs232"},
91853c0dc5SEd Tanous     {SignalType::Rs485, "Rs485"},
92853c0dc5SEd Tanous });
93853c0dc5SEd Tanous 
94d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(BitRate, {
95d1a3caa4SChandramohan Harkude     {BitRate::Invalid, "Invalid"},
96d1a3caa4SChandramohan Harkude     {BitRate::BitRate1200, "1200"},
97d1a3caa4SChandramohan Harkude     {BitRate::BitRate2400, "2400"},
98d1a3caa4SChandramohan Harkude     {BitRate::BitRate4800, "4800"},
99d1a3caa4SChandramohan Harkude     {BitRate::BitRate9600, "9600"},
100d1a3caa4SChandramohan Harkude     {BitRate::BitRate19200, "19200"},
101d1a3caa4SChandramohan Harkude     {BitRate::BitRate38400, "38400"},
102d1a3caa4SChandramohan Harkude     {BitRate::BitRate57600, "57600"},
103d1a3caa4SChandramohan Harkude     {BitRate::BitRate115200, "115200"},
104d1a3caa4SChandramohan Harkude     {BitRate::BitRate230400, "230400"},
105d1a3caa4SChandramohan Harkude });
106d1a3caa4SChandramohan Harkude 
107853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
108853c0dc5SEd Tanous     {Parity::Invalid, "Invalid"},
109853c0dc5SEd Tanous     {Parity::None, "None"},
110853c0dc5SEd Tanous     {Parity::Even, "Even"},
111853c0dc5SEd Tanous     {Parity::Odd, "Odd"},
112853c0dc5SEd Tanous     {Parity::Mark, "Mark"},
113853c0dc5SEd Tanous     {Parity::Space, "Space"},
114853c0dc5SEd Tanous });
115853c0dc5SEd Tanous 
116d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(DataBits, {
117d1a3caa4SChandramohan Harkude     {DataBits::Invalid, "Invalid"},
118d1a3caa4SChandramohan Harkude     {DataBits::DataBits5, "5"},
119d1a3caa4SChandramohan Harkude     {DataBits::DataBits6, "6"},
120d1a3caa4SChandramohan Harkude     {DataBits::DataBits7, "7"},
121d1a3caa4SChandramohan Harkude     {DataBits::DataBits8, "8"},
122d1a3caa4SChandramohan Harkude });
123d1a3caa4SChandramohan Harkude 
124d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(StopBits, {
125d1a3caa4SChandramohan Harkude     {StopBits::Invalid, "Invalid"},
126d1a3caa4SChandramohan Harkude     {StopBits::StopBits1, "1"},
127d1a3caa4SChandramohan Harkude     {StopBits::StopBits2, "2"},
128d1a3caa4SChandramohan Harkude });
129d1a3caa4SChandramohan Harkude 
130853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
131853c0dc5SEd Tanous     {FlowControl::Invalid, "Invalid"},
132853c0dc5SEd Tanous     {FlowControl::None, "None"},
133853c0dc5SEd Tanous     {FlowControl::Software, "Software"},
134853c0dc5SEd Tanous     {FlowControl::Hardware, "Hardware"},
135853c0dc5SEd Tanous });
136853c0dc5SEd Tanous 
137853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
138853c0dc5SEd Tanous     {PinOut::Invalid, "Invalid"},
139853c0dc5SEd Tanous     {PinOut::Cisco, "Cisco"},
140853c0dc5SEd Tanous     {PinOut::Cyclades, "Cyclades"},
141853c0dc5SEd Tanous     {PinOut::Digi, "Digi"},
142*c6d7a45dSGunnar Mills     {PinOut::Modbus2Wire, "Modbus2Wire"},
143*c6d7a45dSGunnar Mills     {PinOut::Modbus4Wire, "Modbus4Wire"},
144*c6d7a45dSGunnar Mills     {PinOut::ModbusRs232, "ModbusRs232"},
145853c0dc5SEd Tanous });
146853c0dc5SEd Tanous 
147d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(ConnectorType, {
148d1a3caa4SChandramohan Harkude     {ConnectorType::Invalid, "Invalid"},
149d1a3caa4SChandramohan Harkude     {ConnectorType::RJ45, "RJ45"},
150d1a3caa4SChandramohan Harkude     {ConnectorType::RJ11, "RJ11"},
151d1a3caa4SChandramohan Harkude     {ConnectorType::DB9Female, "DB9 Female"},
152d1a3caa4SChandramohan Harkude     {ConnectorType::DB9Male, "DB9 Male"},
153d1a3caa4SChandramohan Harkude     {ConnectorType::DB25Female, "DB25 Female"},
154d1a3caa4SChandramohan Harkude     {ConnectorType::DB25Male, "DB25 Male"},
155d1a3caa4SChandramohan Harkude     {ConnectorType::USB, "USB"},
156d1a3caa4SChandramohan Harkude     {ConnectorType::mUSB, "mUSB"},
157d1a3caa4SChandramohan Harkude     {ConnectorType::uUSB, "uUSB"},
158d1a3caa4SChandramohan Harkude });
159d1a3caa4SChandramohan Harkude 
160*c6d7a45dSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(Role, {
161*c6d7a45dSGunnar Mills     {Role::Invalid, "Invalid"},
162*c6d7a45dSGunnar Mills     {Role::Client, "Client"},
163*c6d7a45dSGunnar Mills     {Role::Server, "Server"},
164*c6d7a45dSGunnar Mills });
165*c6d7a45dSGunnar Mills 
166853c0dc5SEd Tanous }
167853c0dc5SEd Tanous // clang-format on
168