1*70e14187SSridevi Ramesh#!/usr/bin/python
2*70e14187SSridevi Ramesh
3*70e14187SSridevi Rameshr"""
4*70e14187SSridevi RameshContains PLDM-related constants.
5*70e14187SSridevi Ramesh"""
6*70e14187SSridevi Ramesh
7*70e14187SSridevi Ramesh
8*70e14187SSridevi RameshPLDM_TYPE_BASE = '00'
9*70e14187SSridevi RameshPLDM_TYPE_PLATFORM = '02'
10*70e14187SSridevi RameshPLDM_TYPE_BIOS = '03'
11*70e14187SSridevi RameshPLDM_TYPE_OEM = '3F'
12*70e14187SSridevi Ramesh
13*70e14187SSridevi RameshPLDM_BASE_CMD = {
14*70e14187SSridevi Ramesh    'GET_TID': '2',
15*70e14187SSridevi Ramesh    'GET_PLDM_VERSION': '3',
16*70e14187SSridevi Ramesh    'GET_PLDM_TYPES': '4',
17*70e14187SSridevi Ramesh    'GET_PLDM_COMMANDS': '5'}
18*70e14187SSridevi Ramesh
19*70e14187SSridevi RameshPLDM_SUCCESS = '00'
20*70e14187SSridevi RameshPLDM_ERROR = '01'
21*70e14187SSridevi RameshPLDM_ERROR_INVALID_DATA = '02'
22*70e14187SSridevi RameshPLDM_ERROR_INVALID_LENGTH = '03'
23*70e14187SSridevi RameshPLDM_ERROR_NOT_READY = '04'
24*70e14187SSridevi RameshPLDM_ERROR_UNSUPPORTED_PLDM_CMD = '05'
25*70e14187SSridevi RameshPLDM_ERROR_INVALID_PLDM_TYPE = '20'
26*70e14187SSridevi Ramesh
27*70e14187SSridevi RameshBIOS_TABLE_UNAVAILABLE = '83',
28*70e14187SSridevi RameshINVALID_BIOS_TABLE_DATA_INTEGRITY_CHECK = '84',
29*70e14187SSridevi RameshINVALID_BIOS_TABLE_TYPE = '85'
30*70e14187SSridevi Ramesh
31*70e14187SSridevi RameshPLDM_BIOS_CMD = {
32*70e14187SSridevi Ramesh    'GET_BIOS_TABLE': '01',
33*70e14187SSridevi Ramesh    'SET_BIOS_ATTRIBUTE_CURRENT_VALUE': '07',
34*70e14187SSridevi Ramesh    'GET_BIOS_ATTRIBUTE_CURRENT_VALUE_BY_HANDLE': '08',
35*70e14187SSridevi Ramesh    'GET_DATE_TIME': '0c'}
36*70e14187SSridevi Ramesh
37*70e14187SSridevi RameshPLDM_PLATFORM_CMD = {
38*70e14187SSridevi Ramesh    'SET_STATE_EFFECTER_STATES': '39',
39*70e14187SSridevi Ramesh    'GET_PDR': '51'}
40*70e14187SSridevi Ramesh
41*70e14187SSridevi RameshPLDM_PDR_TYPES = {
42*70e14187SSridevi Ramesh    'STATE_EFFECTER_PDR': '11'}
43*70e14187SSridevi Ramesh
44*70e14187SSridevi Ramesh# PLDM OEM related variables.
45*70e14187SSridevi RameshPLDM_FILEIO_CMD = {
46*70e14187SSridevi Ramesh    'GET_FILE_TABLE': '1',
47*70e14187SSridevi Ramesh    'READ_FILE': '4',
48*70e14187SSridevi Ramesh    'WRITE_FILE': '5',
49*70e14187SSridevi Ramesh    'READ_FILE_INTO_MEMORY': '6',
50*70e14187SSridevi Ramesh    'WRITE_FILE_FROM_MEMORY': '7'}
51*70e14187SSridevi Ramesh
52*70e14187SSridevi RameshPLDM_FILEIO_COMPLETION_CODES = {
53*70e14187SSridevi Ramesh    'INVALID_FILE_HANDLE': '80',
54*70e14187SSridevi Ramesh    'DATA_OUT_OF_RANGE': '81',
55*70e14187SSridevi Ramesh    'INVALID_READ_LENGTH': '82',
56*70e14187SSridevi Ramesh    'INVALID_WRITE_LENGTH': '83',
57*70e14187SSridevi Ramesh    'FILE_TABLE_UNAVAILABLE': '84',
58*70e14187SSridevi Ramesh    'INVALID_FILE_TABLE_TYPE': '85'}
59