···17111711#define PIXEL_CLOCK_V6_MISC_HDMI_BPP_MASK 0x0c17121712#define PIXEL_CLOCK_V6_MISC_HDMI_24BPP 0x0017131713#define PIXEL_CLOCK_V6_MISC_HDMI_36BPP 0x0417141714+#define PIXEL_CLOCK_V6_MISC_HDMI_36BPP_V6 0x08 //for V6, the correct defintion for 36bpp should be 2 for 36bpp(2:1)17141715#define PIXEL_CLOCK_V6_MISC_HDMI_30BPP 0x0817161716+#define PIXEL_CLOCK_V6_MISC_HDMI_30BPP_V6 0x04 //for V6, the correct defintion for 30bpp should be 1 for 36bpp(5:4)17151717#define PIXEL_CLOCK_V6_MISC_HDMI_48BPP 0x0c17161718#define PIXEL_CLOCK_V6_MISC_REF_DIV_SRC 0x1017171719#define PIXEL_CLOCK_V6_MISC_GEN_DPREFCLK 0x40···22252223 USHORT usVoltageLevel; // real voltage level22262224}SET_VOLTAGE_PARAMETERS_V2;2227222522282228-22262226+// used by both SetVoltageTable v1.3 and v1.422292227typedef struct _SET_VOLTAGE_PARAMETERS_V1_322302228{22312229 UCHAR ucVoltageType; // To tell which voltage to set up, VDDC/MVDDC/MVDDQ/VDDCI···22922290#define ATOM_GET_VOLTAGE_VID 0x0022932291#define ATOM_GET_VOTLAGE_INIT_SEQ 0x0322942292#define ATOM_GET_VOLTTAGE_PHASE_PHASE_VID 0x0422952295-// for SI, this state map to 0xff02 voltage state in Power Play table, which is power boost state22962296-#define ATOM_GET_VOLTAGE_STATE0_LEAKAGE_VID 0x1022932293+#define ATOM_GET_VOLTAGE_SVID2 0x07 //Get SVI2 Regulator Info2297229422952295+// for SI, this state map to 0xff02 voltage state in Power Play table, which is power boost state22962296+#define ATOM_GET_VOLTAGE_STATE0_LEAKAGE_VID 0x1022982297// for SI, this state map to 0xff01 voltage state in Power Play table, which is performance state22992298#define ATOM_GET_VOLTAGE_STATE1_LEAKAGE_VID 0x1123002300-// undefined power state22992299+23012300#define ATOM_GET_VOLTAGE_STATE2_LEAKAGE_VID 0x1223022301#define ATOM_GET_VOLTAGE_STATE3_LEAKAGE_VID 0x1323022302+23032303+// New Added from CI Hawaii for GetVoltageInfoTable, input parameter structure23042304+typedef struct _GET_VOLTAGE_INFO_INPUT_PARAMETER_V1_223052305+{23062306+ UCHAR ucVoltageType; // Input: To tell which voltage to set up, VDDC/MVDDC/MVDDQ/VDDCI23072307+ UCHAR ucVoltageMode; // Input: Indicate action: Get voltage info23082308+ USHORT usVoltageLevel; // Input: real voltage level in unit of mv or Voltage Phase (0, 1, 2, .. ) or Leakage Id 23092309+ ULONG ulSCLKFreq; // Input: when ucVoltageMode= ATOM_GET_VOLTAGE_EVV_VOLTAGE, DPM state SCLK frequency, Define in PPTable SCLK/Voltage dependence table23102310+}GET_VOLTAGE_INFO_INPUT_PARAMETER_V1_2;23112311+23122312+// New in GetVoltageInfo v1.2 ucVoltageMode23132313+#define ATOM_GET_VOLTAGE_EVV_VOLTAGE 0x09 23142314+23152315+// New Added from CI Hawaii for EVV feature 23162316+typedef struct _GET_EVV_VOLTAGE_INFO_OUTPUT_PARAMETER_V1_223172317+{23182318+ USHORT usVoltageLevel; // real voltage level in unit of mv23192319+ USHORT usVoltageId; // Voltage Id programmed in Voltage Regulator23202320+ ULONG ulReseved;23212321+}GET_EVV_VOLTAGE_INFO_OUTPUT_PARAMETER_V1_2;2303232223042323/****************************************************************************/ 23052324// Structures used by TVEncoderControlTable···38873864#define PP_AC_DC_SWITCH_GPIO_PINID 6038883865//from SMU7.x, if ucGPIO_ID=VDDC_REGULATOR_VRHOT_GPIO_PINID in GPIO_LUTable, VRHot feature is enable38893866#define VDDC_VRHOT_GPIO_PINID 6138673867+//if ucGPIO_ID=VDDC_PCC_GPIO_PINID in GPIO_LUTable, Peak Current Control feature is enabled38683868+#define VDDC_PCC_GPIO_PINID 623890386938913870typedef struct _ATOM_GPIO_PIN_LUT38923871{···41944169#define ATOM_OBJECT_LINK_RECORD_TYPE 18 //Once this record is present under one object, it indicats the oobject is linked to another obj described by the record41954170#define ATOM_CONNECTOR_REMOTE_CAP_RECORD_TYPE 1941964171#define ATOM_ENCODER_CAP_RECORD_TYPE 2041974197-41724172+#define ATOM_BRACKET_LAYOUT_RECORD_TYPE 214198417341994174//Must be updated when new record type is added,equal to that record definition!42004200-#define ATOM_MAX_OBJECT_RECORD_NUMBER ATOM_ENCODER_CAP_RECORD_TYPE41754175+#define ATOM_MAX_OBJECT_RECORD_NUMBER ATOM_BRACKET_LAYOUT_RECORD_TYPE4201417642024177typedef struct _ATOM_I2C_RECORD42034178{···44224397 USHORT usReserved;44234398}ATOM_CONNECTOR_REMOTE_CAP_RECORD;4424439944004400+typedef struct _ATOM_CONNECTOR_LAYOUT_INFO44014401+{44024402+ USHORT usConnectorObjectId;44034403+ UCHAR ucConnectorType;44044404+ UCHAR ucPosition;44054405+}ATOM_CONNECTOR_LAYOUT_INFO;44064406+44074407+// define ATOM_CONNECTOR_LAYOUT_INFO.ucConnectorType to describe the display connector size44084408+#define CONNECTOR_TYPE_DVI_D 144094409+#define CONNECTOR_TYPE_DVI_I 244104410+#define CONNECTOR_TYPE_VGA 344114411+#define CONNECTOR_TYPE_HDMI 444124412+#define CONNECTOR_TYPE_DISPLAY_PORT 544134413+#define CONNECTOR_TYPE_MINI_DISPLAY_PORT 644144414+44154415+typedef struct _ATOM_BRACKET_LAYOUT_RECORD44164416+{44174417+ ATOM_COMMON_RECORD_HEADER sheader;44184418+ UCHAR ucLength;44194419+ UCHAR ucWidth;44204420+ UCHAR ucConnNum;44214421+ UCHAR ucReserved;44224422+ ATOM_CONNECTOR_LAYOUT_INFO asConnInfo[1];44234423+}ATOM_BRACKET_LAYOUT_RECORD;44244424+44254425/****************************************************************************/ 44264426// ASIC voltage data table44274427/****************************************************************************/ ···45744524#define VOLTAGE_OBJ_VR_I2C_INIT_SEQ 3 //VOLTAGE REGULATOR INIT sequece through I2C -> ATOM_I2C_VOLTAGE_OBJECT_V345754525#define VOLTAGE_OBJ_PHASE_LUT 4 //Set Vregulator Phase lookup table ->ATOM_GPIO_VOLTAGE_OBJECT_V345764526#define VOLTAGE_OBJ_SVID2 7 //Indicate voltage control by SVID2 ->ATOM_SVID2_VOLTAGE_OBJECT_V345774577-#define VOLTAGE_OBJ_PWRBOOST_LEAKAGE_LUT 0x10 //Powerboost Voltage and LeakageId lookup table->ATOM_LEAKAGE_VOLTAGE_OBJECT_V345784578-#define VOLTAGE_OBJ_HIGH_STATE_LEAKAGE_LUT 0x11 //High voltage state Voltage and LeakageId lookup table->ATOM_LEAKAGE_VOLTAGE_OBJECT_V345274527+#define VOLTAGE_OBJ_EVV 8 45284528+#define VOLTAGE_OBJ_PWRBOOST_LEAKAGE_LUT 0x10 //Powerboost Voltage and LeakageId lookup table->ATOM_LEAKAGE_VOLTAGE_OBJECT_V345294529+#define VOLTAGE_OBJ_HIGH_STATE_LEAKAGE_LUT 0x11 //High voltage state Voltage and LeakageId lookup table->ATOM_LEAKAGE_VOLTAGE_OBJECT_V345794530#define VOLTAGE_OBJ_HIGH1_STATE_LEAKAGE_LUT 0x12 //High1 voltage state Voltage and LeakageId lookup table->ATOM_LEAKAGE_VOLTAGE_OBJECT_V34580453145814532typedef struct _VOLTAGE_LUT_ENTRY_V2···46024551 ULONG ulReserved;46034552 VOLTAGE_LUT_ENTRY asVolI2cLut[1]; // end with 0xff46044553}ATOM_I2C_VOLTAGE_OBJECT_V3;45544554+45554555+// ATOM_I2C_VOLTAGE_OBJECT_V3.ucVoltageControlFlag45564556+#define VOLTAGE_DATA_ONE_BYTE 045574557+#define VOLTAGE_DATA_TWO_BYTE 14605455846064559typedef struct _ATOM_GPIO_VOLTAGE_OBJECT_V346074560{···46394584// 1:0 offset trim, 46404585 USHORT usLoadLine_PSI; 46414586// GPU GPIO pin Id to SVID2 regulator VRHot pin. possible value 0~31. 0 means GPIO0, 31 means GPIO3146424642- UCHAR ucReserved[2];45874587+ UCHAR ucSVDGpioId; //0~31 indicate GPIO0~3145884588+ UCHAR ucSVCGpioId; //0~31 indicate GPIO0~3146434589 ULONG ulReserved;46444590}ATOM_SVID2_VOLTAGE_OBJECT_V3;46454591···46924636 USHORT usElbVDDCI_IdArrayOffset; // offset of USHORT virtual VDDCI voltage id ( 0xff01~0xff08 )46934637 USHORT usElbVDDCI_LevelArrayOffset; // offset of 2 dimension voltage level USHORT array46944638}ATOM_ASIC_PROFILING_INFO_V2_1;46394639+46404640+typedef struct _ATOM_ASIC_PROFILING_INFO_V3_146414641+{46424642+ ATOM_COMMON_TABLE_HEADER asHeader; 46434643+ ULONG ulEvvDerateTdp;46444644+ ULONG ulEvvDerateTdc;46454645+ ULONG ulBoardCoreTemp;46464646+ ULONG ulMaxVddc;46474647+ ULONG ulMinVddc;46484648+ ULONG ulLoadLineSlop;46494649+ ULONG ulLeakageTemp;46504650+ ULONG ulLeakageVoltage;46514651+ ULONG ulCACmEncodeRange;46524652+ ULONG ulCACmEncodeAverage;46534653+ ULONG ulCACbEncodeRange;46544654+ ULONG ulCACbEncodeAverage;46554655+ ULONG ulKt_bEncodeRange;46564656+ ULONG ulKt_bEncodeAverage;46574657+ ULONG ulKv_mEncodeRange;46584658+ ULONG ulKv_mEncodeAverage;46594659+ ULONG ulKv_bEncodeRange;46604660+ ULONG ulKv_bEncodeAverage;46614661+ ULONG ulLkgEncodeLn_MaxDivMin;46624662+ ULONG ulLkgEncodeMin;46634663+ ULONG ulEfuseLogisticAlpha;46644664+ USHORT usPowerDpm0;46654665+ USHORT usCurrentDpm0;46664666+ USHORT usPowerDpm1;46674667+ USHORT usCurrentDpm1;46684668+ USHORT usPowerDpm2;46694669+ USHORT usCurrentDpm2;46704670+ USHORT usPowerDpm3;46714671+ USHORT usCurrentDpm3;46724672+ USHORT usPowerDpm4;46734673+ USHORT usCurrentDpm4;46744674+ USHORT usPowerDpm5;46754675+ USHORT usCurrentDpm5;46764676+ USHORT usPowerDpm6;46774677+ USHORT usCurrentDpm6;46784678+ USHORT usPowerDpm7;46794679+ USHORT usCurrentDpm7;46804680+}ATOM_ASIC_PROFILING_INFO_V3_1;46814681+4695468246964683typedef struct _ATOM_POWER_SOURCE_OBJECT46974684{···59075808#define ATOM_S7_DOS_MODE_PIXEL_DEPTHb0 0x0C59085809#define ATOM_S7_DOS_MODE_PIXEL_FORMATb0 0xF059095810#define ATOM_S7_DOS_8BIT_DAC_ENb1 0x0158115811+#define ATOM_S7_ASIC_INIT_COMPLETEb1 0x0258125812+#define ATOM_S7_ASIC_INIT_COMPLETE_MASK 0x0000020059105813#define ATOM_S7_DOS_MODE_NUMBERw1 0x0FFFF5911581459125815#define ATOM_S7_DOS_8BIT_DAC_EN_SHIFT 8···63436242#define _128Mx32 0x5363446243#define _256Mx8 0x6163456244#define _256Mx16 0x6262456245+#define _512Mx8 0x716346624663476247#define SAMSUNG 0x163486248#define INFINEON 0x2···70896987 UCHAR ucMaxDispEngineNum;70906988 UCHAR ucMaxActiveDispEngineNum;70916989 UCHAR ucMaxPPLLNum;70927092- UCHAR ucCoreRefClkSource; // value of CORE_REF_CLK_SOURCE70937093- UCHAR ucReserved[3];70947094- ASIC_TRANSMITTER_INFO_V2 asTransmitterInfo[1]; // for alligment only69906990+ UCHAR ucCoreRefClkSource; // value of CORE_REF_CLK_SOURCE69916991+ UCHAR ucDispCaps;69926992+ UCHAR ucReserved[2];69936993+ ASIC_TRANSMITTER_INFO_V2 asTransmitterInfo[1]; // for alligment only70956994}ATOM_DISP_OUT_INFO_V3;7096699570976996//ucDispCaps