xref: /openbmc/libpldm/include/libpldm/entity.h (revision 654eb96619b0f5a1fc0d075148bdd43921e6cccd)
1691668feSPatrick Williams /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
29c766792SAndrew Jeffery #ifndef ENTITY_H
39c766792SAndrew Jeffery #define ENTITY_H
49c766792SAndrew Jeffery 
59c766792SAndrew Jeffery #ifdef __cplusplus
69c766792SAndrew Jeffery extern "C" {
79c766792SAndrew Jeffery #endif
89c766792SAndrew Jeffery 
99c766792SAndrew Jeffery /** @brief PLDM Entity ID Codes in DSP0249_1.1.0 specification
109c766792SAndrew Jeffery  */
119c766792SAndrew Jeffery enum pldm_entity_id_codes {
129c766792SAndrew Jeffery 	PLDM_ENTITY_UNSPECIFIED = 0,
139c766792SAndrew Jeffery 	PLDM_ENTITY_OTHER = 1,
149c766792SAndrew Jeffery 
159c766792SAndrew Jeffery 	/* Miscellaneous Entities */
169c766792SAndrew Jeffery 	PLDM_ENTITY_NETWORK = 2,
179c766792SAndrew Jeffery 	PLDM_ENTITY_GROUP = 3,
189c766792SAndrew Jeffery 	PLDM_ENTITY_REMOTE_MGMT_COMM_DEVICE = 4,
199c766792SAndrew Jeffery 	PLDM_ENTITY_EXTERNAL_ENVIRONMENT = 5,
209c766792SAndrew Jeffery 	PLDM_ENTITY_COMM_CHANNEL = 6,
219c766792SAndrew Jeffery 	PLDM_ENTITY_TERMINUS = 7,
229c766792SAndrew Jeffery 	PLDM_ENTITY_PLATFORM_EVENT_LOG = 8,
23*654eb966SManojkiran Eda 	PLDM_ENTITY_DEVICE_FILE = 9,
24*654eb966SManojkiran Eda 	PLDM_ENTITY_DEVICE_FILE_DIRECTORY = 10,
25*654eb966SManojkiran Eda 	PLDM_ENTITY_MEMORY_RANK = 11,
269c766792SAndrew Jeffery 
279c766792SAndrew Jeffery 	/* Human Interface Entities */
289c766792SAndrew Jeffery 	PLDM_ENTITY_KEYPAD = 15,
299c766792SAndrew Jeffery 	PLDM_ENTITY_SWITCH = 16,
309c766792SAndrew Jeffery 	PLDM_ENTITY_PUSHBUTTON = 17,
319c766792SAndrew Jeffery 	PLDM_ENTITY_DISPLAY = 18,
329c766792SAndrew Jeffery 	PLDM_ENTITY_INDICATOR = 19,
339c766792SAndrew Jeffery 
349c766792SAndrew Jeffery 	/* Software/Firmware Entities */
359c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_MGMT_SW = 30,
369c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_FIRMWARE = 31,
379c766792SAndrew Jeffery 	PLDM_ENTITY_OPERATING_SYS = 32,
389c766792SAndrew Jeffery 	PLDM_ENTITY_VIRTUAL_MACHINE_MANAGER = 33,
399c766792SAndrew Jeffery 	PLDM_ENTITY_OS_LOADER = 34,
409c766792SAndrew Jeffery 	PLDM_ENTITY_DEVICE_DRIVER = 35,
419c766792SAndrew Jeffery 	PLDM_ENTITY_MGMT_CONTROLLER_FW = 36,
429c766792SAndrew Jeffery 
439c766792SAndrew Jeffery 	/* Chassis/Enclosure Entities */
449c766792SAndrew Jeffery 	PLDM_ENTITY_SYSTEM_CHASSIS = 45,
459c766792SAndrew Jeffery 	PLDM_ENTITY_SUB_CHASSIS = 46,
469c766792SAndrew Jeffery 	PLDM_ENTITY_DISK_DRIVE_BAY = 47,
479c766792SAndrew Jeffery 	PLDM_ENTITY_PERIPHERAL_BAY = 48,
489c766792SAndrew Jeffery 	PLDM_ENTITY_DEVICE_BAY = 49,
499c766792SAndrew Jeffery 	PLDM_ENTITY_DOOR = 50,
509c766792SAndrew Jeffery 	PLDM_ENTITY_ACCESS_PANEL = 51,
519c766792SAndrew Jeffery 	PLDM_ENTITY_COVER = 52,
529c766792SAndrew Jeffery 
539c766792SAndrew Jeffery 	/* Board/Card/Module Entities */
549c766792SAndrew Jeffery 	PLDM_ENTITY_BOARD = 60,
559c766792SAndrew Jeffery 	PLDM_ENTITY_CARD = 61,
569c766792SAndrew Jeffery 	PLDM_ENTITY_MODULE = 62,
579c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_MGMT_MODULE = 63,
589c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_BOARD = 64,
599c766792SAndrew Jeffery 	PLDM_ENTITY_MEMORY_BOARD = 65,
609c766792SAndrew Jeffery 	PLDM_ENTITY_MEMORY_MODULE = 66,
619c766792SAndrew Jeffery 	PLDM_ENTITY_PROC_MODULE = 67,
629c766792SAndrew Jeffery 	PLDM_ENTITY_ADD_IN_CARD = 68,
639c766792SAndrew Jeffery 	PLDM_ENTITY_CHASSIS_FRONT_PANEL_BOARD = 69,
649c766792SAndrew Jeffery 	PLDM_ENTITY_BACK_PANEL_BOARD = 70,
659c766792SAndrew Jeffery 	PLDM_ENTITY_POWER_MGMT = 71,
669c766792SAndrew Jeffery 	PLDM_ENTITY_POWER_SYS_BOARD = 72,
679c766792SAndrew Jeffery 	PLDM_ENTITY_DRIVE_BACKPLANE = 73,
689c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_INTERNAL_EXPANSION_BOARD = 74,
699c766792SAndrew Jeffery 	PLDM_ENTITY_OTHER_SYS_BOARD = 75,
709c766792SAndrew Jeffery 	PLDM_ENTITY_CHASSIS_BACK_PANEL_BOARD = 76,
719c766792SAndrew Jeffery 	PLDM_ENTITY_PROCESSING_BLADE = 77,
729c766792SAndrew Jeffery 	PLDM_ENTITY_CONNECTIVITY_SWITCH = 78,
739c766792SAndrew Jeffery 	PLDM_ENTITY_PROC_MEMORY_MODULE = 79,
749c766792SAndrew Jeffery 	PLDM_ENTITY_IO_MODULE = 80,
759c766792SAndrew Jeffery 	PLDM_ENTITY_PROC_IO_MODULE = 81,
769c766792SAndrew Jeffery 
779c766792SAndrew Jeffery 	/* Cooling Entities */
789c766792SAndrew Jeffery 	PLDM_ENTITY_COOLING_DEVICE = 90,
799c766792SAndrew Jeffery 	PLDM_ENTITY_COOLING_SUBSYSTEM = 91,
809c766792SAndrew Jeffery 	PLDM_ENTITY_COOLING_UNIT = 92,
819c766792SAndrew Jeffery 	PLDM_ENTITY_FAN = 93,
829c766792SAndrew Jeffery 	PLDM_ENTITY_PELTIER_COOLING_DEVICE = 94,
839c766792SAndrew Jeffery 	PLDM_ENTITY_LIQUID_COOLING_DEVICE = 95,
849c766792SAndrew Jeffery 	PLDM_ENTITY_LIQUID_COOLING_SUBSYSTEM = 96,
859c766792SAndrew Jeffery 
869c766792SAndrew Jeffery 	/* Storage Device Entities */
879c766792SAndrew Jeffery 	PLDM_ENTITY_OTHER_STORAGE_DEVICE = 105,
889c766792SAndrew Jeffery 	PLDM_ENTITY_FLOPPY_DRIVE = 106,
899c766792SAndrew Jeffery 	PLDM_ENTITY_FIXED_DISK_HARD_DRIVE = 107,
909c766792SAndrew Jeffery 	PLDM_ENTITY_CD_DRIVE = 108,
919c766792SAndrew Jeffery 	PLDM_ENTITY_CD_DVD_DRIVE = 109,
929c766792SAndrew Jeffery 	PLDM_ENTITY_OTHER_SILICON_STORAGE_DEVICE = 110,
939c766792SAndrew Jeffery 	PLDM_ENTITY_SOLID_STATE_SRIVE = 111,
949c766792SAndrew Jeffery 
959c766792SAndrew Jeffery 	/* Power Entities */
969c766792SAndrew Jeffery 	PLDM_ENTITY_POWER_SUPPLY = 120,
979c766792SAndrew Jeffery 	PLDM_ENTITY_BATTERY = 121,
989c766792SAndrew Jeffery 	PLDM_ENTITY_SUPER_CAPACITOR = 122,
999c766792SAndrew Jeffery 	PLDM_ENTITY_POWER_CONVERTER = 123,
1009c766792SAndrew Jeffery 	PLDM_ENTITY_DC_DC_CONVERTER = 124,
1019c766792SAndrew Jeffery 	PLDM_ENTITY_AC_MAINS_POWER_SUPPLY = 125,
1029c766792SAndrew Jeffery 	PLDM_ENTITY_DC_MAINS_POWER_SUPPLY = 126,
103*654eb966SManojkiran Eda 	PLDM_ENTITY_VOLTAGE_REGULATOR = 127,
104*654eb966SManojkiran Eda 	PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR = 128,
105*654eb966SManojkiran Eda 	PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR_CHANNEL = 129,
1069c766792SAndrew Jeffery 
1079c766792SAndrew Jeffery 	/* Chip Entities */
1089c766792SAndrew Jeffery 	PLDM_ENTITY_PROC = 135,
1099c766792SAndrew Jeffery 	PLDM_ENTITY_CHIPSET_COMPONENT = 136,
1109c766792SAndrew Jeffery 	PLDM_ENTITY_MGMT_CONTROLLER = 137,
1119c766792SAndrew Jeffery 	PLDM_ENTITY_PERIPHERAL_CONTROLLER = 138,
1129c766792SAndrew Jeffery 	PLDM_ENTITY_SEEPROM = 139,
1139c766792SAndrew Jeffery 	PLDM_ENTITY_NVRAM_CHIP = 140,
1149c766792SAndrew Jeffery 	PLDM_ENTITY_FLASH_MEMORY_CHIP = 141,
1159c766792SAndrew Jeffery 	PLDM_ENTITY_MEMORY_CHIP = 142,
1169c766792SAndrew Jeffery 	PLDM_ENTITY_MEMORY_CONTROLLER = 143,
1179c766792SAndrew Jeffery 	PLDM_ENTITY_NETWORK_CONTROLLER = 144,
1189c766792SAndrew Jeffery 	PLDM_ENTITY_IO_CONTROLLER = 145,
1199c766792SAndrew Jeffery 	PLDM_ENTITY_SOUTH_BRIDGE = 146,
1209c766792SAndrew Jeffery 	PLDM_ENTITY_REAL_TIME_CLOCK = 147,
1219c766792SAndrew Jeffery 	PLDM_ENTITY_FPGA_CPLD_DEVICE = 148,
122*654eb966SManojkiran Eda 	PLDM_ENTITY_ACCELERATOR = 149,
123*654eb966SManojkiran Eda 	PLDM_ENTITY_TPM = 150,
124*654eb966SManojkiran Eda 	PLDM_ENTITY_PROCESSOR_CORE = 151,
125*654eb966SManojkiran Eda 	PLDM_ENTITY_GPU = 152,
126*654eb966SManojkiran Eda 	PLDM_ENTITY_DPU = 153,
127*654eb966SManojkiran Eda 
1289c766792SAndrew Jeffery 	/* Bus Entities */
1299c766792SAndrew Jeffery 	PLDM_ENTITY_OTHER_BUS = 160,
1309c766792SAndrew Jeffery 	PLDM_ENTITY_SYS_BUS = 161,
1319c766792SAndrew Jeffery 	PLDM_ENTITY_I2C_BUS = 162,
1329c766792SAndrew Jeffery 	PLDM_ENTITY_SMBUS_BUS = 163,
1339c766792SAndrew Jeffery 	PLDM_ENTITY_SPI_BUS = 164,
1349c766792SAndrew Jeffery 	PLDM_ENTITY_PCI_BUS = 165,
1359c766792SAndrew Jeffery 	PLDM_ENTITY_PCI_EXPRESS_BUS = 166,
1369c766792SAndrew Jeffery 	PLDM_ENTITY_PECI_BUS = 167,
1379c766792SAndrew Jeffery 	PLDM_ENTITY_LPC_BUS = 168,
1389c766792SAndrew Jeffery 	PLDM_ENTITY_USB_BUS = 169,
1399c766792SAndrew Jeffery 	PLDM_ENTITY_FIREWIRE_BUS = 170,
1409c766792SAndrew Jeffery 	PLDM_ENTITY_SCSI_BUS = 171,
1419c766792SAndrew Jeffery 	PLDM_ENTITY_SATA_SAS_BUS = 172,
1429c766792SAndrew Jeffery 	PLDM_ENTITY_PROC_FRONT_SIDE_BUS = 173,
1439c766792SAndrew Jeffery 	PLDM_ENTITY_INTER_PROC_BUS = 174,
144*654eb966SManojkiran Eda 	PLDM_ENTITY_INTER_ACCELERATOR_LINK = 175,
1459c766792SAndrew Jeffery 
1469c766792SAndrew Jeffery 	/* Connectors/Cables */
1479c766792SAndrew Jeffery 	PLDM_ENTITY_CONNECTOR = 185,
1489c766792SAndrew Jeffery 	PLDM_ENTITY_SLOT = 186,
1499c766792SAndrew Jeffery 	PLDM_ENTITY_CABLE = 187,
1509c766792SAndrew Jeffery 	PLDM_ENTITY_INTERCONNECT = 188,
1519c766792SAndrew Jeffery 	PLDM_ENTITY_PLUG = 189,
1529c766792SAndrew Jeffery 	PLDM_ENTITY_SOCKET = 190,
1539c766792SAndrew Jeffery 
15464764fd6SJinliang Wang 	/* Network Interface Connectors */
15564764fd6SJinliang Wang 	PLDM_ENTITY_RJ45 = 200,
15664764fd6SJinliang Wang 	PLDM_ENTITY_XFP = 201,
15764764fd6SJinliang Wang 	PLDM_ENTITY_SFP = 202,
15864764fd6SJinliang Wang 	PLDM_ENTITY_SFP10 = 203,
15964764fd6SJinliang Wang 	PLDM_ENTITY_SFP16 = 205,
16064764fd6SJinliang Wang 	PLDM_ENTITY_SFP28 = 206,
16164764fd6SJinliang Wang 	PLDM_ENTITY_SFP_PLUS = 207,
16264764fd6SJinliang Wang 	PLDM_ENTITY_SFPDD = 208,
16364764fd6SJinliang Wang 	PLDM_ENTITY_CSFP = 209,
16464764fd6SJinliang Wang 	PLDM_ENTITY_QSFP = 210,
16564764fd6SJinliang Wang 	PLDM_ENTITY_QSFP28 = 211,
16664764fd6SJinliang Wang 	PLDM_ENTITY_QSFP_PLUS = 212,
16764764fd6SJinliang Wang 	PLDM_ENTITY_QSFPDD = 213,
16864764fd6SJinliang Wang 	PLDM_ENTITY_OSFP = 214,
169*654eb966SManojkiran Eda 	PLDM_ENTITY_DSFP = 215,
17064764fd6SJinliang Wang 
17164764fd6SJinliang Wang 	/* Network Ports Connection Types */
17264764fd6SJinliang Wang 	PLDM_ENTITY_ETHERNET = 300,
17364764fd6SJinliang Wang 	PLDM_ENTITY_INFINIBAND = 301,
17464764fd6SJinliang Wang 	PLDM_ENTITY_FIBRECHANEL = 302,
17564764fd6SJinliang Wang 	PLDM_ENTITY_OMINIPATH = 303,
17664764fd6SJinliang Wang 
1779c766792SAndrew Jeffery 	/* OEM ranges */
1789c766792SAndrew Jeffery 	PLDM_OEM_ENTITY_TYPE_START = 24576,
1799c766792SAndrew Jeffery 	PLDM_OEM_ENTITY_TYPE_END = 32767,
1809c766792SAndrew Jeffery };
1819c766792SAndrew Jeffery 
1829c766792SAndrew Jeffery #ifdef __cplusplus
1839c766792SAndrew Jeffery }
1849c766792SAndrew Jeffery #endif
1859c766792SAndrew Jeffery 
1869c766792SAndrew Jeffery #endif /* ENTITY_H */
187