xref: /openbmc/libpldm/include/libpldm/entity.h (revision 64764fd6)
1 /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
2 #ifndef ENTITY_H
3 #define ENTITY_H
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 /** @brief PLDM Entity ID Codes in DSP0249_1.1.0 specification
10  */
11 enum pldm_entity_id_codes {
12 	PLDM_ENTITY_UNSPECIFIED = 0,
13 	PLDM_ENTITY_OTHER = 1,
14 
15 	/* Miscellaneous Entities */
16 	PLDM_ENTITY_NETWORK = 2,
17 	PLDM_ENTITY_GROUP = 3,
18 	PLDM_ENTITY_REMOTE_MGMT_COMM_DEVICE = 4,
19 	PLDM_ENTITY_EXTERNAL_ENVIRONMENT = 5,
20 	PLDM_ENTITY_COMM_CHANNEL = 6,
21 	PLDM_ENTITY_TERMINUS = 7,
22 	PLDM_ENTITY_PLATFORM_EVENT_LOG = 8,
23 
24 	/* Human Interface Entities */
25 	PLDM_ENTITY_KEYPAD = 15,
26 	PLDM_ENTITY_SWITCH = 16,
27 	PLDM_ENTITY_PUSHBUTTON = 17,
28 	PLDM_ENTITY_DISPLAY = 18,
29 	PLDM_ENTITY_INDICATOR = 19,
30 
31 	/* Software/Firmware Entities */
32 	PLDM_ENTITY_SYS_MGMT_SW = 30,
33 	PLDM_ENTITY_SYS_FIRMWARE = 31,
34 	PLDM_ENTITY_OPERATING_SYS = 32,
35 	PLDM_ENTITY_VIRTUAL_MACHINE_MANAGER = 33,
36 	PLDM_ENTITY_OS_LOADER = 34,
37 	PLDM_ENTITY_DEVICE_DRIVER = 35,
38 	PLDM_ENTITY_MGMT_CONTROLLER_FW = 36,
39 
40 	/* Chassis/Enclosure Entities */
41 	PLDM_ENTITY_SYSTEM_CHASSIS = 45,
42 	PLDM_ENTITY_SUB_CHASSIS = 46,
43 	PLDM_ENTITY_DISK_DRIVE_BAY = 47,
44 	PLDM_ENTITY_PERIPHERAL_BAY = 48,
45 	PLDM_ENTITY_DEVICE_BAY = 49,
46 	PLDM_ENTITY_DOOR = 50,
47 	PLDM_ENTITY_ACCESS_PANEL = 51,
48 	PLDM_ENTITY_COVER = 52,
49 
50 	/* Board/Card/Module Entities */
51 	PLDM_ENTITY_BOARD = 60,
52 	PLDM_ENTITY_CARD = 61,
53 	PLDM_ENTITY_MODULE = 62,
54 	PLDM_ENTITY_SYS_MGMT_MODULE = 63,
55 	PLDM_ENTITY_SYS_BOARD = 64,
56 	PLDM_ENTITY_MEMORY_BOARD = 65,
57 	PLDM_ENTITY_MEMORY_MODULE = 66,
58 	PLDM_ENTITY_PROC_MODULE = 67,
59 	PLDM_ENTITY_ADD_IN_CARD = 68,
60 	PLDM_ENTITY_CHASSIS_FRONT_PANEL_BOARD = 69,
61 	PLDM_ENTITY_BACK_PANEL_BOARD = 70,
62 	PLDM_ENTITY_POWER_MGMT = 71,
63 	PLDM_ENTITY_POWER_SYS_BOARD = 72,
64 	PLDM_ENTITY_DRIVE_BACKPLANE = 73,
65 	PLDM_ENTITY_SYS_INTERNAL_EXPANSION_BOARD = 74,
66 	PLDM_ENTITY_OTHER_SYS_BOARD = 75,
67 	PLDM_ENTITY_CHASSIS_BACK_PANEL_BOARD = 76,
68 	PLDM_ENTITY_PROCESSING_BLADE = 77,
69 	PLDM_ENTITY_CONNECTIVITY_SWITCH = 78,
70 	PLDM_ENTITY_PROC_MEMORY_MODULE = 79,
71 	PLDM_ENTITY_IO_MODULE = 80,
72 	PLDM_ENTITY_PROC_IO_MODULE = 81,
73 
74 	/* Cooling Entities */
75 	PLDM_ENTITY_COOLING_DEVICE = 90,
76 	PLDM_ENTITY_COOLING_SUBSYSTEM = 91,
77 	PLDM_ENTITY_COOLING_UNIT = 92,
78 	PLDM_ENTITY_FAN = 93,
79 	PLDM_ENTITY_PELTIER_COOLING_DEVICE = 94,
80 	PLDM_ENTITY_LIQUID_COOLING_DEVICE = 95,
81 	PLDM_ENTITY_LIQUID_COOLING_SUBSYSTEM = 96,
82 
83 	/* Storage Device Entities */
84 	PLDM_ENTITY_OTHER_STORAGE_DEVICE = 105,
85 	PLDM_ENTITY_FLOPPY_DRIVE = 106,
86 	PLDM_ENTITY_FIXED_DISK_HARD_DRIVE = 107,
87 	PLDM_ENTITY_CD_DRIVE = 108,
88 	PLDM_ENTITY_CD_DVD_DRIVE = 109,
89 	PLDM_ENTITY_OTHER_SILICON_STORAGE_DEVICE = 110,
90 	PLDM_ENTITY_SOLID_STATE_SRIVE = 111,
91 
92 	/* Power Entities */
93 	PLDM_ENTITY_POWER_SUPPLY = 120,
94 	PLDM_ENTITY_BATTERY = 121,
95 	PLDM_ENTITY_SUPER_CAPACITOR = 122,
96 	PLDM_ENTITY_POWER_CONVERTER = 123,
97 	PLDM_ENTITY_DC_DC_CONVERTER = 124,
98 	PLDM_ENTITY_AC_MAINS_POWER_SUPPLY = 125,
99 	PLDM_ENTITY_DC_MAINS_POWER_SUPPLY = 126,
100 
101 	/* Chip Entities */
102 	PLDM_ENTITY_PROC = 135,
103 	PLDM_ENTITY_CHIPSET_COMPONENT = 136,
104 	PLDM_ENTITY_MGMT_CONTROLLER = 137,
105 	PLDM_ENTITY_PERIPHERAL_CONTROLLER = 138,
106 	PLDM_ENTITY_SEEPROM = 139,
107 	PLDM_ENTITY_NVRAM_CHIP = 140,
108 	PLDM_ENTITY_FLASH_MEMORY_CHIP = 141,
109 	PLDM_ENTITY_MEMORY_CHIP = 142,
110 	PLDM_ENTITY_MEMORY_CONTROLLER = 143,
111 	PLDM_ENTITY_NETWORK_CONTROLLER = 144,
112 	PLDM_ENTITY_IO_CONTROLLER = 145,
113 	PLDM_ENTITY_SOUTH_BRIDGE = 146,
114 	PLDM_ENTITY_REAL_TIME_CLOCK = 147,
115 	PLDM_ENTITY_FPGA_CPLD_DEVICE = 148,
116 	/* Bus Entities */
117 	PLDM_ENTITY_OTHER_BUS = 160,
118 	PLDM_ENTITY_SYS_BUS = 161,
119 	PLDM_ENTITY_I2C_BUS = 162,
120 	PLDM_ENTITY_SMBUS_BUS = 163,
121 	PLDM_ENTITY_SPI_BUS = 164,
122 	PLDM_ENTITY_PCI_BUS = 165,
123 	PLDM_ENTITY_PCI_EXPRESS_BUS = 166,
124 	PLDM_ENTITY_PECI_BUS = 167,
125 	PLDM_ENTITY_LPC_BUS = 168,
126 	PLDM_ENTITY_USB_BUS = 169,
127 	PLDM_ENTITY_FIREWIRE_BUS = 170,
128 	PLDM_ENTITY_SCSI_BUS = 171,
129 	PLDM_ENTITY_SATA_SAS_BUS = 172,
130 	PLDM_ENTITY_PROC_FRONT_SIDE_BUS = 173,
131 	PLDM_ENTITY_INTER_PROC_BUS = 174,
132 
133 	/* Connectors/Cables */
134 	PLDM_ENTITY_CONNECTOR = 185,
135 	PLDM_ENTITY_SLOT = 186,
136 	PLDM_ENTITY_CABLE = 187,
137 	PLDM_ENTITY_INTERCONNECT = 188,
138 	PLDM_ENTITY_PLUG = 189,
139 	PLDM_ENTITY_SOCKET = 190,
140 
141 	/* Network Interface Connectors */
142 	PLDM_ENTITY_RJ45 = 200,
143 	PLDM_ENTITY_XFP = 201,
144 	PLDM_ENTITY_SFP = 202,
145 	PLDM_ENTITY_SFP10 = 203,
146 	PLDM_ENTITY_SFP16 = 205,
147 	PLDM_ENTITY_SFP28 = 206,
148 	PLDM_ENTITY_SFP_PLUS = 207,
149 	PLDM_ENTITY_SFPDD = 208,
150 	PLDM_ENTITY_CSFP = 209,
151 	PLDM_ENTITY_QSFP = 210,
152 	PLDM_ENTITY_QSFP28 = 211,
153 	PLDM_ENTITY_QSFP_PLUS = 212,
154 	PLDM_ENTITY_QSFPDD = 213,
155 	PLDM_ENTITY_OSFP = 214,
156 
157 	/* Network Ports Connection Types */
158 	PLDM_ENTITY_ETHERNET = 300,
159 	PLDM_ENTITY_INFINIBAND = 301,
160 	PLDM_ENTITY_FIBRECHANEL = 302,
161 	PLDM_ENTITY_OMINIPATH = 303,
162 
163 	/* OEM ranges */
164 	PLDM_OEM_ENTITY_TYPE_START = 24576,
165 	PLDM_OEM_ENTITY_TYPE_END = 32767,
166 };
167 
168 #ifdef __cplusplus
169 }
170 #endif
171 
172 #endif /* ENTITY_H */
173