0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef _VEGA20_PPTABLE_H_
0024 #define _VEGA20_PPTABLE_H_
0025
0026 #pragma pack(push, 1)
0027
0028 #define ATOM_VEGA20_PP_THERMALCONTROLLER_NONE 0
0029 #define ATOM_VEGA20_PP_THERMALCONTROLLER_VEGA20 26
0030
0031 #define ATOM_VEGA20_PP_PLATFORM_CAP_POWERPLAY 0x1
0032 #define ATOM_VEGA20_PP_PLATFORM_CAP_SBIOSPOWERSOURCE 0x2
0033 #define ATOM_VEGA20_PP_PLATFORM_CAP_HARDWAREDC 0x4
0034 #define ATOM_VEGA20_PP_PLATFORM_CAP_BACO 0x8
0035 #define ATOM_VEGA20_PP_PLATFORM_CAP_BAMACO 0x10
0036 #define ATOM_VEGA20_PP_PLATFORM_CAP_ENABLESHADOWPSTATE 0x20
0037
0038 #define ATOM_VEGA20_TABLE_REVISION_VEGA20 11
0039 #define ATOM_VEGA20_ODFEATURE_MAX_COUNT 32
0040 #define ATOM_VEGA20_ODSETTING_MAX_COUNT 32
0041 #define ATOM_VEGA20_PPCLOCK_MAX_COUNT 16
0042
0043 enum ATOM_VEGA20_ODFEATURE_ID {
0044 ATOM_VEGA20_ODFEATURE_GFXCLK_LIMITS = 0,
0045 ATOM_VEGA20_ODFEATURE_GFXCLK_CURVE,
0046 ATOM_VEGA20_ODFEATURE_UCLK_MAX,
0047 ATOM_VEGA20_ODFEATURE_POWER_LIMIT,
0048 ATOM_VEGA20_ODFEATURE_FAN_ACOUSTIC_LIMIT,
0049 ATOM_VEGA20_ODFEATURE_FAN_SPEED_MIN,
0050 ATOM_VEGA20_ODFEATURE_TEMPERATURE_FAN,
0051 ATOM_VEGA20_ODFEATURE_TEMPERATURE_SYSTEM,
0052 ATOM_VEGA20_ODFEATURE_MEMORY_TIMING_TUNE,
0053 ATOM_VEGA20_ODFEATURE_FAN_ZERO_RPM_CONTROL,
0054 ATOM_VEGA20_ODFEATURE_COUNT,
0055 };
0056
0057 enum ATOM_VEGA20_ODSETTING_ID {
0058 ATOM_VEGA20_ODSETTING_GFXCLKFMAX = 0,
0059 ATOM_VEGA20_ODSETTING_GFXCLKFMIN,
0060 ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P1,
0061 ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P1,
0062 ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P2,
0063 ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P2,
0064 ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P3,
0065 ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P3,
0066 ATOM_VEGA20_ODSETTING_UCLKFMAX,
0067 ATOM_VEGA20_ODSETTING_POWERPERCENTAGE,
0068 ATOM_VEGA20_ODSETTING_FANRPMMIN,
0069 ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
0070 ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE,
0071 ATOM_VEGA20_ODSETTING_OPERATINGTEMPMAX,
0072 ATOM_VEGA20_ODSETTING_COUNT,
0073 };
0074 typedef enum ATOM_VEGA20_ODSETTING_ID ATOM_VEGA20_ODSETTING_ID;
0075
0076 typedef struct _ATOM_VEGA20_OVERDRIVE8_RECORD
0077 {
0078 UCHAR ucODTableRevision;
0079 ULONG ODFeatureCount;
0080 UCHAR ODFeatureCapabilities [ATOM_VEGA20_ODFEATURE_MAX_COUNT];
0081 ULONG ODSettingCount;
0082 ULONG ODSettingsMax [ATOM_VEGA20_ODSETTING_MAX_COUNT];
0083 ULONG ODSettingsMin [ATOM_VEGA20_ODSETTING_MAX_COUNT];
0084 } ATOM_VEGA20_OVERDRIVE8_RECORD;
0085
0086 enum ATOM_VEGA20_PPCLOCK_ID {
0087 ATOM_VEGA20_PPCLOCK_GFXCLK = 0,
0088 ATOM_VEGA20_PPCLOCK_VCLK,
0089 ATOM_VEGA20_PPCLOCK_DCLK,
0090 ATOM_VEGA20_PPCLOCK_ECLK,
0091 ATOM_VEGA20_PPCLOCK_SOCCLK,
0092 ATOM_VEGA20_PPCLOCK_UCLK,
0093 ATOM_VEGA20_PPCLOCK_FCLK,
0094 ATOM_VEGA20_PPCLOCK_DCEFCLK,
0095 ATOM_VEGA20_PPCLOCK_DISPCLK,
0096 ATOM_VEGA20_PPCLOCK_PIXCLK,
0097 ATOM_VEGA20_PPCLOCK_PHYCLK,
0098 ATOM_VEGA20_PPCLOCK_COUNT,
0099 };
0100 typedef enum ATOM_VEGA20_PPCLOCK_ID ATOM_VEGA20_PPCLOCK_ID;
0101
0102 typedef struct _ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD
0103 {
0104 UCHAR ucTableRevision;
0105 ULONG PowerSavingClockCount;
0106 ULONG PowerSavingClockMax [ATOM_VEGA20_PPCLOCK_MAX_COUNT];
0107 ULONG PowerSavingClockMin [ATOM_VEGA20_PPCLOCK_MAX_COUNT];
0108 } ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD;
0109
0110 typedef struct _ATOM_VEGA20_POWERPLAYTABLE
0111 {
0112 struct atom_common_table_header sHeader;
0113 UCHAR ucTableRevision;
0114 USHORT usTableSize;
0115 ULONG ulGoldenPPID;
0116 ULONG ulGoldenRevision;
0117 USHORT usFormatID;
0118
0119 ULONG ulPlatformCaps;
0120
0121 UCHAR ucThermalControllerType;
0122
0123 USHORT usSmallPowerLimit1;
0124 USHORT usSmallPowerLimit2;
0125 USHORT usBoostPowerLimit;
0126 USHORT usODTurboPowerLimit;
0127 USHORT usODPowerSavePowerLimit;
0128 USHORT usSoftwareShutdownTemp;
0129
0130 ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD PowerSavingClockTable;
0131
0132 ATOM_VEGA20_OVERDRIVE8_RECORD OverDrive8Table;
0133
0134 USHORT usReserve[5];
0135
0136 PPTable_t smcPPTable;
0137
0138 } ATOM_Vega20_POWERPLAYTABLE;
0139
0140 #pragma pack(pop)
0141
0142 #endif