xref: /openbmc/bmcweb/features/redfish/include/generated/enums/serial_interface.hpp (revision d1a3caa4eda8ca07cd656b4e4e8aa1e4ffe53e1e)
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 
16*d1a3caa4SChandramohan Harkude enum class BitRate{
17*d1a3caa4SChandramohan Harkude     Invalid,
18*d1a3caa4SChandramohan Harkude     BitRate1200,
19*d1a3caa4SChandramohan Harkude     BitRate2400,
20*d1a3caa4SChandramohan Harkude     BitRate4800,
21*d1a3caa4SChandramohan Harkude     BitRate9600,
22*d1a3caa4SChandramohan Harkude     BitRate19200,
23*d1a3caa4SChandramohan Harkude     BitRate38400,
24*d1a3caa4SChandramohan Harkude     BitRate57600,
25*d1a3caa4SChandramohan Harkude     BitRate115200,
26*d1a3caa4SChandramohan Harkude     BitRate230400,
27*d1a3caa4SChandramohan Harkude };
28*d1a3caa4SChandramohan 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 
38*d1a3caa4SChandramohan Harkude enum class DataBits{
39*d1a3caa4SChandramohan Harkude     Invalid,
40*d1a3caa4SChandramohan Harkude     DataBits5,
41*d1a3caa4SChandramohan Harkude     DataBits6,
42*d1a3caa4SChandramohan Harkude     DataBits7,
43*d1a3caa4SChandramohan Harkude     DataBits8,
44*d1a3caa4SChandramohan Harkude };
45*d1a3caa4SChandramohan Harkude 
46*d1a3caa4SChandramohan Harkude enum class StopBits{
47*d1a3caa4SChandramohan Harkude     Invalid,
48*d1a3caa4SChandramohan Harkude     StopBits1,
49*d1a3caa4SChandramohan Harkude     StopBits2,
50*d1a3caa4SChandramohan Harkude };
51*d1a3caa4SChandramohan 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,
64853c0dc5SEd Tanous };
65853c0dc5SEd Tanous 
66*d1a3caa4SChandramohan Harkude enum class ConnectorType{
67*d1a3caa4SChandramohan Harkude     Invalid,
68*d1a3caa4SChandramohan Harkude     RJ45,
69*d1a3caa4SChandramohan Harkude     RJ11,
70*d1a3caa4SChandramohan Harkude     DB9Female,
71*d1a3caa4SChandramohan Harkude     DB9Male,
72*d1a3caa4SChandramohan Harkude     DB25Female,
73*d1a3caa4SChandramohan Harkude     DB25Male,
74*d1a3caa4SChandramohan Harkude     USB,
75*d1a3caa4SChandramohan Harkude     mUSB,
76*d1a3caa4SChandramohan Harkude     uUSB,
77*d1a3caa4SChandramohan Harkude };
78*d1a3caa4SChandramohan Harkude 
79853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SignalType, {
80853c0dc5SEd Tanous     {SignalType::Invalid, "Invalid"},
81853c0dc5SEd Tanous     {SignalType::Rs232, "Rs232"},
82853c0dc5SEd Tanous     {SignalType::Rs485, "Rs485"},
83853c0dc5SEd Tanous });
84853c0dc5SEd Tanous 
85*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(BitRate, {
86*d1a3caa4SChandramohan Harkude     {BitRate::Invalid, "Invalid"},
87*d1a3caa4SChandramohan Harkude     {BitRate::BitRate1200, "1200"},
88*d1a3caa4SChandramohan Harkude     {BitRate::BitRate2400, "2400"},
89*d1a3caa4SChandramohan Harkude     {BitRate::BitRate4800, "4800"},
90*d1a3caa4SChandramohan Harkude     {BitRate::BitRate9600, "9600"},
91*d1a3caa4SChandramohan Harkude     {BitRate::BitRate19200, "19200"},
92*d1a3caa4SChandramohan Harkude     {BitRate::BitRate38400, "38400"},
93*d1a3caa4SChandramohan Harkude     {BitRate::BitRate57600, "57600"},
94*d1a3caa4SChandramohan Harkude     {BitRate::BitRate115200, "115200"},
95*d1a3caa4SChandramohan Harkude     {BitRate::BitRate230400, "230400"},
96*d1a3caa4SChandramohan Harkude });
97*d1a3caa4SChandramohan Harkude 
98853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Parity, {
99853c0dc5SEd Tanous     {Parity::Invalid, "Invalid"},
100853c0dc5SEd Tanous     {Parity::None, "None"},
101853c0dc5SEd Tanous     {Parity::Even, "Even"},
102853c0dc5SEd Tanous     {Parity::Odd, "Odd"},
103853c0dc5SEd Tanous     {Parity::Mark, "Mark"},
104853c0dc5SEd Tanous     {Parity::Space, "Space"},
105853c0dc5SEd Tanous });
106853c0dc5SEd Tanous 
107*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(DataBits, {
108*d1a3caa4SChandramohan Harkude     {DataBits::Invalid, "Invalid"},
109*d1a3caa4SChandramohan Harkude     {DataBits::DataBits5, "5"},
110*d1a3caa4SChandramohan Harkude     {DataBits::DataBits6, "6"},
111*d1a3caa4SChandramohan Harkude     {DataBits::DataBits7, "7"},
112*d1a3caa4SChandramohan Harkude     {DataBits::DataBits8, "8"},
113*d1a3caa4SChandramohan Harkude });
114*d1a3caa4SChandramohan Harkude 
115*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(StopBits, {
116*d1a3caa4SChandramohan Harkude     {StopBits::Invalid, "Invalid"},
117*d1a3caa4SChandramohan Harkude     {StopBits::StopBits1, "1"},
118*d1a3caa4SChandramohan Harkude     {StopBits::StopBits2, "2"},
119*d1a3caa4SChandramohan Harkude });
120*d1a3caa4SChandramohan Harkude 
121853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(FlowControl, {
122853c0dc5SEd Tanous     {FlowControl::Invalid, "Invalid"},
123853c0dc5SEd Tanous     {FlowControl::None, "None"},
124853c0dc5SEd Tanous     {FlowControl::Software, "Software"},
125853c0dc5SEd Tanous     {FlowControl::Hardware, "Hardware"},
126853c0dc5SEd Tanous });
127853c0dc5SEd Tanous 
128853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PinOut, {
129853c0dc5SEd Tanous     {PinOut::Invalid, "Invalid"},
130853c0dc5SEd Tanous     {PinOut::Cisco, "Cisco"},
131853c0dc5SEd Tanous     {PinOut::Cyclades, "Cyclades"},
132853c0dc5SEd Tanous     {PinOut::Digi, "Digi"},
133853c0dc5SEd Tanous });
134853c0dc5SEd Tanous 
135*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(ConnectorType, {
136*d1a3caa4SChandramohan Harkude     {ConnectorType::Invalid, "Invalid"},
137*d1a3caa4SChandramohan Harkude     {ConnectorType::RJ45, "RJ45"},
138*d1a3caa4SChandramohan Harkude     {ConnectorType::RJ11, "RJ11"},
139*d1a3caa4SChandramohan Harkude     {ConnectorType::DB9Female, "DB9 Female"},
140*d1a3caa4SChandramohan Harkude     {ConnectorType::DB9Male, "DB9 Male"},
141*d1a3caa4SChandramohan Harkude     {ConnectorType::DB25Female, "DB25 Female"},
142*d1a3caa4SChandramohan Harkude     {ConnectorType::DB25Male, "DB25 Male"},
143*d1a3caa4SChandramohan Harkude     {ConnectorType::USB, "USB"},
144*d1a3caa4SChandramohan Harkude     {ConnectorType::mUSB, "mUSB"},
145*d1a3caa4SChandramohan Harkude     {ConnectorType::uUSB, "uUSB"},
146*d1a3caa4SChandramohan Harkude });
147*d1a3caa4SChandramohan Harkude 
148853c0dc5SEd Tanous }
149853c0dc5SEd Tanous // clang-format on
150