Go to the documentation of this file.
32 #define ATOM_VERSION_MAJOR 0x00020000
33 #define ATOM_VERSION_MINOR 0x00000002
35 #define ATOM_HEADER_VERSION (ATOM_VERSION_MAJOR | ATOM_VERSION_MINOR)
40 #ifndef ATOM_BIG_ENDIAN
41 #error Endian not specified
46 typedef unsigned long ULONG;
50 typedef unsigned char UCHAR;
54 typedef unsigned short USHORT;
60 #define ATOM_EXT_DAC 2
68 #define ATOM_CRTC_INVALID 0xFF
77 #define ATOM_EXT_PLL1 8
78 #define ATOM_EXT_PLL2 9
79 #define ATOM_EXT_CLOCK 10
80 #define ATOM_PPLL_INVALID 0xFF
82 #define ENCODER_REFCLK_SRC_P1PLL 0
83 #define ENCODER_REFCLK_SRC_P2PLL 1
84 #define ENCODER_REFCLK_SRC_DCPLL 2
85 #define ENCODER_REFCLK_SRC_EXTCLK 3
86 #define ENCODER_REFCLK_SRC_INVALID 0xFF
88 #define ATOM_SCALER1 0
89 #define ATOM_SCALER2 1
91 #define ATOM_SCALER_DISABLE 0
92 #define ATOM_SCALER_CENTER 1
93 #define ATOM_SCALER_EXPANSION 2
94 #define ATOM_SCALER_MULTI_EX 3
96 #define ATOM_DISABLE 0
98 #define ATOM_LCD_BLOFF (ATOM_DISABLE+2)
99 #define ATOM_LCD_BLON (ATOM_ENABLE+2)
100 #define ATOM_LCD_BL_BRIGHTNESS_CONTROL (ATOM_ENABLE+3)
101 #define ATOM_LCD_SELFTEST_START (ATOM_DISABLE+5)
102 #define ATOM_LCD_SELFTEST_STOP (ATOM_ENABLE+5)
103 #define ATOM_ENCODER_INIT (ATOM_DISABLE+7)
104 #define ATOM_INIT (ATOM_DISABLE+7)
105 #define ATOM_GET_STATUS (ATOM_DISABLE+8)
107 #define ATOM_BLANKING 1
108 #define ATOM_BLANKING_OFF 0
110 #define ATOM_CURSOR1 0
111 #define ATOM_CURSOR2 1
119 #define ATOM_TV_NTSC 1
120 #define ATOM_TV_NTSCJ 2
121 #define ATOM_TV_PAL 3
122 #define ATOM_TV_PALM 4
123 #define ATOM_TV_PALCN 5
124 #define ATOM_TV_PALN 6
125 #define ATOM_TV_PAL60 7
126 #define ATOM_TV_SECAM 8
127 #define ATOM_TV_CV 16
129 #define ATOM_DAC1_PS2 1
130 #define ATOM_DAC1_CV 2
131 #define ATOM_DAC1_NTSC 3
132 #define ATOM_DAC1_PAL 4
134 #define ATOM_DAC2_PS2 ATOM_DAC1_PS2
135 #define ATOM_DAC2_CV ATOM_DAC1_CV
136 #define ATOM_DAC2_NTSC ATOM_DAC1_NTSC
137 #define ATOM_DAC2_PAL ATOM_DAC1_PAL
140 #define ATOM_PM_STANDBY 1
141 #define ATOM_PM_SUSPEND 2
142 #define ATOM_PM_OFF 3
149 #define ATOM_PANEL_MISC_DUAL 0x00000001
150 #define ATOM_PANEL_MISC_888RGB 0x00000002
151 #define ATOM_PANEL_MISC_GREY_LEVEL 0x0000000C
152 #define ATOM_PANEL_MISC_FPDI 0x00000010
153 #define ATOM_PANEL_MISC_GREY_LEVEL_SHIFT 2
154 #define ATOM_PANEL_MISC_SPATIAL 0x00000020
155 #define ATOM_PANEL_MISC_TEMPORAL 0x00000040
156 #define ATOM_PANEL_MISC_API_ENABLED 0x00000080
159 #define MEMTYPE_DDR1 "DDR1"
160 #define MEMTYPE_DDR2 "DDR2"
161 #define MEMTYPE_DDR3 "DDR3"
162 #define MEMTYPE_DDR4 "DDR4"
164 #define ASIC_BUS_TYPE_PCI "PCI"
165 #define ASIC_BUS_TYPE_AGP "AGP"
166 #define ASIC_BUS_TYPE_PCIE "PCI_EXPRESS"
170 #define ATOM_FIREGL_FLAG_STRING "FGL" //Flag used to enable FireGL Support
171 #define ATOM_MAX_SIZE_OF_FIREGL_FLAG_STRING 3 //sizeof( ATOM_FIREGL_FLAG_STRING )
173 #define ATOM_FAKE_DESKTOP_STRING "DSK" //Flag used to enable mobile ASIC on Desktop
174 #define ATOM_MAX_SIZE_OF_FAKE_DESKTOP_STRING ATOM_MAX_SIZE_OF_FIREGL_FLAG_STRING
176 #define ATOM_M54T_FLAG_STRING "M54T" //Flag used to enable M54T Support
177 #define ATOM_MAX_SIZE_OF_M54T_FLAG_STRING 4 //sizeof( ATOM_M54T_FLAG_STRING )
179 #define HW_ASSISTED_I2C_STATUS_FAILURE 2
180 #define HW_ASSISTED_I2C_STATUS_SUCCESS 1
186 #define OFFSET_TO_POINTER_TO_ATOM_ROM_HEADER 0x00000048L
187 #define OFFSET_TO_ATOM_ROM_IMAGE_SIZE 0x00000002L
189 #define OFFSET_TO_ATOMBIOS_ASIC_BUS_MEM_TYPE 0x94
190 #define MAXSIZE_OF_ATOMBIOS_ASIC_BUS_MEM_TYPE 20
191 #define OFFSET_TO_GET_ATOMBIOS_STRINGS_NUMBER 0x002f
192 #define OFFSET_TO_GET_ATOMBIOS_STRINGS_START 0x006e
326 #define ReadEDIDFromHWAssistedI2C ProcessI2cChannelTransaction
327 #define DPTranslatorControl DIG2EncoderControl
328 #define UNIPHYTransmitterControl DIG1TransmitterControl
329 #define LVTMATransmitterControl DIG2TransmitterControl
330 #define SetCRTC_DPM_State GetConditionalGoldenSetting
331 #define SetUniphyInstance ASIC_StaticPwrMgtStatusChange
332 #define HPDInterruptService ReadHWAssistedI2CStatus
333 #define EnableVGA_Access GetSCLKOverMCLKRatio
334 #define EnableYUV GetDispObjectInfo
335 #define DynamicClockGating EnableDispPowerGating
336 #define SetupHWAssistedI2CStatus ComputeMemoryClockParam
338 #define TMDSAEncoderControl PatchMCSetting
339 #define LVDSEncoderControl MC_SEQ_Control
340 #define LCD1OutputControl HW_Misc_Operation
385 #define COMPUTE_MEMORY_PLL_PARAM 1
386 #define COMPUTE_ENGINE_PLL_PARAM 2
387 #define ADJUST_MC_SETTING_PARAM 3
404 #define POINTER_RETURN_FLAG 0x80
422 #define COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_PS_ALLOCATION COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS
425 #define SET_CLOCK_FREQ_MASK 0x00FFFFFF //Clock change tables only take bit [23:0] as the requested clock value
426 #define USE_NON_BUS_CLOCK_MASK 0x01000000 //Applicable to both memory and engine clock change, when set, it uses another clock as the temporary clock (engine uses memory and vice versa)
427 #define USE_MEMORY_SELF_REFRESH_MASK 0x02000000 //Only applicable to memory clock change, when set, using memory self refresh during clock transition
428 #define SKIP_INTERNAL_MEMORY_PARAMETER_CHANGE 0x04000000 //Only applicable to memory clock change, when set, the table will skip predefined internal memory parameter change
429 #define FIRST_TIME_CHANGE_CLOCK 0x08000000 //Applicable to both memory and engine clock change,when set, it means this is 1st time to change clock after ASIC bootup
430 #define SKIP_SW_PROGRAM_PLL 0x10000000 //Applicable to both memory and engine clock change, when set, it means the table will not program SPLL/MPLL
431 #define USE_SS_ENABLED_PIXEL_CLOCK USE_NON_BUS_CLOCK_MASK
433 #define b3USE_NON_BUS_CLOCK_MASK 0x01 //Applicable to both memory and engine clock change, when set, it uses another clock as the temporary clock (engine uses memory and vice versa)
434 #define b3USE_MEMORY_SELF_REFRESH 0x02 //Only applicable to memory clock change, when set, using memory self refresh during clock transition
435 #define b3SKIP_INTERNAL_MEMORY_PARAMETER_CHANGE 0x04 //Only applicable to memory clock change, when set, the table will skip predefined internal memory parameter change
436 #define b3FIRST_TIME_CHANGE_CLOCK 0x08 //Applicable to both memory and engine clock change,when set, it means this is 1st time to change clock after ASIC bootup
437 #define b3SKIP_SW_PROGRAM_PLL 0x10 //Applicable to both memory and engine clock change, when set, it means the table will not program SPLL/MPLL
470 #define ATOM_PLL_CNTL_FLAG_PLL_POST_DIV_EN 1
471 #define ATOM_PLL_CNTL_FLAG_MPLL_VCO_MODE 2
472 #define ATOM_PLL_CNTL_FLAG_FRACTION_DISABLE 4
473 #define ATOM_PLL_CNTL_FLAG_SPLL_ISPARE_9 8
506 #define ATOM_PLL_INPUT_FLAG_PLL_STROBE_MODE_EN 1 // 1-StrobeMode, 0-PerformanceMode
526 #define MPLL_INPUT_FLAG_STROBE_MODE_EN 0x01
528 #define MPLL_CNTL_FLAG_VCO_MODE_MASK 0x03
529 #define MPLL_CNTL_FLAG_BYPASS_DQ_PLL 0x04
530 #define MPLL_CNTL_FLAG_QDR_ENABLE 0x08
531 #define MPLL_CNTL_FLAG_AD_HALF_RATE 0x10
534 #define MPLL_CNTL_FLAG_BYPASS_AD_PLL 0x04
600 #define DYNAMIC_CLOCK_GATING_PS_ALLOCATION DYNAMIC_CLOCK_GATING_PARAMETERS
620 #define ENABLE_ASIC_STATIC_PWR_MGT_PS_ALLOCATION ENABLE_ASIC_STATIC_PWR_MGT_PARAMETERS
633 #define DAC_LOAD_MISC_YPrPb 0x01
653 #define DAC_ENCODER_CONTROL_PS_ALLOCATION DAC_ENCODER_CONTROL_PARAMETERS
682 #define DIG_ENCODER_CONTROL_PS_ALLOCATION DIG_ENCODER_CONTROL_PARAMETERS
683 #define EXTERNAL_ENCODER_CONTROL_PARAMETER DIG_ENCODER_CONTROL_PARAMETERS
686 #define ATOM_ENCODER_CONFIG_DPLINKRATE_MASK 0x01
687 #define ATOM_ENCODER_CONFIG_DPLINKRATE_1_62GHZ 0x00
688 #define ATOM_ENCODER_CONFIG_DPLINKRATE_2_70GHZ 0x01
689 #define ATOM_ENCODER_CONFIG_DPLINKRATE_5_40GHZ 0x02
690 #define ATOM_ENCODER_CONFIG_LINK_SEL_MASK 0x04
691 #define ATOM_ENCODER_CONFIG_LINKA 0x00
692 #define ATOM_ENCODER_CONFIG_LINKB 0x04
693 #define ATOM_ENCODER_CONFIG_LINKA_B ATOM_TRANSMITTER_CONFIG_LINKA
694 #define ATOM_ENCODER_CONFIG_LINKB_A ATOM_ENCODER_CONFIG_LINKB
695 #define ATOM_ENCODER_CONFIG_TRANSMITTER_SEL_MASK 0x08
696 #define ATOM_ENCODER_CONFIG_UNIPHY 0x00
697 #define ATOM_ENCODER_CONFIG_LVTMA 0x08
698 #define ATOM_ENCODER_CONFIG_TRANSMITTER1 0x00
699 #define ATOM_ENCODER_CONFIG_TRANSMITTER2 0x08
700 #define ATOM_ENCODER_CONFIG_DIGB 0x80 // VBIOS Internal use, outside SW should set this bit=0
706 #define ATOM_ENCODER_MODE_DP 0
707 #define ATOM_ENCODER_MODE_LVDS 1
708 #define ATOM_ENCODER_MODE_DVI 2
709 #define ATOM_ENCODER_MODE_HDMI 3
710 #define ATOM_ENCODER_MODE_SDVO 4
711 #define ATOM_ENCODER_MODE_DP_AUDIO 5
712 #define ATOM_ENCODER_MODE_TV 13
713 #define ATOM_ENCODER_MODE_CV 14
714 #define ATOM_ENCODER_MODE_CRT 15
715 #define ATOM_ENCODER_MODE_DVO 16
716 #define ATOM_ENCODER_MODE_DP_SST ATOM_ENCODER_MODE_DP // For DP1.2
717 #define ATOM_ENCODER_MODE_DP_MST 5 // For DP1.2
754 #define ATOM_ENCODER_CONFIG_V2_DPLINKRATE_MASK 0x01
755 #define ATOM_ENCODER_CONFIG_V2_DPLINKRATE_1_62GHZ 0x00
756 #define ATOM_ENCODER_CONFIG_V2_DPLINKRATE_2_70GHZ 0x01
757 #define ATOM_ENCODER_CONFIG_V2_LINK_SEL_MASK 0x04
758 #define ATOM_ENCODER_CONFIG_V2_LINKA 0x00
759 #define ATOM_ENCODER_CONFIG_V2_LINKB 0x04
760 #define ATOM_ENCODER_CONFIG_V2_TRANSMITTER_SEL_MASK 0x18
761 #define ATOM_ENCODER_CONFIG_V2_TRANSMITTER1 0x00
762 #define ATOM_ENCODER_CONFIG_V2_TRANSMITTER2 0x08
763 #define ATOM_ENCODER_CONFIG_V2_TRANSMITTER3 0x10
768 #define ATOM_ENCODER_CMD_DP_LINK_TRAINING_START 0x08
769 #define ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN1 0x09
770 #define ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN2 0x0a
771 #define ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN3 0x13
772 #define ATOM_ENCODER_CMD_DP_LINK_TRAINING_COMPLETE 0x0b
773 #define ATOM_ENCODER_CMD_DP_VIDEO_OFF 0x0c
774 #define ATOM_ENCODER_CMD_DP_VIDEO_ON 0x0d
775 #define ATOM_ENCODER_CMD_QUERY_DP_LINK_TRAINING_STATUS 0x0e
776 #define ATOM_ENCODER_CMD_SETUP 0x0f
777 #define ATOM_ENCODER_CMD_SETUP_PANEL_MODE 0x10
780 #define ATOM_ENCODER_STATUS_LINK_TRAINING_COMPLETE 0x10
781 #define ATOM_ENCODER_STATUS_LINK_TRAINING_INCOMPLETE 0x00
801 #define ATOM_ENCODER_CONFIG_V3_DPLINKRATE_MASK 0x03
802 #define ATOM_ENCODER_CONFIG_V3_DPLINKRATE_1_62GHZ 0x00
803 #define ATOM_ENCODER_CONFIG_V3_DPLINKRATE_2_70GHZ 0x01
804 #define ATOM_ENCODER_CONFIG_V3_ENCODER_SEL 0x70
805 #define ATOM_ENCODER_CONFIG_V3_DIG0_ENCODER 0x00
806 #define ATOM_ENCODER_CONFIG_V3_DIG1_ENCODER 0x10
807 #define ATOM_ENCODER_CONFIG_V3_DIG2_ENCODER 0x20
808 #define ATOM_ENCODER_CONFIG_V3_DIG3_ENCODER 0x30
809 #define ATOM_ENCODER_CONFIG_V3_DIG4_ENCODER 0x40
810 #define ATOM_ENCODER_CONFIG_V3_DIG5_ENCODER 0x50
854 #define ATOM_ENCODER_CONFIG_V4_DPLINKRATE_MASK 0x03
855 #define ATOM_ENCODER_CONFIG_V4_DPLINKRATE_1_62GHZ 0x00
856 #define ATOM_ENCODER_CONFIG_V4_DPLINKRATE_2_70GHZ 0x01
857 #define ATOM_ENCODER_CONFIG_V4_DPLINKRATE_5_40GHZ 0x02
858 #define ATOM_ENCODER_CONFIG_V4_DPLINKRATE_3_24GHZ 0x03
859 #define ATOM_ENCODER_CONFIG_V4_ENCODER_SEL 0x70
860 #define ATOM_ENCODER_CONFIG_V4_DIG0_ENCODER 0x00
861 #define ATOM_ENCODER_CONFIG_V4_DIG1_ENCODER 0x10
862 #define ATOM_ENCODER_CONFIG_V4_DIG2_ENCODER 0x20
863 #define ATOM_ENCODER_CONFIG_V4_DIG3_ENCODER 0x30
864 #define ATOM_ENCODER_CONFIG_V4_DIG4_ENCODER 0x40
865 #define ATOM_ENCODER_CONFIG_V4_DIG5_ENCODER 0x50
866 #define ATOM_ENCODER_CONFIG_V4_DIG6_ENCODER 0x60
895 #define PANEL_BPC_UNDEFINE 0x00
896 #define PANEL_6BIT_PER_COLOR 0x01
897 #define PANEL_8BIT_PER_COLOR 0x02
898 #define PANEL_10BIT_PER_COLOR 0x03
899 #define PANEL_12BIT_PER_COLOR 0x04
900 #define PANEL_16BIT_PER_COLOR 0x05
903 #define DP_PANEL_MODE_EXTERNAL_DP_MODE 0x00
904 #define DP_PANEL_MODE_INTERNAL_DP2_MODE 0x01
905 #define DP_PANEL_MODE_INTERNAL_DP1_MODE 0x11
945 #define DIG_TRANSMITTER_CONTROL_PS_ALLOCATION DIG_TRANSMITTER_CONTROL_PARAMETERS
948 #define ATOM_TRAMITTER_INITINFO_CONNECTOR_MASK 0x00ff
951 #define ATOM_TRANSMITTER_CONFIG_8LANE_LINK 0x01
952 #define ATOM_TRANSMITTER_CONFIG_COHERENT 0x02
953 #define ATOM_TRANSMITTER_CONFIG_LINK_SEL_MASK 0x04
954 #define ATOM_TRANSMITTER_CONFIG_LINKA 0x00
955 #define ATOM_TRANSMITTER_CONFIG_LINKB 0x04
956 #define ATOM_TRANSMITTER_CONFIG_LINKA_B 0x00
957 #define ATOM_TRANSMITTER_CONFIG_LINKB_A 0x04
959 #define ATOM_TRANSMITTER_CONFIG_ENCODER_SEL_MASK 0x08 // only used when ATOM_TRANSMITTER_ACTION_ENABLE
960 #define ATOM_TRANSMITTER_CONFIG_DIG1_ENCODER 0x00 // only used when ATOM_TRANSMITTER_ACTION_ENABLE
961 #define ATOM_TRANSMITTER_CONFIG_DIG2_ENCODER 0x08 // only used when ATOM_TRANSMITTER_ACTION_ENABLE
963 #define ATOM_TRANSMITTER_CONFIG_CLKSRC_MASK 0x30
964 #define ATOM_TRANSMITTER_CONFIG_CLKSRC_PPLL 0x00
965 #define ATOM_TRANSMITTER_CONFIG_CLKSRC_PCIE 0x20
966 #define ATOM_TRANSMITTER_CONFIG_CLKSRC_XTALIN 0x30
967 #define ATOM_TRANSMITTER_CONFIG_LANE_SEL_MASK 0xc0
968 #define ATOM_TRANSMITTER_CONFIG_LANE_0_3 0x00
969 #define ATOM_TRANSMITTER_CONFIG_LANE_0_7 0x00
970 #define ATOM_TRANSMITTER_CONFIG_LANE_4_7 0x40
971 #define ATOM_TRANSMITTER_CONFIG_LANE_8_11 0x80
972 #define ATOM_TRANSMITTER_CONFIG_LANE_8_15 0x80
973 #define ATOM_TRANSMITTER_CONFIG_LANE_12_15 0xc0
976 #define ATOM_TRANSMITTER_ACTION_DISABLE 0
977 #define ATOM_TRANSMITTER_ACTION_ENABLE 1
978 #define ATOM_TRANSMITTER_ACTION_LCD_BLOFF 2
979 #define ATOM_TRANSMITTER_ACTION_LCD_BLON 3
980 #define ATOM_TRANSMITTER_ACTION_BL_BRIGHTNESS_CONTROL 4
981 #define ATOM_TRANSMITTER_ACTION_LCD_SELFTEST_START 5
982 #define ATOM_TRANSMITTER_ACTION_LCD_SELFTEST_STOP 6
983 #define ATOM_TRANSMITTER_ACTION_INIT 7
984 #define ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT 8
985 #define ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT 9
986 #define ATOM_TRANSMITTER_ACTION_SETUP 10
987 #define ATOM_TRANSMITTER_ACTION_SETUP_VSEMPH 11
988 #define ATOM_TRANSMITTER_ACTION_POWER_ON 12
989 #define ATOM_TRANSMITTER_ACTION_POWER_OFF 13
1022 #define ATOM_TRANSMITTER_CONFIG_V2_DUAL_LINK_CONNECTOR 0x01
1025 #define ATOM_TRANSMITTER_CONFIG_V2_COHERENT 0x02
1028 #define ATOM_TRANSMITTER_CONFIG_V2_LINK_SEL_MASK 0x04
1029 #define ATOM_TRANSMITTER_CONFIG_V2_LINKA 0x00
1030 #define ATOM_TRANSMITTER_CONFIG_V2_LINKB 0x04
1033 #define ATOM_TRANSMITTER_CONFIG_V2_ENCODER_SEL_MASK 0x08
1034 #define ATOM_TRANSMITTER_CONFIG_V2_DIG1_ENCODER 0x00 // only used when ucAction == ATOM_TRANSMITTER_ACTION_ENABLE or ATOM_TRANSMITTER_ACTION_SETUP
1035 #define ATOM_TRANSMITTER_CONFIG_V2_DIG2_ENCODER 0x08 // only used when ucAction == ATOM_TRANSMITTER_ACTION_ENABLE or ATOM_TRANSMITTER_ACTION_SETUP
1038 #define ATOM_TRASMITTER_CONFIG_V2_DP_CONNECTOR 0x10
1041 #define ATOM_TRANSMITTER_CONFIG_V2_TRANSMITTER_SEL_MASK 0xC0
1042 #define ATOM_TRANSMITTER_CONFIG_V2_TRANSMITTER1 0x00 //AB
1043 #define ATOM_TRANSMITTER_CONFIG_V2_TRANSMITTER2 0x40 //CD
1044 #define ATOM_TRANSMITTER_CONFIG_V2_TRANSMITTER3 0x80 //EF
1101 #define ATOM_TRANSMITTER_CONFIG_V3_DUAL_LINK_CONNECTOR 0x01
1104 #define ATOM_TRANSMITTER_CONFIG_V3_COHERENT 0x02
1107 #define ATOM_TRANSMITTER_CONFIG_V3_LINK_SEL_MASK 0x04
1108 #define ATOM_TRANSMITTER_CONFIG_V3_LINKA 0x00
1109 #define ATOM_TRANSMITTER_CONFIG_V3_LINKB 0x04
1112 #define ATOM_TRANSMITTER_CONFIG_V3_ENCODER_SEL_MASK 0x08
1113 #define ATOM_TRANSMITTER_CONFIG_V3_DIG1_ENCODER 0x00
1114 #define ATOM_TRANSMITTER_CONFIG_V3_DIG2_ENCODER 0x08
1117 #define ATOM_TRASMITTER_CONFIG_V3_REFCLK_SEL_MASK 0x30
1118 #define ATOM_TRASMITTER_CONFIG_V3_P1PLL 0x00
1119 #define ATOM_TRASMITTER_CONFIG_V3_P2PLL 0x10
1120 #define ATOM_TRASMITTER_CONFIG_V3_REFCLK_SRC_EXT 0x20
1123 #define ATOM_TRANSMITTER_CONFIG_V3_TRANSMITTER_SEL_MASK 0xC0
1124 #define ATOM_TRANSMITTER_CONFIG_V3_TRANSMITTER1 0x00 //AB
1125 #define ATOM_TRANSMITTER_CONFIG_V3_TRANSMITTER2 0x40 //CD
1126 #define ATOM_TRANSMITTER_CONFIG_V3_TRANSMITTER3 0x80 //EF
1200 #define ATOM_TRANSMITTER_CONFIG_V4_DUAL_LINK_CONNECTOR 0x01
1202 #define ATOM_TRANSMITTER_CONFIG_V4_COHERENT 0x02
1204 #define ATOM_TRANSMITTER_CONFIG_V4_LINK_SEL_MASK 0x04
1205 #define ATOM_TRANSMITTER_CONFIG_V4_LINKA 0x00
1206 #define ATOM_TRANSMITTER_CONFIG_V4_LINKB 0x04
1208 #define ATOM_TRANSMITTER_CONFIG_V4_ENCODER_SEL_MASK 0x08
1209 #define ATOM_TRANSMITTER_CONFIG_V4_DIG1_ENCODER 0x00
1210 #define ATOM_TRANSMITTER_CONFIG_V4_DIG2_ENCODER 0x08
1212 #define ATOM_TRANSMITTER_CONFIG_V4_REFCLK_SEL_MASK 0x30
1213 #define ATOM_TRANSMITTER_CONFIG_V4_P1PLL 0x00
1214 #define ATOM_TRANSMITTER_CONFIG_V4_P2PLL 0x10
1215 #define ATOM_TRANSMITTER_CONFIG_V4_DCPLL 0x20 // New in _V4
1216 #define ATOM_TRANSMITTER_CONFIG_V4_REFCLK_SRC_EXT 0x30 // Changed comparing to V3
1218 #define ATOM_TRANSMITTER_CONFIG_V4_TRANSMITTER_SEL_MASK 0xC0
1219 #define ATOM_TRANSMITTER_CONFIG_V4_TRANSMITTER1 0x00 //AB
1220 #define ATOM_TRANSMITTER_CONFIG_V4_TRANSMITTER2 0x40 //CD
1221 #define ATOM_TRANSMITTER_CONFIG_V4_TRANSMITTER3 0x80 //EF
1260 #define ATOM_PHY_ID_UNIPHYA 0
1261 #define ATOM_PHY_ID_UNIPHYB 1
1262 #define ATOM_PHY_ID_UNIPHYC 2
1263 #define ATOM_PHY_ID_UNIPHYD 3
1264 #define ATOM_PHY_ID_UNIPHYE 4
1265 #define ATOM_PHY_ID_UNIPHYF 5
1266 #define ATOM_PHY_ID_UNIPHYG 6
1269 #define ATOM_TRANMSITTER_V5__DIGA_SEL 0x01
1270 #define ATOM_TRANMSITTER_V5__DIGB_SEL 0x02
1271 #define ATOM_TRANMSITTER_V5__DIGC_SEL 0x04
1272 #define ATOM_TRANMSITTER_V5__DIGD_SEL 0x08
1273 #define ATOM_TRANMSITTER_V5__DIGE_SEL 0x10
1274 #define ATOM_TRANMSITTER_V5__DIGF_SEL 0x20
1275 #define ATOM_TRANMSITTER_V5__DIGG_SEL 0x40
1278 #define ATOM_TRANSMITTER_DIGMODE_V5_DP 0
1279 #define ATOM_TRANSMITTER_DIGMODE_V5_LVDS 1
1280 #define ATOM_TRANSMITTER_DIGMODE_V5_DVI 2
1281 #define ATOM_TRANSMITTER_DIGMODE_V5_HDMI 3
1282 #define ATOM_TRANSMITTER_DIGMODE_V5_SDVO 4
1283 #define ATOM_TRANSMITTER_DIGMODE_V5_DP_MST 5
1286 #define DP_LANE_SET__0DB_0_4V 0x00
1287 #define DP_LANE_SET__0DB_0_6V 0x01
1288 #define DP_LANE_SET__0DB_0_8V 0x02
1289 #define DP_LANE_SET__0DB_1_2V 0x03
1290 #define DP_LANE_SET__3_5DB_0_4V 0x08
1291 #define DP_LANE_SET__3_5DB_0_6V 0x09
1292 #define DP_LANE_SET__3_5DB_0_8V 0x0a
1293 #define DP_LANE_SET__6DB_0_4V 0x10
1294 #define DP_LANE_SET__6DB_0_6V 0x11
1295 #define DP_LANE_SET__9_5DB_0_4V 0x18
1299 #define ATOM_TRANSMITTER_CONFIG_V5_COHERENT 0x02
1302 #define ATOM_TRANSMITTER_CONFIG_V5_REFCLK_SEL_MASK 0x0c
1303 #define ATOM_TRANSMITTER_CONFIG_V5_REFCLK_SEL_SHIFT 0x02
1305 #define ATOM_TRANSMITTER_CONFIG_V5_P1PLL 0x00
1306 #define ATOM_TRANSMITTER_CONFIG_V5_P2PLL 0x04
1307 #define ATOM_TRANSMITTER_CONFIG_V5_P0PLL 0x08
1308 #define ATOM_TRANSMITTER_CONFIG_V5_REFCLK_SRC_EXT 0x0c
1310 #define ATOM_TRANSMITTER_CONFIG_V5_HPD_SEL_MASK 0x70
1311 #define ATOM_TRANSMITTER_CONFIG_V5_HPD_SEL_SHIFT 0x04
1313 #define ATOM_TRANSMITTER_CONFIG_V5_NO_HPD_SEL 0x00
1314 #define ATOM_TRANSMITTER_CONFIG_V5_HPD1_SEL 0x10
1315 #define ATOM_TRANSMITTER_CONFIG_V5_HPD2_SEL 0x20
1316 #define ATOM_TRANSMITTER_CONFIG_V5_HPD3_SEL 0x30
1317 #define ATOM_TRANSMITTER_CONFIG_V5_HPD4_SEL 0x40
1318 #define ATOM_TRANSMITTER_CONFIG_V5_HPD5_SEL 0x50
1319 #define ATOM_TRANSMITTER_CONFIG_V5_HPD6_SEL 0x60
1321 #define DIG_TRANSMITTER_CONTROL_PS_ALLOCATION_V1_5 DIG_TRANSMITTER_CONTROL_PARAMETERS_V1_5
1346 #define EXTERNAL_ENCODER_ACTION_V3_DISABLE_OUTPUT 0x00
1347 #define EXTERNAL_ENCODER_ACTION_V3_ENABLE_OUTPUT 0x01
1348 #define EXTERNAL_ENCODER_ACTION_V3_ENCODER_INIT 0x07
1349 #define EXTERNAL_ENCODER_ACTION_V3_ENCODER_SETUP 0x0f
1350 #define EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING_OFF 0x10
1351 #define EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING 0x11
1352 #define EXTERNAL_ENCODER_ACTION_V3_DACLOAD_DETECTION 0x12
1353 #define EXTERNAL_ENCODER_ACTION_V3_DDC_SETUP 0x14
1356 #define EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_MASK 0x03
1357 #define EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_1_62GHZ 0x00
1358 #define EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_2_70GHZ 0x01
1359 #define EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_5_40GHZ 0x02
1360 #define EXTERNAL_ENCODER_CONFIG_V3_ENCODER_SEL_MASK 0x70
1361 #define EXTERNAL_ENCODER_CONFIG_V3_ENCODER1 0x00
1362 #define EXTERNAL_ENCODER_CONFIG_V3_ENCODER2 0x10
1363 #define EXTERNAL_ENCODER_CONFIG_V3_ENCODER3 0x20
1388 #define DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1391 #define CRT1_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1392 #define CRT1_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1394 #define CRT2_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1395 #define CRT2_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1397 #define CV1_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1398 #define CV1_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1400 #define TV1_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1401 #define TV1_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1403 #define DFP1_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1404 #define DFP1_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1406 #define DFP2_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1407 #define DFP2_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1409 #define LCD1_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1410 #define LCD1_OUTPUT_CONTROL_PS_ALLOCATION DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION
1412 #define DVO_OUTPUT_CONTROL_PARAMETERS DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS
1413 #define DVO_OUTPUT_CONTROL_PS_ALLOCATION DIG_TRANSMITTER_CONTROL_PS_ALLOCATION
1414 #define DVO_OUTPUT_CONTROL_PARAMETERS_V3 DIG_TRANSMITTER_CONTROL_PARAMETERS
1427 #define BLANK_CRTC_PS_ALLOCATION BLANK_CRTC_PARAMETERS
1440 #define ENABLE_CRTC_PS_ALLOCATION ENABLE_CRTC_PARAMETERS
1454 #define SET_CRTC_OVERSCAN_PS_ALLOCATION SET_CRTC_OVERSCAN_PARAMETERS
1466 #define SET_CRTC_REPLICATION_PS_ALLOCATION SET_CRTC_REPLICATION_PARAMETERS
1477 #define SELECT_CRTC_SOURCE_PS_ALLOCATION SELECT_CRTC_SOURCE_PARAMETERS
1528 #define MISC_FORCE_REPROG_PIXEL_CLOCK 0x1
1529 #define MISC_DEVICE_INDEX_MASK 0xF0
1530 #define MISC_DEVICE_INDEX_SHIFT 4
1567 #define PIXEL_CLOCK_MISC_FORCE_PROG_PPLL 0x01
1568 #define PIXEL_CLOCK_MISC_VGA_MODE 0x02
1569 #define PIXEL_CLOCK_MISC_CRTC_SEL_MASK 0x04
1570 #define PIXEL_CLOCK_MISC_CRTC_SEL_CRTC1 0x00
1571 #define PIXEL_CLOCK_MISC_CRTC_SEL_CRTC2 0x04
1572 #define PIXEL_CLOCK_MISC_USE_ENGINE_FOR_DISPCLK 0x08
1573 #define PIXEL_CLOCK_MISC_REF_DIV_SRC 0x10
1575 #define PIXEL_CLOCK_V4_MISC_SS_ENABLE 0x10
1576 #define PIXEL_CLOCK_V4_MISC_COHERENT_MODE 0x20
1599 #define PIXEL_CLOCK_PARAMETERS_LAST PIXEL_CLOCK_PARAMETERS_V2
1600 #define GET_PIXEL_CLOCK_PS_ALLOCATION PIXEL_CLOCK_PARAMETERS_LAST
1631 #define PIXEL_CLOCK_V5_MISC_FORCE_PROG_PPLL 0x01
1632 #define PIXEL_CLOCK_V5_MISC_VGA_MODE 0x02
1633 #define PIXEL_CLOCK_V5_MISC_HDMI_BPP_MASK 0x0c
1634 #define PIXEL_CLOCK_V5_MISC_HDMI_24BPP 0x00
1635 #define PIXEL_CLOCK_V5_MISC_HDMI_30BPP 0x04
1636 #define PIXEL_CLOCK_V5_MISC_HDMI_32BPP 0x08
1637 #define PIXEL_CLOCK_V5_MISC_REF_DIV_SRC 0x10
1679 #define PIXEL_CLOCK_V6_MISC_FORCE_PROG_PPLL 0x01
1680 #define PIXEL_CLOCK_V6_MISC_VGA_MODE 0x02
1681 #define PIXEL_CLOCK_V6_MISC_HDMI_BPP_MASK 0x0c
1682 #define PIXEL_CLOCK_V6_MISC_HDMI_24BPP 0x00
1683 #define PIXEL_CLOCK_V6_MISC_HDMI_36BPP 0x04
1684 #define PIXEL_CLOCK_V6_MISC_HDMI_30BPP 0x08
1685 #define PIXEL_CLOCK_V6_MISC_HDMI_48BPP 0x0c
1686 #define PIXEL_CLOCK_V6_MISC_REF_DIV_SRC 0x10
1721 #define ADJUST_DISPLAY_CONFIG_SS_ENABLE 0x10
1722 #define ADJUST_DISPLAY_PLL_PS_ALLOCATION ADJUST_DISPLAY_PLL_PARAMETERS
1735 #define DISPPLL_CONFIG_DVO_RATE_SEL 0x0001 // need only when ucTransmitterID = DVO
1736 #define DISPPLL_CONFIG_DVO_DDR_SPEED 0x0000 // need only when ucTransmitterID = DVO
1737 #define DISPPLL_CONFIG_DVO_SDR_SPEED 0x0001 // need only when ucTransmitterID = DVO
1738 #define DISPPLL_CONFIG_DVO_OUTPUT_SEL 0x000c // need only when ucTransmitterID = DVO
1739 #define DISPPLL_CONFIG_DVO_LOW12BIT 0x0000 // need only when ucTransmitterID = DVO
1740 #define DISPPLL_CONFIG_DVO_UPPER12BIT 0x0004 // need only when ucTransmitterID = DVO
1741 #define DISPPLL_CONFIG_DVO_24BIT 0x0008 // need only when ucTransmitterID = DVO
1742 #define DISPPLL_CONFIG_SS_ENABLE 0x0010 // Only used when ucEncoderMode = DP or LVDS
1743 #define DISPPLL_CONFIG_COHERENT_MODE 0x0020 // Only used when ucEncoderMode = TMDS or HDMI
1744 #define DISPPLL_CONFIG_DUAL_LINK 0x0040 // Only used when ucEncoderMode = TMDS or LVDS
1773 #define ENABLE_YUV_PS_ALLOCATION ENABLE_YUV_PARAMETERS
1782 #define GET_MEMORY_CLOCK_PS_ALLOCATION GET_MEMORY_CLOCK_PARAMETERS
1791 #define GET_ENGINE_CLOCK_PS_ALLOCATION GET_ENGINE_CLOCK_PARAMETERS
1807 #define READ_EDID_FROM_HW_I2C_DATA_PS_ALLOCATION READ_EDID_FROM_HW_I2C_DATA_PARAMETERS
1810 #define ATOM_WRITE_I2C_FORMAT_PSOFFSET_PSDATABYTE 0
1811 #define ATOM_WRITE_I2C_FORMAT_PSOFFSET_PSTWODATABYTES 1
1812 #define ATOM_WRITE_I2C_FORMAT_PSCOUNTER_PSOFFSET_IDDATABLOCK 2
1813 #define ATOM_WRITE_I2C_FORMAT_PSCOUNTER_IDOFFSET_PLUS_IDDATABLOCK 3
1814 #define ATOM_WRITE_I2C_FORMAT_IDCOUNTER_IDOFFSET_IDDATABLOCK 4
1832 #define WRITE_ONE_BYTE_HW_I2C_DATA_PS_ALLOCATION WRITE_ONE_BYTE_HW_I2C_DATA_PARAMETERS
1843 #define SPEED_FAN_CONTROL_PS_ALLOCATION WRITE_ONE_BYTE_HW_I2C_DATA_PARAMETERS
1914 #define ATOM_PPLL_SS_TYPE_V2_DOWN_SPREAD 0x00
1915 #define ATOM_PPLL_SS_TYPE_V2_CENTRE_SPREAD 0x01
1916 #define ATOM_PPLL_SS_TYPE_V2_EXT_SPREAD 0x02
1917 #define ATOM_PPLL_SS_TYPE_V2_PPLL_SEL_MASK 0x0c
1918 #define ATOM_PPLL_SS_TYPE_V2_P1PLL 0x00
1919 #define ATOM_PPLL_SS_TYPE_V2_P2PLL 0x04
1920 #define ATOM_PPLL_SS_TYPE_V2_DCPLL 0x08
1921 #define ATOM_PPLL_SS_AMOUNT_V2_FBDIV_MASK 0x00FF
1922 #define ATOM_PPLL_SS_AMOUNT_V2_FBDIV_SHIFT 0
1923 #define ATOM_PPLL_SS_AMOUNT_V2_NFRAC_MASK 0x0F00
1924 #define ATOM_PPLL_SS_AMOUNT_V2_NFRAC_SHIFT 8
1939 #define ATOM_PPLL_SS_TYPE_V3_DOWN_SPREAD 0x00
1940 #define ATOM_PPLL_SS_TYPE_V3_CENTRE_SPREAD 0x01
1941 #define ATOM_PPLL_SS_TYPE_V3_EXT_SPREAD 0x02
1942 #define ATOM_PPLL_SS_TYPE_V3_PPLL_SEL_MASK 0x0c
1943 #define ATOM_PPLL_SS_TYPE_V3_P1PLL 0x00
1944 #define ATOM_PPLL_SS_TYPE_V3_P2PLL 0x04
1945 #define ATOM_PPLL_SS_TYPE_V3_DCPLL 0x08
1946 #define ATOM_PPLL_SS_TYPE_V3_P0PLL ATOM_PPLL_SS_TYPE_V3_DCPLL
1947 #define ATOM_PPLL_SS_AMOUNT_V3_FBDIV_MASK 0x00FF
1948 #define ATOM_PPLL_SS_AMOUNT_V3_FBDIV_SHIFT 0
1949 #define ATOM_PPLL_SS_AMOUNT_V3_NFRAC_MASK 0x0F00
1950 #define ATOM_PPLL_SS_AMOUNT_V3_NFRAC_SHIFT 8
1952 #define ENABLE_SPREAD_SPECTRUM_ON_PPLL_PS_ALLOCATION ENABLE_SPREAD_SPECTRUM_ON_PPLL
1962 #define ENABLE_VGA_RENDER_PS_ALLOCATION SET_PIXEL_CLOCK_PS_ALLOCATION
1971 #define MEMORY_TRAINING_PS_ALLOCATION MEMORY_TRAINING_PARAMETERS
1993 #define LVDS_ENCODER_CONTROL_PS_ALLOCATION LVDS_ENCODER_CONTROL_PARAMETERS
1995 #define TMDS1_ENCODER_CONTROL_PARAMETERS LVDS_ENCODER_CONTROL_PARAMETERS
1996 #define TMDS1_ENCODER_CONTROL_PS_ALLOCATION TMDS1_ENCODER_CONTROL_PARAMETERS
1998 #define TMDS2_ENCODER_CONTROL_PARAMETERS TMDS1_ENCODER_CONTROL_PARAMETERS
1999 #define TMDS2_ENCODER_CONTROL_PS_ALLOCATION TMDS2_ENCODER_CONTROL_PARAMETERS
2033 #define LVDS_ENCODER_CONTROL_PS_ALLOCATION_V2 LVDS_ENCODER_CONTROL_PARAMETERS_V2
2035 #define TMDS1_ENCODER_CONTROL_PARAMETERS_V2 LVDS_ENCODER_CONTROL_PARAMETERS_V2
2036 #define TMDS1_ENCODER_CONTROL_PS_ALLOCATION_V2 TMDS1_ENCODER_CONTROL_PARAMETERS_V2
2038 #define TMDS2_ENCODER_CONTROL_PARAMETERS_V2 TMDS1_ENCODER_CONTROL_PARAMETERS_V2
2039 #define TMDS2_ENCODER_CONTROL_PS_ALLOCATION_V2 TMDS2_ENCODER_CONTROL_PARAMETERS_V2
2041 #define LVDS_ENCODER_CONTROL_PARAMETERS_V3 LVDS_ENCODER_CONTROL_PARAMETERS_V2
2042 #define LVDS_ENCODER_CONTROL_PS_ALLOCATION_V3 LVDS_ENCODER_CONTROL_PARAMETERS_V3
2044 #define TMDS1_ENCODER_CONTROL_PARAMETERS_V3 LVDS_ENCODER_CONTROL_PARAMETERS_V3
2045 #define TMDS1_ENCODER_CONTROL_PS_ALLOCATION_V3 TMDS1_ENCODER_CONTROL_PARAMETERS_V3
2047 #define TMDS2_ENCODER_CONTROL_PARAMETERS_V3 LVDS_ENCODER_CONTROL_PARAMETERS_V3
2048 #define TMDS2_ENCODER_CONTROL_PS_ALLOCATION_V3 TMDS2_ENCODER_CONTROL_PARAMETERS_V3
2066 #define ENABLE_EXTERNAL_TMDS_ENCODER_PARAMETERS_V2 LVDS_ENCODER_CONTROL_PARAMETERS_V2
2086 #define DVO_ENCODER_CONFIG_RATE_SEL 0x01
2087 #define DVO_ENCODER_CONFIG_DDR_SPEED 0x00
2088 #define DVO_ENCODER_CONFIG_SDR_SPEED 0x01
2089 #define DVO_ENCODER_CONFIG_OUTPUT_SEL 0x0c
2090 #define DVO_ENCODER_CONFIG_LOW12BIT 0x00
2091 #define DVO_ENCODER_CONFIG_UPPER12BIT 0x04
2092 #define DVO_ENCODER_CONFIG_24BIT 0x08
2101 #define DVO_ENCODER_CONTROL_PS_ALLOCATION_V3 DVO_ENCODER_CONTROL_PARAMETERS_V3
2110 #define LVDS_ENCODER_CONTROL_PARAMETERS_LAST LVDS_ENCODER_CONTROL_PARAMETERS_V3
2111 #define LVDS_ENCODER_CONTROL_PS_ALLOCATION_LAST LVDS_ENCODER_CONTROL_PARAMETERS_LAST
2113 #define TMDS1_ENCODER_CONTROL_PARAMETERS_LAST LVDS_ENCODER_CONTROL_PARAMETERS_V3
2114 #define TMDS1_ENCODER_CONTROL_PS_ALLOCATION_LAST TMDS1_ENCODER_CONTROL_PARAMETERS_LAST
2116 #define TMDS2_ENCODER_CONTROL_PARAMETERS_LAST LVDS_ENCODER_CONTROL_PARAMETERS_V3
2117 #define TMDS2_ENCODER_CONTROL_PS_ALLOCATION_LAST TMDS2_ENCODER_CONTROL_PARAMETERS_LAST
2119 #define DVO_ENCODER_CONTROL_PARAMETERS_LAST DVO_ENCODER_CONTROL_PARAMETERS
2120 #define DVO_ENCODER_CONTROL_PS_ALLOCATION_LAST DVO_ENCODER_CONTROL_PS_ALLOCATION
2123 #define PANEL_ENCODER_MISC_DUAL 0x01
2124 #define PANEL_ENCODER_MISC_COHERENT 0x02
2125 #define PANEL_ENCODER_MISC_TMDS_LINKB 0x04
2126 #define PANEL_ENCODER_MISC_HDMI_TYPE 0x08
2128 #define PANEL_ENCODER_ACTION_DISABLE ATOM_DISABLE
2129 #define PANEL_ENCODER_ACTION_ENABLE ATOM_ENABLE
2130 #define PANEL_ENCODER_ACTION_COHERENTSEQ (ATOM_ENABLE+1)
2132 #define PANEL_ENCODER_TRUNCATE_EN 0x01
2133 #define PANEL_ENCODER_TRUNCATE_DEPTH 0x10
2134 #define PANEL_ENCODER_SPATIAL_DITHER_EN 0x01
2135 #define PANEL_ENCODER_SPATIAL_DITHER_DEPTH 0x10
2136 #define PANEL_ENCODER_TEMPORAL_DITHER_EN 0x01
2137 #define PANEL_ENCODER_TEMPORAL_DITHER_DEPTH 0x10
2138 #define PANEL_ENCODER_TEMPORAL_LEVEL_4 0x20
2139 #define PANEL_ENCODER_25FRC_MASK 0x10
2140 #define PANEL_ENCODER_25FRC_E 0x00
2141 #define PANEL_ENCODER_25FRC_F 0x10
2142 #define PANEL_ENCODER_50FRC_MASK 0x60
2143 #define PANEL_ENCODER_50FRC_A 0x00
2144 #define PANEL_ENCODER_50FRC_B 0x20
2145 #define PANEL_ENCODER_50FRC_C 0x40
2146 #define PANEL_ENCODER_50FRC_D 0x60
2147 #define PANEL_ENCODER_75FRC_MASK 0x80
2148 #define PANEL_ENCODER_75FRC_E 0x00
2149 #define PANEL_ENCODER_75FRC_F 0x80
2154 #define SET_VOLTAGE_TYPE_ASIC_VDDC 1
2155 #define SET_VOLTAGE_TYPE_ASIC_MVDDC 2
2156 #define SET_VOLTAGE_TYPE_ASIC_MVDDQ 3
2157 #define SET_VOLTAGE_TYPE_ASIC_VDDCI 4
2158 #define SET_VOLTAGE_INIT_MODE 5
2159 #define SET_VOLTAGE_GET_MAX_VOLTAGE 6 //Gets the Max. voltage for the soldered Asic
2161 #define SET_ASIC_VOLTAGE_MODE_ALL_SOURCE 0x1
2162 #define SET_ASIC_VOLTAGE_MODE_SOURCE_A 0x2
2163 #define SET_ASIC_VOLTAGE_MODE_SOURCE_B 0x4
2165 #define SET_ASIC_VOLTAGE_MODE_SET_VOLTAGE 0x0
2166 #define SET_ASIC_VOLTAGE_MODE_GET_GPIOVAL 0x1
2167 #define SET_ASIC_VOLTAGE_MODE_GET_GPIOMASK 0x2
2193 #define VOLTAGE_TYPE_VDDC 1
2194 #define VOLTAGE_TYPE_MVDDC 2
2195 #define VOLTAGE_TYPE_MVDDQ 3
2196 #define VOLTAGE_TYPE_VDDCI 4
2199 #define ATOM_SET_VOLTAGE 0 //Set voltage Level
2200 #define ATOM_INIT_VOLTAGE_REGULATOR 3 //Init Regulator
2201 #define ATOM_SET_VOLTAGE_PHASE 4 //Set Vregulator Phase
2202 #define ATOM_GET_MAX_VOLTAGE 6 //Get Max Voltage, not used in SetVoltageTable v1.3
2203 #define ATOM_GET_VOLTAGE_LEVEL 6 //Get Voltage level from vitual voltage ID
2206 #define ATOM_VIRTUAL_VOLTAGE_ID0 0xff01
2207 #define ATOM_VIRTUAL_VOLTAGE_ID1 0xff02
2208 #define ATOM_VIRTUAL_VOLTAGE_ID2 0xff03
2209 #define ATOM_VIRTUAL_VOLTAGE_ID3 0xff04
2243 #define ATOM_GET_VOLTAGE_VID 0x00
2244 #define ATOM_GET_VOTLAGE_INIT_SEQ 0x03
2245 #define ATOM_GET_VOLTTAGE_PHASE_PHASE_VID 0x04
2247 #define ATOM_GET_VOLTAGE_STATE0_LEAKAGE_VID 0x10
2250 #define ATOM_GET_VOLTAGE_STATE1_LEAKAGE_VID 0x11
2252 #define ATOM_GET_VOLTAGE_STATE2_LEAKAGE_VID 0x12
2253 #define ATOM_GET_VOLTAGE_STATE3_LEAKAGE_VID 0x13
2322 #define LVDS_Info LCD_Info
2323 #define DAC_Info PaletteData
2324 #define TMDS_Info DIGTransmitterInfo
2370 #define ATOM_BIOS_INFO_ATOM_FIRMWARE_POSTED 0x0001
2371 #define ATOM_BIOS_INFO_DUAL_CRTC_SUPPORT 0x0002
2372 #define ATOM_BIOS_INFO_EXTENDED_DESKTOP_SUPPORT 0x0004
2373 #define ATOM_BIOS_INFO_MEMORY_CLOCK_SS_SUPPORT 0x0008 // (valid from v1.1 ~v1.4):=1: memclk SS enable, =0 memclk SS disable.
2374 #define ATOM_BIOS_INFO_ENGINE_CLOCK_SS_SUPPORT 0x0010 // (valid from v1.1 ~v1.4):=1: engclk SS enable, =0 engclk SS disable.
2375 #define ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU 0x0020
2376 #define ATOM_BIOS_INFO_WMI_SUPPORT 0x0040
2377 #define ATOM_BIOS_INFO_PPMODE_ASSIGNGED_BY_SYSTEM 0x0080
2378 #define ATOM_BIOS_INFO_HYPERMEMORY_SUPPORT 0x0100
2379 #define ATOM_BIOS_INFO_HYPERMEMORY_SIZE_MASK 0x1E00
2380 #define ATOM_BIOS_INFO_VPOST_WITHOUT_FIRST_MODE_SET 0x2000
2381 #define ATOM_BIOS_INFO_BIOS_SCRATCH6_SCL2_REDEFINE 0x4000
2382 #define ATOM_BIOS_INFO_MEMORY_CLOCK_EXT_SS_SUPPORT 0x0008 // (valid from v2.1 ): =1: memclk ss enable with external ss chip
2383 #define ATOM_BIOS_INFO_ENGINE_CLOCK_EXT_SS_SUPPORT 0x0010 // (valid from v2.1 ): =1: engclk ss enable with external ss chip
2661 #define ATOM_FIRMWARE_INFO_LAST ATOM_FIRMWARE_INFO_V2_2
2665 #define REMOTE_DISPLAY_DISABLE 0x00
2666 #define REMOTE_DISPLAY_ENABLE 0x01
2671 #define IGP_CAP_FLAG_DYNAMIC_CLOCK_EN 0x2
2672 #define IGP_CAP_FLAG_AC_CARD 0x4
2673 #define IGP_CAP_FLAG_SDVO_CARD 0x8
2674 #define IGP_CAP_FLAG_POSTDIV_BY_2_MODE 0x10
2885 #define INTEGRATED_SYSTEM_INFO__UNKNOWN_CPU 0
2886 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__GRIFFIN 1
2887 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__GREYHOUND 2
2888 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__K8 3
2889 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__PHARAOH 4
2890 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__OROCHI 5
2892 #define INTEGRATED_SYSTEM_INFO__AMD_CPU__MAX_CODE INTEGRATED_SYSTEM_INFO__AMD_CPU__OROCHI // this deff reflects max defined CPU code
2894 #define SYSTEM_CONFIG_POWEREXPRESS_ENABLE 0x00000001
2895 #define SYSTEM_CONFIG_RUN_AT_OVERDRIVE_ENGINE 0x00000002
2896 #define SYSTEM_CONFIG_USE_PWM_ON_VOLTAGE 0x00000004
2897 #define SYSTEM_CONFIG_PERFORMANCE_POWERSTATE_ONLY 0x00000008
2898 #define SYSTEM_CONFIG_CLMC_ENABLED 0x00000010
2899 #define SYSTEM_CONFIG_CDLW_ENABLED 0x00000020
2900 #define SYSTEM_CONFIG_HIGH_VOLTAGE_REQUESTED 0x00000040
2901 #define SYSTEM_CONFIG_CLMC_HYBRID_MODE_ENABLED 0x00000080
2902 #define SYSTEM_CONFIG_CDLF_ENABLED 0x00000100
2903 #define SYSTEM_CONFIG_DLL_SHUTDOWN_ENABLED 0x00000200
2905 #define IGP_DDI_SLOT_LANE_CONFIG_MASK 0x000000FF
2907 #define b0IGP_DDI_SLOT_LANE_MAP_MASK 0x0F
2908 #define b0IGP_DDI_SLOT_DOCKING_LANE_MAP_MASK 0xF0
2909 #define b0IGP_DDI_SLOT_CONFIG_LANE_0_3 0x01
2910 #define b0IGP_DDI_SLOT_CONFIG_LANE_4_7 0x02
2911 #define b0IGP_DDI_SLOT_CONFIG_LANE_8_11 0x04
2912 #define b0IGP_DDI_SLOT_CONFIG_LANE_12_15 0x08
2914 #define IGP_DDI_SLOT_ATTRIBUTE_MASK 0x0000FF00
2915 #define IGP_DDI_SLOT_CONFIG_REVERSED 0x00000100
2916 #define b1IGP_DDI_SLOT_CONFIG_REVERSED 0x01
2918 #define IGP_DDI_SLOT_CONNECTOR_TYPE_MASK 0x00FF0000
2955 #define ATOM_CRT_INT_ENCODER1_INDEX 0x00000000
2956 #define ATOM_LCD_INT_ENCODER1_INDEX 0x00000001
2957 #define ATOM_TV_INT_ENCODER1_INDEX 0x00000002
2958 #define ATOM_DFP_INT_ENCODER1_INDEX 0x00000003
2959 #define ATOM_CRT_INT_ENCODER2_INDEX 0x00000004
2960 #define ATOM_LCD_EXT_ENCODER1_INDEX 0x00000005
2961 #define ATOM_TV_EXT_ENCODER1_INDEX 0x00000006
2962 #define ATOM_DFP_EXT_ENCODER1_INDEX 0x00000007
2963 #define ATOM_CV_INT_ENCODER1_INDEX 0x00000008
2964 #define ATOM_DFP_INT_ENCODER2_INDEX 0x00000009
2965 #define ATOM_CRT_EXT_ENCODER1_INDEX 0x0000000A
2966 #define ATOM_CV_EXT_ENCODER1_INDEX 0x0000000B
2967 #define ATOM_DFP_INT_ENCODER3_INDEX 0x0000000C
2968 #define ATOM_DFP_INT_ENCODER4_INDEX 0x0000000D
2971 #define ASIC_INT_DAC1_ENCODER_ID 0x00
2972 #define ASIC_INT_TV_ENCODER_ID 0x02
2973 #define ASIC_INT_DIG1_ENCODER_ID 0x03
2974 #define ASIC_INT_DAC2_ENCODER_ID 0x04
2975 #define ASIC_EXT_TV_ENCODER_ID 0x06
2976 #define ASIC_INT_DVO_ENCODER_ID 0x07
2977 #define ASIC_INT_DIG2_ENCODER_ID 0x09
2978 #define ASIC_EXT_DIG_ENCODER_ID 0x05
2979 #define ASIC_EXT_DIG2_ENCODER_ID 0x08
2980 #define ASIC_INT_DIG3_ENCODER_ID 0x0a
2981 #define ASIC_INT_DIG4_ENCODER_ID 0x0b
2982 #define ASIC_INT_DIG5_ENCODER_ID 0x0c
2983 #define ASIC_INT_DIG6_ENCODER_ID 0x0d
2984 #define ASIC_INT_DIG7_ENCODER_ID 0x0e
2987 #define ATOM_ANALOG_ENCODER 0
2988 #define ATOM_DIGITAL_ENCODER 1
2989 #define ATOM_DP_ENCODER 2
2991 #define ATOM_ENCODER_ENUM_MASK 0x70
2992 #define ATOM_ENCODER_ENUM_ID1 0x00
2993 #define ATOM_ENCODER_ENUM_ID2 0x10
2994 #define ATOM_ENCODER_ENUM_ID3 0x20
2995 #define ATOM_ENCODER_ENUM_ID4 0x30
2996 #define ATOM_ENCODER_ENUM_ID5 0x40
2997 #define ATOM_ENCODER_ENUM_ID6 0x50
2999 #define ATOM_DEVICE_CRT1_INDEX 0x00000000
3000 #define ATOM_DEVICE_LCD1_INDEX 0x00000001
3001 #define ATOM_DEVICE_TV1_INDEX 0x00000002
3002 #define ATOM_DEVICE_DFP1_INDEX 0x00000003
3003 #define ATOM_DEVICE_CRT2_INDEX 0x00000004
3004 #define ATOM_DEVICE_LCD2_INDEX 0x00000005
3005 #define ATOM_DEVICE_DFP6_INDEX 0x00000006
3006 #define ATOM_DEVICE_DFP2_INDEX 0x00000007
3007 #define ATOM_DEVICE_CV_INDEX 0x00000008
3008 #define ATOM_DEVICE_DFP3_INDEX 0x00000009
3009 #define ATOM_DEVICE_DFP4_INDEX 0x0000000A
3010 #define ATOM_DEVICE_DFP5_INDEX 0x0000000B
3012 #define ATOM_DEVICE_RESERVEDC_INDEX 0x0000000C
3013 #define ATOM_DEVICE_RESERVEDD_INDEX 0x0000000D
3014 #define ATOM_DEVICE_RESERVEDE_INDEX 0x0000000E
3015 #define ATOM_DEVICE_RESERVEDF_INDEX 0x0000000F
3016 #define ATOM_MAX_SUPPORTED_DEVICE_INFO (ATOM_DEVICE_DFP3_INDEX+1)
3017 #define ATOM_MAX_SUPPORTED_DEVICE_INFO_2 ATOM_MAX_SUPPORTED_DEVICE_INFO
3018 #define ATOM_MAX_SUPPORTED_DEVICE_INFO_3 (ATOM_DEVICE_DFP5_INDEX + 1 )
3020 #define ATOM_MAX_SUPPORTED_DEVICE (ATOM_DEVICE_RESERVEDF_INDEX+1)
3022 #define ATOM_DEVICE_CRT1_SUPPORT (0x1L << ATOM_DEVICE_CRT1_INDEX )
3023 #define ATOM_DEVICE_LCD1_SUPPORT (0x1L << ATOM_DEVICE_LCD1_INDEX )
3024 #define ATOM_DEVICE_TV1_SUPPORT (0x1L << ATOM_DEVICE_TV1_INDEX )
3025 #define ATOM_DEVICE_DFP1_SUPPORT (0x1L << ATOM_DEVICE_DFP1_INDEX )
3026 #define ATOM_DEVICE_CRT2_SUPPORT (0x1L << ATOM_DEVICE_CRT2_INDEX )
3027 #define ATOM_DEVICE_LCD2_SUPPORT (0x1L << ATOM_DEVICE_LCD2_INDEX )
3028 #define ATOM_DEVICE_DFP6_SUPPORT (0x1L << ATOM_DEVICE_DFP6_INDEX )
3029 #define ATOM_DEVICE_DFP2_SUPPORT (0x1L << ATOM_DEVICE_DFP2_INDEX )
3030 #define ATOM_DEVICE_CV_SUPPORT (0x1L << ATOM_DEVICE_CV_INDEX )
3031 #define ATOM_DEVICE_DFP3_SUPPORT (0x1L << ATOM_DEVICE_DFP3_INDEX )
3032 #define ATOM_DEVICE_DFP4_SUPPORT (0x1L << ATOM_DEVICE_DFP4_INDEX )
3033 #define ATOM_DEVICE_DFP5_SUPPORT (0x1L << ATOM_DEVICE_DFP5_INDEX )
3035 #define ATOM_DEVICE_CRT_SUPPORT (ATOM_DEVICE_CRT1_SUPPORT | ATOM_DEVICE_CRT2_SUPPORT)
3036 #define ATOM_DEVICE_DFP_SUPPORT (ATOM_DEVICE_DFP1_SUPPORT | ATOM_DEVICE_DFP2_SUPPORT | ATOM_DEVICE_DFP3_SUPPORT | ATOM_DEVICE_DFP4_SUPPORT | ATOM_DEVICE_DFP5_SUPPORT | ATOM_DEVICE_DFP6_SUPPORT)
3037 #define ATOM_DEVICE_TV_SUPPORT (ATOM_DEVICE_TV1_SUPPORT)
3038 #define ATOM_DEVICE_LCD_SUPPORT (ATOM_DEVICE_LCD1_SUPPORT | ATOM_DEVICE_LCD2_SUPPORT)
3040 #define ATOM_DEVICE_CONNECTOR_TYPE_MASK 0x000000F0
3041 #define ATOM_DEVICE_CONNECTOR_TYPE_SHIFT 0x00000004
3042 #define ATOM_DEVICE_CONNECTOR_VGA 0x00000001
3043 #define ATOM_DEVICE_CONNECTOR_DVI_I 0x00000002
3044 #define ATOM_DEVICE_CONNECTOR_DVI_D 0x00000003
3045 #define ATOM_DEVICE_CONNECTOR_DVI_A 0x00000004
3046 #define ATOM_DEVICE_CONNECTOR_SVIDEO 0x00000005
3047 #define ATOM_DEVICE_CONNECTOR_COMPOSITE 0x00000006
3048 #define ATOM_DEVICE_CONNECTOR_LVDS 0x00000007
3049 #define ATOM_DEVICE_CONNECTOR_DIGI_LINK 0x00000008
3050 #define ATOM_DEVICE_CONNECTOR_SCART 0x00000009
3051 #define ATOM_DEVICE_CONNECTOR_HDMI_TYPE_A 0x0000000A
3052 #define ATOM_DEVICE_CONNECTOR_HDMI_TYPE_B 0x0000000B
3053 #define ATOM_DEVICE_CONNECTOR_CASE_1 0x0000000E
3054 #define ATOM_DEVICE_CONNECTOR_DISPLAYPORT 0x0000000F
3057 #define ATOM_DEVICE_DAC_INFO_MASK 0x0000000F
3058 #define ATOM_DEVICE_DAC_INFO_SHIFT 0x00000000
3059 #define ATOM_DEVICE_DAC_INFO_NODAC 0x00000000
3060 #define ATOM_DEVICE_DAC_INFO_DACA 0x00000001
3061 #define ATOM_DEVICE_DAC_INFO_DACB 0x00000002
3062 #define ATOM_DEVICE_DAC_INFO_EXDAC 0x00000003
3064 #define ATOM_DEVICE_I2C_ID_NOI2C 0x00000000
3066 #define ATOM_DEVICE_I2C_LINEMUX_MASK 0x0000000F
3067 #define ATOM_DEVICE_I2C_LINEMUX_SHIFT 0x00000000
3069 #define ATOM_DEVICE_I2C_ID_MASK 0x00000070
3070 #define ATOM_DEVICE_I2C_ID_SHIFT 0x00000004
3071 #define ATOM_DEVICE_I2C_ID_IS_FOR_NON_MM_USE 0x00000001
3072 #define ATOM_DEVICE_I2C_ID_IS_FOR_MM_USE 0x00000002
3073 #define ATOM_DEVICE_I2C_ID_IS_FOR_SDVO_USE 0x00000003 //For IGP RS600
3074 #define ATOM_DEVICE_I2C_ID_IS_FOR_DAC_SCL 0x00000004 //For IGP RS690
3076 #define ATOM_DEVICE_I2C_HARDWARE_CAP_MASK 0x00000080
3077 #define ATOM_DEVICE_I2C_HARDWARE_CAP_SHIFT 0x00000007
3078 #define ATOM_DEVICE_USES_SOFTWARE_ASSISTED_I2C 0x00000000
3079 #define ATOM_DEVICE_USES_HARDWARE_ASSISTED_I2C 0x00000001
3214 #define ATOM_H_CUTOFF 0x01
3215 #define ATOM_HSYNC_POLARITY 0x02 //0=Active High, 1=Active Low
3216 #define ATOM_VSYNC_POLARITY 0x04 //0=Active High, 1=Active Low
3217 #define ATOM_V_CUTOFF 0x08
3218 #define ATOM_H_REPLICATIONBY2 0x10
3219 #define ATOM_V_REPLICATIONBY2 0x20
3220 #define ATOM_COMPOSITESYNC 0x40
3221 #define ATOM_INTERLACE 0x80
3222 #define ATOM_DOUBLE_CLOCK_MODE 0x100
3223 #define ATOM_RGB888_MODE 0x200
3226 #define ATOM_REFRESH_43 43
3227 #define ATOM_REFRESH_47 47
3228 #define ATOM_REFRESH_56 56
3229 #define ATOM_REFRESH_60 60
3230 #define ATOM_REFRESH_65 65
3231 #define ATOM_REFRESH_70 70
3232 #define ATOM_REFRESH_72 72
3233 #define ATOM_REFRESH_75 75
3234 #define ATOM_REFRESH_85 85
3288 #define SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION SET_CRTC_TIMING_PARAMETERS
3340 #define SUPPORTED_LCD_REFRESHRATE_30Hz 0x0004
3341 #define SUPPORTED_LCD_REFRESHRATE_40Hz 0x0008
3342 #define SUPPORTED_LCD_REFRESHRATE_50Hz 0x0010
3343 #define SUPPORTED_LCD_REFRESHRATE_60Hz 0x0020
3394 #define LCDPANEL_CAP_READ_EDID 0x1
3399 #define LCDPANEL_CAP_DRR_SUPPORTED 0x2
3402 #define LCDPANEL_CAP_eDP 0x4
3416 #define PANEL_COLOR_BIT_DEPTH_MASK 0x70
3419 #define PANEL_RANDOM_DITHER 0x80
3420 #define PANEL_RANDOM_DITHER_MASK 0x80
3422 #define ATOM_LVDS_INFO_LAST ATOM_LVDS_INFO_V12 // no need to change this
3477 #define ATOM_LCD_INFO_LAST ATOM_LCD_INFO_V13
3480 #define ATOM_PANEL_MISC_V13_DUAL 0x00000001
3481 #define ATOM_PANEL_MISC_V13_FPDI 0x00000002
3482 #define ATOM_PANEL_MISC_V13_GREY_LEVEL 0x0000000C
3483 #define ATOM_PANEL_MISC_V13_GREY_LEVEL_SHIFT 2
3484 #define ATOM_PANEL_MISC_V13_COLOR_BIT_DEPTH_MASK 0x70
3485 #define ATOM_PANEL_MISC_V13_6BIT_PER_COLOR 0x10
3486 #define ATOM_PANEL_MISC_V13_8BIT_PER_COLOR 0x20
3503 #define LCDPANEL_CAP_V13_READ_EDID 0x1 // = LCDPANEL_CAP_READ_EDID no change comparing to previous version
3508 #define LCDPANEL_CAP_V13_DRR_SUPPORTED 0x2 // = LCDPANEL_CAP_DRR_SUPPORTED no change comparing to previous version
3511 #define LCDPANEL_CAP_V13_eDP 0x4 // = LCDPANEL_CAP_eDP no change comparing to previous version
3514 #define eDP_TO_LVDS_RX_DISABLE 0x00 // no eDP->LVDS translator chip
3515 #define eDP_TO_LVDS_COMMON_ID 0x01 // common eDP->LVDS translator chip without AMD SW init
3516 #define eDP_TO_LVDS_RT_ID 0x02 // RT tanslator which require AMD SW init
3539 #define LCD_MODE_CAP_BL_OFF 1
3540 #define LCD_MODE_CAP_CRTC_OFF 2
3541 #define LCD_MODE_CAP_PANEL_OFF 4
3557 #define LCD_MODE_PATCH_RECORD_MODE_TYPE 1
3558 #define LCD_RTS_RECORD_TYPE 2
3559 #define LCD_CAP_RECORD_TYPE 3
3560 #define LCD_FAKE_EDID_PATCH_RECORD_TYPE 4
3561 #define LCD_PANEL_RESOLUTION_RECORD_TYPE 5
3562 #define LCD_EDID_OFFSET_PATCH_RECORD_TYPE 6
3563 #define ATOM_RECORD_END_TYPE 0xFF
3580 #define ATOM_MAX_SS_ENTRY 16
3581 #define ATOM_DP_SS_ID1 0x0f1 // SS ID for internal DP stream at 2.7Ghz. if ATOM_DP_SS_ID2 does not exist in SS_InfoTable, it is used for internal DP stream at 1.62Ghz as well.
3582 #define ATOM_DP_SS_ID2 0x0f2 // SS ID for internal DP stream at 1.62Ghz, if it exists in SS_InfoTable.
3583 #define ATOM_LVLINK_2700MHz_SS_ID 0x0f3 // SS ID for LV link translator chip at 2.7Ghz
3584 #define ATOM_LVLINK_1620MHz_SS_ID 0x0f4 // SS ID for LV link translator chip at 1.62Ghz
3587 #define ATOM_SS_DOWN_SPREAD_MODE_MASK 0x00000000
3588 #define ATOM_SS_DOWN_SPREAD_MODE 0x00000000
3589 #define ATOM_SS_CENTRE_SPREAD_MODE_MASK 0x00000001
3590 #define ATOM_SS_CENTRE_SPREAD_MODE 0x00000001
3591 #define ATOM_INTERNAL_SS_MASK 0x00000000
3592 #define ATOM_EXTERNAL_SS_MASK 0x00000002
3593 #define EXEC_SS_STEP_SIZE_SHIFT 2
3594 #define EXEC_SS_DELAY_SHIFT 4
3595 #define ACTIVEDATA_TO_BLON_DELAY_SHIFT 4
3618 #define NTSC_SUPPORT 0x1
3619 #define NTSCJ_SUPPORT 0x2
3621 #define PAL_SUPPORT 0x4
3622 #define PALM_SUPPORT 0x8
3623 #define PALCN_SUPPORT 0x10
3624 #define PALN_SUPPORT 0x20
3625 #define PAL60_SUPPORT 0x40
3626 #define SECAM_SUPPORT 0x80
3628 #define MAX_SUPPORTED_TV_TIMING 2
3641 #define MAX_SUPPORTED_TV_TIMING_V1_2 3
3661 #define ATOM_DPCD_MAX_LANE_MASK 0x1F
3672 #ifndef VESA_MEMORY_IN_64K_BLOCK
3673 #define VESA_MEMORY_IN_64K_BLOCK 0x100 //256*64K=16Mb (Max. VESA memory is 16Mb!)
3676 #define ATOM_EDID_RAW_DATASIZE 256 //In Bytes
3677 #define ATOM_HWICON_SURFACE_SIZE 4096 //In Bytes
3678 #define ATOM_HWICON_INFOTABLE_SIZE 32
3679 #define MAX_DTD_MODE_IN_VRAM 6
3680 #define ATOM_DTD_MODE_SUPPORT_TBL_SIZE (MAX_DTD_MODE_IN_VRAM*28) //28= (SIZEOF ATOM_DTD_FORMAT)
3681 #define ATOM_STD_MODE_SUPPORT_TBL_SIZE 32*8 //32 is a predefined number,8= (SIZEOF ATOM_STD_FORMAT)
3683 #define DFP_ENCODER_TYPE_OFFSET (ATOM_EDID_RAW_DATASIZE + ATOM_DTD_MODE_SUPPORT_TBL_SIZE + ATOM_STD_MODE_SUPPORT_TBL_SIZE - 20)
3684 #define ATOM_DP_DPCD_OFFSET (DFP_ENCODER_TYPE_OFFSET + 4 )
3686 #define ATOM_HWICON1_SURFACE_ADDR 0
3687 #define ATOM_HWICON2_SURFACE_ADDR (ATOM_HWICON1_SURFACE_ADDR + ATOM_HWICON_SURFACE_SIZE)
3688 #define ATOM_HWICON_INFOTABLE_ADDR (ATOM_HWICON2_SURFACE_ADDR + ATOM_HWICON_SURFACE_SIZE)
3689 #define ATOM_CRT1_EDID_ADDR (ATOM_HWICON_INFOTABLE_ADDR + ATOM_HWICON_INFOTABLE_SIZE)
3690 #define ATOM_CRT1_DTD_MODE_TBL_ADDR (ATOM_CRT1_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3691 #define ATOM_CRT1_STD_MODE_TBL_ADDR (ATOM_CRT1_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3693 #define ATOM_LCD1_EDID_ADDR (ATOM_CRT1_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3694 #define ATOM_LCD1_DTD_MODE_TBL_ADDR (ATOM_LCD1_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3695 #define ATOM_LCD1_STD_MODE_TBL_ADDR (ATOM_LCD1_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3697 #define ATOM_TV1_DTD_MODE_TBL_ADDR (ATOM_LCD1_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3699 #define ATOM_DFP1_EDID_ADDR (ATOM_TV1_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3700 #define ATOM_DFP1_DTD_MODE_TBL_ADDR (ATOM_DFP1_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3701 #define ATOM_DFP1_STD_MODE_TBL_ADDR (ATOM_DFP1_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3703 #define ATOM_CRT2_EDID_ADDR (ATOM_DFP1_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3704 #define ATOM_CRT2_DTD_MODE_TBL_ADDR (ATOM_CRT2_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3705 #define ATOM_CRT2_STD_MODE_TBL_ADDR (ATOM_CRT2_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3707 #define ATOM_LCD2_EDID_ADDR (ATOM_CRT2_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3708 #define ATOM_LCD2_DTD_MODE_TBL_ADDR (ATOM_LCD2_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3709 #define ATOM_LCD2_STD_MODE_TBL_ADDR (ATOM_LCD2_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3711 #define ATOM_DFP6_EDID_ADDR (ATOM_LCD2_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3712 #define ATOM_DFP6_DTD_MODE_TBL_ADDR (ATOM_DFP6_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3713 #define ATOM_DFP6_STD_MODE_TBL_ADDR (ATOM_DFP6_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3715 #define ATOM_DFP2_EDID_ADDR (ATOM_DFP6_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3716 #define ATOM_DFP2_DTD_MODE_TBL_ADDR (ATOM_DFP2_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3717 #define ATOM_DFP2_STD_MODE_TBL_ADDR (ATOM_DFP2_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3719 #define ATOM_CV_EDID_ADDR (ATOM_DFP2_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3720 #define ATOM_CV_DTD_MODE_TBL_ADDR (ATOM_CV_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3721 #define ATOM_CV_STD_MODE_TBL_ADDR (ATOM_CV_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3723 #define ATOM_DFP3_EDID_ADDR (ATOM_CV_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3724 #define ATOM_DFP3_DTD_MODE_TBL_ADDR (ATOM_DFP3_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3725 #define ATOM_DFP3_STD_MODE_TBL_ADDR (ATOM_DFP3_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3727 #define ATOM_DFP4_EDID_ADDR (ATOM_DFP3_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3728 #define ATOM_DFP4_DTD_MODE_TBL_ADDR (ATOM_DFP4_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3729 #define ATOM_DFP4_STD_MODE_TBL_ADDR (ATOM_DFP4_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3731 #define ATOM_DFP5_EDID_ADDR (ATOM_DFP4_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3732 #define ATOM_DFP5_DTD_MODE_TBL_ADDR (ATOM_DFP5_EDID_ADDR + ATOM_EDID_RAW_DATASIZE)
3733 #define ATOM_DFP5_STD_MODE_TBL_ADDR (ATOM_DFP5_DTD_MODE_TBL_ADDR + ATOM_DTD_MODE_SUPPORT_TBL_SIZE)
3735 #define ATOM_DP_TRAINING_TBL_ADDR (ATOM_DFP5_STD_MODE_TBL_ADDR + ATOM_STD_MODE_SUPPORT_TBL_SIZE)
3737 #define ATOM_STACK_STORAGE_START (ATOM_DP_TRAINING_TBL_ADDR + 1024)
3738 #define ATOM_STACK_STORAGE_END ATOM_STACK_STORAGE_START + 512
3741 #define ATOM_VRAM_RESERVE_SIZE ((((ATOM_STACK_STORAGE_END - ATOM_HWICON1_SURFACE_ADDR)>>10)+4)&0xFFFC)
3743 #define ATOM_VRAM_RESERVE_V2_SIZE 32
3745 #define ATOM_VRAM_OPERATION_FLAGS_MASK 0xC0000000L
3746 #define ATOM_VRAM_OPERATION_FLAGS_SHIFT 30
3747 #define ATOM_VRAM_BLOCK_NEEDS_NO_RESERVATION 0x1
3748 #define ATOM_VRAM_BLOCK_NEEDS_RESERVATION 0x0
3775 #define ATOM_MAX_FIRMWARE_VRAM_USAGE_INFO 1
3823 #define GPIO_PIN_ACTIVE_HIGH 0x1
3825 #define MAX_SUPPORTED_CV_STANDARDS 5
3828 #define ATOM_GPIO_SETTINGS_BITSHIFT_MASK 0x1F // [4:0]
3829 #define ATOM_GPIO_SETTINGS_RESERVED_MASK 0x60 // [6:5] = must be zeroed out
3830 #define ATOM_GPIO_SETTINGS_ACTIVE_MASK 0x80 // [7]
3840 #define ATOM_CV_RESTRICT_FORMAT_SELECTION 0x2
3843 #define ATOM_GPIO_DEFAULT_MODE_EN 0x80 //[7];
3844 #define ATOM_GPIO_SETTING_PERMODE_MASK 0x7F //[6:0]
3848 #define ATOM_CV_LINE3_ASPECTRATIO_16_9_GPIO_A 0x01 //represent gpio 3 state for 16:9
3849 #define ATOM_CV_LINE3_ASPECTRATIO_16_9_GPIO_B 0x02 //represent gpio 4 state for 16:9
3850 #define ATOM_CV_LINE3_ASPECTRATIO_16_9_GPIO_SHIFT 0x0
3853 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_LETBOX_GPIO_A 0x04 //represent gpio 3 state for 4:3 Letter box
3854 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_LETBOX_GPIO_B 0x08 //represent gpio 4 state for 4:3 Letter box
3855 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_LETBOX_GPIO_SHIFT 0x2
3858 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_GPIO_A 0x10 //represent gpio 3 state for 4:3
3859 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_GPIO_B 0x20 //represent gpio 4 state for 4:3
3860 #define ATOM_CV_LINE3_ASPECTRATIO_4_3_GPIO_SHIFT 0x4
3862 #define ATOM_CV_LINE3_ASPECTRATIO_MASK 0x3F // bit [5:0]
3864 #define ATOM_CV_LINE3_ASPECTRATIO_EXIST 0x80 //bit 7
3867 #define ATOM_GPIO_INDEX_LINE3_ASPECRATIO_GPIO_A 3 //bit 3 in uc480i/uc480p/uc720p/uc1080i, which represend the default gpio bit setting for the mode.
3868 #define ATOM_GPIO_INDEX_LINE3_ASPECRATIO_GPIO_B 4 //bit 4 in uc480i/uc480p/uc720p/uc1080i, which represend the default gpio bit setting for the mode.
3910 #define ATOM_COMPONENT_VIDEO_INFO_LAST ATOM_COMPONENT_VIDEO_INFO_V21
3991 #define EXT_HPDPIN_LUTINDEX_0 0
3992 #define EXT_HPDPIN_LUTINDEX_1 1
3993 #define EXT_HPDPIN_LUTINDEX_2 2
3994 #define EXT_HPDPIN_LUTINDEX_3 3
3995 #define EXT_HPDPIN_LUTINDEX_4 4
3996 #define EXT_HPDPIN_LUTINDEX_5 5
3997 #define EXT_HPDPIN_LUTINDEX_6 6
3998 #define EXT_HPDPIN_LUTINDEX_7 7
3999 #define MAX_NUMBER_OF_EXT_HPDPIN_LUT_ENTRIES (EXT_HPDPIN_LUTINDEX_7+1)
4001 #define EXT_AUXDDC_LUTINDEX_0 0
4002 #define EXT_AUXDDC_LUTINDEX_1 1
4003 #define EXT_AUXDDC_LUTINDEX_2 2
4004 #define EXT_AUXDDC_LUTINDEX_3 3
4005 #define EXT_AUXDDC_LUTINDEX_4 4
4006 #define EXT_AUXDDC_LUTINDEX_5 5
4007 #define EXT_AUXDDC_LUTINDEX_6 6
4008 #define EXT_AUXDDC_LUTINDEX_7 7
4009 #define MAX_NUMBER_OF_EXT_AUXDDC_LUT_ENTRIES (EXT_AUXDDC_LUTINDEX_7+1)
4070 #define NUMBER_OF_UCHAR_FOR_GUID 16
4071 #define MAX_NUMBER_OF_EXT_DISPLAY_PATH 7
4074 #define EXT_DISPLAY_PATH_CAPS__HBR2_DISABLE 0x01
4096 #define ATOM_I2C_RECORD_TYPE 1
4097 #define ATOM_HPD_INT_RECORD_TYPE 2
4098 #define ATOM_OUTPUT_PROTECTION_RECORD_TYPE 3
4099 #define ATOM_CONNECTOR_DEVICE_TAG_RECORD_TYPE 4
4100 #define ATOM_CONNECTOR_DVI_EXT_INPUT_RECORD_TYPE 5 //Obsolete, switch to use GPIO_CNTL_RECORD_TYPE
4101 #define ATOM_ENCODER_FPGA_CONTROL_RECORD_TYPE 6 //Obsolete, switch to use GPIO_CNTL_RECORD_TYPE
4102 #define ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD_TYPE 7
4103 #define ATOM_JTAG_RECORD_TYPE 8 //Obsolete, switch to use GPIO_CNTL_RECORD_TYPE
4104 #define ATOM_OBJECT_GPIO_CNTL_RECORD_TYPE 9
4105 #define ATOM_ENCODER_DVO_CF_RECORD_TYPE 10
4106 #define ATOM_CONNECTOR_CF_RECORD_TYPE 11
4107 #define ATOM_CONNECTOR_HARDCODE_DTD_RECORD_TYPE 12
4108 #define ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD_TYPE 13
4109 #define ATOM_ROUTER_DDC_PATH_SELECT_RECORD_TYPE 14
4110 #define ATOM_ROUTER_DATA_CLOCK_PATH_SELECT_RECORD_TYPE 15
4111 #define ATOM_CONNECTOR_HPDPIN_LUT_RECORD_TYPE 16 //This is for the case when connectors are not known to object table
4112 #define ATOM_CONNECTOR_AUXDDC_LUT_RECORD_TYPE 17 //This is for the case when connectors are not known to object table
4113 #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 record
4114 #define ATOM_CONNECTOR_REMOTE_CAP_RECORD_TYPE 19
4115 #define ATOM_ENCODER_CAP_RECORD_TYPE 20
4119 #define ATOM_MAX_OBJECT_RECORD_NUMBER ATOM_ENCODER_CAP_RECORD_TYPE
4219 #define GPIO_PIN_TYPE_INPUT 0x00
4220 #define GPIO_PIN_TYPE_OUTPUT 0x10
4221 #define GPIO_PIN_TYPE_HW_CONTROL 0x20
4224 #define GPIO_PIN_OUTPUT_STATE_MASK 0x01
4225 #define GPIO_PIN_OUTPUT_STATE_SHIFT 0
4226 #define GPIO_PIN_STATE_ACTIVE_LOW 0x0
4227 #define GPIO_PIN_STATE_ACTIVE_HIGH 0x1
4231 #define ATOM_GPIO_INDEX_GLSYNC_REFCLK 0
4232 #define ATOM_GPIO_INDEX_GLSYNC_HSYNC 1
4233 #define ATOM_GPIO_INDEX_GLSYNC_VSYNC 2
4234 #define ATOM_GPIO_INDEX_GLSYNC_SWAP_REQ 3
4235 #define ATOM_GPIO_INDEX_GLSYNC_SWAP_GNT 4
4236 #define ATOM_GPIO_INDEX_GLSYNC_INTERRUPT 5
4237 #define ATOM_GPIO_INDEX_GLSYNC_V_RESET 6
4238 #define ATOM_GPIO_INDEX_GLSYNC_SWAP_CNTL 7
4239 #define ATOM_GPIO_INDEX_GLSYNC_SWAP_SEL 8
4240 #define ATOM_GPIO_INDEX_GLSYNC_MAX 9
4250 #define ATOM_ENCODER_CAP_RECORD_HBR2 0x01 // DP1.2 HBR2 is supported by HW encoder
4251 #define ATOM_ENCODER_CAP_RECORD_HBR2_EN 0x02 // DP1.2 HBR2 setting is qualified and HBR2 can be enabled
4273 #define ATOM_CONNECTOR_CF_RECORD_CONNECTED_UPPER12BITBUNDLEA 1
4274 #define ATOM_CONNECTOR_CF_RECORD_CONNECTED_LOWER12BITBUNDLEB 2
4317 #define ATOM_ROUTER_MUX_PIN_STATE_MASK 0x0f
4318 #define ATOM_ROUTER_MUX_PIN_SINGLE_STATE_COMPLEMENT 0x01
4404 #define VOLTAGE_CONTROLLED_BY_HW 0x00
4405 #define VOLTAGE_CONTROLLED_BY_I2C_MASK 0x7F
4406 #define VOLTAGE_CONTROLLED_BY_GPIO 0x80
4407 #define VOLTAGE_CONTROL_ID_LM64 0x01 //I2C control, used for R5xx Core Voltage
4408 #define VOLTAGE_CONTROL_ID_DAC 0x02 //I2C control, used for R5xx/R6xx MVDDC,MVDDQ or VDDCI
4409 #define VOLTAGE_CONTROL_ID_VT116xM 0x03 //I2C control, used for R6xx Core Voltage
4410 #define VOLTAGE_CONTROL_ID_DS4402 0x04
4411 #define VOLTAGE_CONTROL_ID_UP6266 0x05
4412 #define VOLTAGE_CONTROL_ID_SCORPIO 0x06
4413 #define VOLTAGE_CONTROL_ID_VT1556M 0x07
4414 #define VOLTAGE_CONTROL_ID_CHL822x 0x08
4415 #define VOLTAGE_CONTROL_ID_VT1586M 0x09
4416 #define VOLTAGE_CONTROL_ID_UP1637 0x0A
4527 #define ATOM_ASIC_PROFILE_ID_EFUSE_VOLTAGE 1
4528 #define ATOM_ASIC_PROFILE_ID_EFUSE_PERFORMANCE_VOLTAGE 1
4529 #define ATOM_ASIC_PROFILE_ID_EFUSE_THERMAL_VOLTAGE 2
4559 #define POWERSOURCE_PCIE_ID1 0x00
4560 #define POWERSOURCE_6PIN_CONNECTOR_ID1 0x01
4561 #define POWERSOURCE_8PIN_CONNECTOR_ID1 0x02
4562 #define POWERSOURCE_6PIN_CONNECTOR_ID2 0x04
4563 #define POWERSOURCE_8PIN_CONNECTOR_ID2 0x08
4566 #define POWER_SENSOR_ALWAYS 0x00
4567 #define POWER_SENSOR_GPIO 0x01
4568 #define POWER_SENSOR_I2C 0x02
4584 #define ATOM_IGP_INFO_V6_SYSTEM_CONFIG__PCIE_POWER_GATING_ENABLE 1 // refer to ulSystemConfig bit[0]
4644 #define INTEGRATED_SYSTEM_INFO_V6_GPUCAPINFO__TMDSHDMI_COHERENT_SINGLEPLL_MODE 0x01
4645 #define INTEGRATED_SYSTEM_INFO_V6_GPUCAPINFO__DISABLE_AUX_HW_MODE_DETECTION 0x08
4648 #define SYS_INFO_LVDSMISC__888_FPDI_MODE 0x01
4649 #define SYS_INFO_LVDSMISC__DL_CH_SWAP 0x02
4650 #define SYS_INFO_LVDSMISC__888_BPC 0x04
4651 #define SYS_INFO_LVDSMISC__OVERRIDE_EN 0x08
4652 #define SYS_INFO_LVDSMISC__BLON_ACTIVE_LOW 0x10
4655 #define SYS_INFO_LVDSMISC__VSYNC_ACTIVE_LOW 0x04
4656 #define SYS_INFO_LVDSMISC__HSYNC_ACTIVE_LOW 0x08
4838 #define INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT 0x01
4839 #define INTEGRATED_SYSTEM_INFO__GET_BOOTUP_DISPLAY_CALLBACK_FUNC_SUPPORT 0x02
4840 #define INTEGRATED_SYSTEM_INFO__GET_EXPANSION_CALLBACK_FUNC_SUPPORT 0x04
4841 #define INTEGRATED_SYSTEM_INFO__FAST_BOOT_SUPPORT 0x08
4844 #define SYS_INFO_GPUCAPS__TMDSHDMI_COHERENT_SINGLEPLL_MODE 0x01
4845 #define SYS_INFO_GPUCAPS__DP_SINGLEPLL_MODE 0x02
4846 #define SYS_INFO_GPUCAPS__DISABLE_AUX_MODE_DETECT 0x08
5010 #define ATOM_MCLK_SS_INFO ATOM_ASIC_MVDD_INFO
5027 #define ASIC_INTERNAL_MEMORY_SS 1
5028 #define ASIC_INTERNAL_ENGINE_SS 2
5029 #define ASIC_INTERNAL_UVD_SS 3
5030 #define ASIC_INTERNAL_SS_ON_TMDS 4
5031 #define ASIC_INTERNAL_SS_ON_HDMI 5
5032 #define ASIC_INTERNAL_SS_ON_LVDS 6
5033 #define ASIC_INTERNAL_SS_ON_DP 7
5034 #define ASIC_INTERNAL_SS_ON_DCPLL 8
5035 #define ASIC_EXTERNAL_SS_ON_DP_CLOCK 9
5036 #define ASIC_INTERNAL_VCE_SS 10
5088 #define ATOM_DEVICE_CONNECT_INFO_DEF 0
5089 #define ATOM_ROM_LOCATION_DEF 1
5090 #define ATOM_TV_STANDARD_DEF 2
5091 #define ATOM_ACTIVE_INFO_DEF 3
5092 #define ATOM_LCD_INFO_DEF 4
5093 #define ATOM_DOS_REQ_INFO_DEF 5
5094 #define ATOM_ACC_CHANGE_INFO_DEF 6
5095 #define ATOM_DOS_MODE_INFO_DEF 7
5096 #define ATOM_I2C_CHANNEL_STATUS_DEF 8
5097 #define ATOM_I2C_CHANNEL_STATUS1_DEF 9
5098 #define ATOM_INTERNAL_TIMER_DEF 10
5101 #define ATOM_S0_CRT1_MONO 0x00000001L
5102 #define ATOM_S0_CRT1_COLOR 0x00000002L
5103 #define ATOM_S0_CRT1_MASK (ATOM_S0_CRT1_MONO+ATOM_S0_CRT1_COLOR)
5105 #define ATOM_S0_TV1_COMPOSITE_A 0x00000004L
5106 #define ATOM_S0_TV1_SVIDEO_A 0x00000008L
5107 #define ATOM_S0_TV1_MASK_A (ATOM_S0_TV1_COMPOSITE_A+ATOM_S0_TV1_SVIDEO_A)
5109 #define ATOM_S0_CV_A 0x00000010L
5110 #define ATOM_S0_CV_DIN_A 0x00000020L
5111 #define ATOM_S0_CV_MASK_A (ATOM_S0_CV_A+ATOM_S0_CV_DIN_A)
5114 #define ATOM_S0_CRT2_MONO 0x00000100L
5115 #define ATOM_S0_CRT2_COLOR 0x00000200L
5116 #define ATOM_S0_CRT2_MASK (ATOM_S0_CRT2_MONO+ATOM_S0_CRT2_COLOR)
5118 #define ATOM_S0_TV1_COMPOSITE 0x00000400L
5119 #define ATOM_S0_TV1_SVIDEO 0x00000800L
5120 #define ATOM_S0_TV1_SCART 0x00004000L
5121 #define ATOM_S0_TV1_MASK (ATOM_S0_TV1_COMPOSITE+ATOM_S0_TV1_SVIDEO+ATOM_S0_TV1_SCART)
5123 #define ATOM_S0_CV 0x00001000L
5124 #define ATOM_S0_CV_DIN 0x00002000L
5125 #define ATOM_S0_CV_MASK (ATOM_S0_CV+ATOM_S0_CV_DIN)
5127 #define ATOM_S0_DFP1 0x00010000L
5128 #define ATOM_S0_DFP2 0x00020000L
5129 #define ATOM_S0_LCD1 0x00040000L
5130 #define ATOM_S0_LCD2 0x00080000L
5131 #define ATOM_S0_DFP6 0x00100000L
5132 #define ATOM_S0_DFP3 0x00200000L
5133 #define ATOM_S0_DFP4 0x00400000L
5134 #define ATOM_S0_DFP5 0x00800000L
5136 #define ATOM_S0_DFP_MASK ATOM_S0_DFP1 | ATOM_S0_DFP2 | ATOM_S0_DFP3 | ATOM_S0_DFP4 | ATOM_S0_DFP5 | ATOM_S0_DFP6
5138 #define ATOM_S0_FAD_REGISTER_BUG 0x02000000L // If set, indicates we are running a PCIE asic with
5141 #define ATOM_S0_THERMAL_STATE_MASK 0x1C000000L
5142 #define ATOM_S0_THERMAL_STATE_SHIFT 26
5144 #define ATOM_S0_SYSTEM_POWER_STATE_MASK 0xE0000000L
5145 #define ATOM_S0_SYSTEM_POWER_STATE_SHIFT 29
5147 #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_AC 1
5148 #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_DC 2
5149 #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_LITEAC 3
5150 #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_LIT2AC 4
5153 #define ATOM_S0_CRT1_MONOb0 0x01
5154 #define ATOM_S0_CRT1_COLORb0 0x02
5155 #define ATOM_S0_CRT1_MASKb0 (ATOM_S0_CRT1_MONOb0+ATOM_S0_CRT1_COLORb0)
5157 #define ATOM_S0_TV1_COMPOSITEb0 0x04
5158 #define ATOM_S0_TV1_SVIDEOb0 0x08
5159 #define ATOM_S0_TV1_MASKb0 (ATOM_S0_TV1_COMPOSITEb0+ATOM_S0_TV1_SVIDEOb0)
5161 #define ATOM_S0_CVb0 0x10
5162 #define ATOM_S0_CV_DINb0 0x20
5163 #define ATOM_S0_CV_MASKb0 (ATOM_S0_CVb0+ATOM_S0_CV_DINb0)
5165 #define ATOM_S0_CRT2_MONOb1 0x01
5166 #define ATOM_S0_CRT2_COLORb1 0x02
5167 #define ATOM_S0_CRT2_MASKb1 (ATOM_S0_CRT2_MONOb1+ATOM_S0_CRT2_COLORb1)
5169 #define ATOM_S0_TV1_COMPOSITEb1 0x04
5170 #define ATOM_S0_TV1_SVIDEOb1 0x08
5171 #define ATOM_S0_TV1_SCARTb1 0x40
5172 #define ATOM_S0_TV1_MASKb1 (ATOM_S0_TV1_COMPOSITEb1+ATOM_S0_TV1_SVIDEOb1+ATOM_S0_TV1_SCARTb1)
5174 #define ATOM_S0_CVb1 0x10
5175 #define ATOM_S0_CV_DINb1 0x20
5176 #define ATOM_S0_CV_MASKb1 (ATOM_S0_CVb1+ATOM_S0_CV_DINb1)
5178 #define ATOM_S0_DFP1b2 0x01
5179 #define ATOM_S0_DFP2b2 0x02
5180 #define ATOM_S0_LCD1b2 0x04
5181 #define ATOM_S0_LCD2b2 0x08
5182 #define ATOM_S0_DFP6b2 0x10
5183 #define ATOM_S0_DFP3b2 0x20
5184 #define ATOM_S0_DFP4b2 0x40
5185 #define ATOM_S0_DFP5b2 0x80
5188 #define ATOM_S0_THERMAL_STATE_MASKb3 0x1C
5189 #define ATOM_S0_THERMAL_STATE_SHIFTb3 2
5191 #define ATOM_S0_SYSTEM_POWER_STATE_MASKb3 0xE0
5192 #define ATOM_S0_LCD1_SHIFT 18
5195 #define ATOM_S1_ROM_LOCATION_MASK 0x0000FFFFL
5196 #define ATOM_S1_PCI_BUS_DEV_MASK 0xFFFF0000L
5199 #define ATOM_S2_TV1_STANDARD_MASK 0x0000000FL
5200 #define ATOM_S2_CURRENT_BL_LEVEL_MASK 0x0000FF00L
5201 #define ATOM_S2_CURRENT_BL_LEVEL_SHIFT 8
5203 #define ATOM_S2_FORCEDLOWPWRMODE_STATE_MASK 0x0C000000L
5204 #define ATOM_S2_FORCEDLOWPWRMODE_STATE_MASK_SHIFT 26
5205 #define ATOM_S2_FORCEDLOWPWRMODE_STATE_CHANGE 0x10000000L
5207 #define ATOM_S2_DEVICE_DPMS_STATE 0x00010000L
5208 #define ATOM_S2_VRI_BRIGHT_ENABLE 0x20000000L
5210 #define ATOM_S2_DISPLAY_ROTATION_0_DEGREE 0x0
5211 #define ATOM_S2_DISPLAY_ROTATION_90_DEGREE 0x1
5212 #define ATOM_S2_DISPLAY_ROTATION_180_DEGREE 0x2
5213 #define ATOM_S2_DISPLAY_ROTATION_270_DEGREE 0x3
5214 #define ATOM_S2_DISPLAY_ROTATION_DEGREE_SHIFT 30
5215 #define ATOM_S2_DISPLAY_ROTATION_ANGLE_MASK 0xC0000000L
5219 #define ATOM_S2_TV1_STANDARD_MASKb0 0x0F
5220 #define ATOM_S2_CURRENT_BL_LEVEL_MASKb1 0xFF
5221 #define ATOM_S2_DEVICE_DPMS_STATEb2 0x01
5223 #define ATOM_S2_DEVICE_DPMS_MASKw1 0x3FF
5224 #define ATOM_S2_FORCEDLOWPWRMODE_STATE_MASKb3 0x0C
5225 #define ATOM_S2_FORCEDLOWPWRMODE_STATE_CHANGEb3 0x10
5226 #define ATOM_S2_TMDS_COHERENT_MODEb3 0x10 // used by VBIOS code only, use coherent mode for TMDS/HDMI mode
5227 #define ATOM_S2_VRI_BRIGHT_ENABLEb3 0x20
5228 #define ATOM_S2_ROTATION_STATE_MASKb3 0xC0
5232 #define ATOM_S3_CRT1_ACTIVE 0x00000001L
5233 #define ATOM_S3_LCD1_ACTIVE 0x00000002L
5234 #define ATOM_S3_TV1_ACTIVE 0x00000004L
5235 #define ATOM_S3_DFP1_ACTIVE 0x00000008L
5236 #define ATOM_S3_CRT2_ACTIVE 0x00000010L
5237 #define ATOM_S3_LCD2_ACTIVE 0x00000020L
5238 #define ATOM_S3_DFP6_ACTIVE 0x00000040L
5239 #define ATOM_S3_DFP2_ACTIVE 0x00000080L
5240 #define ATOM_S3_CV_ACTIVE 0x00000100L
5241 #define ATOM_S3_DFP3_ACTIVE 0x00000200L
5242 #define ATOM_S3_DFP4_ACTIVE 0x00000400L
5243 #define ATOM_S3_DFP5_ACTIVE 0x00000800L
5245 #define ATOM_S3_DEVICE_ACTIVE_MASK 0x00000FFFL
5247 #define ATOM_S3_LCD_FULLEXPANSION_ACTIVE 0x00001000L
5248 #define ATOM_S3_LCD_EXPANSION_ASPEC_RATIO_ACTIVE 0x00002000L
5250 #define ATOM_S3_CRT1_CRTC_ACTIVE 0x00010000L
5251 #define ATOM_S3_LCD1_CRTC_ACTIVE 0x00020000L
5252 #define ATOM_S3_TV1_CRTC_ACTIVE 0x00040000L
5253 #define ATOM_S3_DFP1_CRTC_ACTIVE 0x00080000L
5254 #define ATOM_S3_CRT2_CRTC_ACTIVE 0x00100000L
5255 #define ATOM_S3_LCD2_CRTC_ACTIVE 0x00200000L
5256 #define ATOM_S3_DFP6_CRTC_ACTIVE 0x00400000L
5257 #define ATOM_S3_DFP2_CRTC_ACTIVE 0x00800000L
5258 #define ATOM_S3_CV_CRTC_ACTIVE 0x01000000L
5259 #define ATOM_S3_DFP3_CRTC_ACTIVE 0x02000000L
5260 #define ATOM_S3_DFP4_CRTC_ACTIVE 0x04000000L
5261 #define ATOM_S3_DFP5_CRTC_ACTIVE 0x08000000L
5263 #define ATOM_S3_DEVICE_CRTC_ACTIVE_MASK 0x0FFF0000L
5264 #define ATOM_S3_ASIC_GUI_ENGINE_HUNG 0x20000000L
5266 #define ATOM_S3_ALLOW_FAST_PWR_SWITCH 0x40000000L
5267 #define ATOM_S3_RQST_GPU_USE_MIN_PWR 0x80000000L
5270 #define ATOM_S3_CRT1_ACTIVEb0 0x01
5271 #define ATOM_S3_LCD1_ACTIVEb0 0x02
5272 #define ATOM_S3_TV1_ACTIVEb0 0x04
5273 #define ATOM_S3_DFP1_ACTIVEb0 0x08
5274 #define ATOM_S3_CRT2_ACTIVEb0 0x10
5275 #define ATOM_S3_LCD2_ACTIVEb0 0x20
5276 #define ATOM_S3_DFP6_ACTIVEb0 0x40
5277 #define ATOM_S3_DFP2_ACTIVEb0 0x80
5278 #define ATOM_S3_CV_ACTIVEb1 0x01
5279 #define ATOM_S3_DFP3_ACTIVEb1 0x02
5280 #define ATOM_S3_DFP4_ACTIVEb1 0x04
5281 #define ATOM_S3_DFP5_ACTIVEb1 0x08
5283 #define ATOM_S3_ACTIVE_CRTC1w0 0xFFF
5285 #define ATOM_S3_CRT1_CRTC_ACTIVEb2 0x01
5286 #define ATOM_S3_LCD1_CRTC_ACTIVEb2 0x02
5287 #define ATOM_S3_TV1_CRTC_ACTIVEb2 0x04
5288 #define ATOM_S3_DFP1_CRTC_ACTIVEb2 0x08
5289 #define ATOM_S3_CRT2_CRTC_ACTIVEb2 0x10
5290 #define ATOM_S3_LCD2_CRTC_ACTIVEb2 0x20
5291 #define ATOM_S3_DFP6_CRTC_ACTIVEb2 0x40
5292 #define ATOM_S3_DFP2_CRTC_ACTIVEb2 0x80
5293 #define ATOM_S3_CV_CRTC_ACTIVEb3 0x01
5294 #define ATOM_S3_DFP3_CRTC_ACTIVEb3 0x02
5295 #define ATOM_S3_DFP4_CRTC_ACTIVEb3 0x04
5296 #define ATOM_S3_DFP5_CRTC_ACTIVEb3 0x08
5298 #define ATOM_S3_ACTIVE_CRTC2w1 0xFFF
5301 #define ATOM_S4_LCD1_PANEL_ID_MASK 0x000000FFL
5302 #define ATOM_S4_LCD1_REFRESH_MASK 0x0000FF00L
5303 #define ATOM_S4_LCD1_REFRESH_SHIFT 8
5306 #define ATOM_S4_LCD1_PANEL_ID_MASKb0 0x0FF
5307 #define ATOM_S4_LCD1_REFRESH_MASKb1 ATOM_S4_LCD1_PANEL_ID_MASKb0
5308 #define ATOM_S4_VRAM_INFO_MASKb2 ATOM_S4_LCD1_PANEL_ID_MASKb0
5311 #define ATOM_S5_DOS_REQ_CRT1b0 0x01
5312 #define ATOM_S5_DOS_REQ_LCD1b0 0x02
5313 #define ATOM_S5_DOS_REQ_TV1b0 0x04
5314 #define ATOM_S5_DOS_REQ_DFP1b0 0x08
5315 #define ATOM_S5_DOS_REQ_CRT2b0 0x10
5316 #define ATOM_S5_DOS_REQ_LCD2b0 0x20
5317 #define ATOM_S5_DOS_REQ_DFP6b0 0x40
5318 #define ATOM_S5_DOS_REQ_DFP2b0 0x80
5319 #define ATOM_S5_DOS_REQ_CVb1 0x01
5320 #define ATOM_S5_DOS_REQ_DFP3b1 0x02
5321 #define ATOM_S5_DOS_REQ_DFP4b1 0x04
5322 #define ATOM_S5_DOS_REQ_DFP5b1 0x08
5324 #define ATOM_S5_DOS_REQ_DEVICEw0 0x0FFF
5326 #define ATOM_S5_DOS_REQ_CRT1 0x0001
5327 #define ATOM_S5_DOS_REQ_LCD1 0x0002
5328 #define ATOM_S5_DOS_REQ_TV1 0x0004
5329 #define ATOM_S5_DOS_REQ_DFP1 0x0008
5330 #define ATOM_S5_DOS_REQ_CRT2 0x0010
5331 #define ATOM_S5_DOS_REQ_LCD2 0x0020
5332 #define ATOM_S5_DOS_REQ_DFP6 0x0040
5333 #define ATOM_S5_DOS_REQ_DFP2 0x0080
5334 #define ATOM_S5_DOS_REQ_CV 0x0100
5335 #define ATOM_S5_DOS_REQ_DFP3 0x0200
5336 #define ATOM_S5_DOS_REQ_DFP4 0x0400
5337 #define ATOM_S5_DOS_REQ_DFP5 0x0800
5339 #define ATOM_S5_DOS_FORCE_CRT1b2 ATOM_S5_DOS_REQ_CRT1b0
5340 #define ATOM_S5_DOS_FORCE_TV1b2 ATOM_S5_DOS_REQ_TV1b0
5341 #define ATOM_S5_DOS_FORCE_CRT2b2 ATOM_S5_DOS_REQ_CRT2b0
5342 #define ATOM_S5_DOS_FORCE_CVb3 ATOM_S5_DOS_REQ_CVb1
5343 #define ATOM_S5_DOS_FORCE_DEVICEw1 (ATOM_S5_DOS_FORCE_CRT1b2+ATOM_S5_DOS_FORCE_TV1b2+ATOM_S5_DOS_FORCE_CRT2b2+\
5344 (ATOM_S5_DOS_FORCE_CVb3<<8))
5347 #define ATOM_S6_DEVICE_CHANGE 0x00000001L
5348 #define ATOM_S6_SCALER_CHANGE 0x00000002L
5349 #define ATOM_S6_LID_CHANGE 0x00000004L
5350 #define ATOM_S6_DOCKING_CHANGE 0x00000008L
5351 #define ATOM_S6_ACC_MODE 0x00000010L
5352 #define ATOM_S6_EXT_DESKTOP_MODE 0x00000020L
5353 #define ATOM_S6_LID_STATE 0x00000040L
5354 #define ATOM_S6_DOCK_STATE 0x00000080L
5355 #define ATOM_S6_CRITICAL_STATE 0x00000100L
5356 #define ATOM_S6_HW_I2C_BUSY_STATE 0x00000200L
5357 #define ATOM_S6_THERMAL_STATE_CHANGE 0x00000400L
5358 #define ATOM_S6_INTERRUPT_SET_BY_BIOS 0x00000800L
5359 #define ATOM_S6_REQ_LCD_EXPANSION_FULL 0x00001000L //Normal expansion Request bit for LCD
5360 #define ATOM_S6_REQ_LCD_EXPANSION_ASPEC_RATIO 0x00002000L //Aspect ratio expansion Request bit for LCD
5362 #define ATOM_S6_DISPLAY_STATE_CHANGE 0x00004000L //This bit is recycled when ATOM_BIOS_INFO_BIOS_SCRATCH6_SCL2_REDEFINE is set,previously it's SCL2_H_expansion
5363 #define ATOM_S6_I2C_STATE_CHANGE 0x00008000L //This bit is recycled,when ATOM_BIOS_INFO_BIOS_SCRATCH6_SCL2_REDEFINE is set,previously it's SCL2_V_expansion
5365 #define ATOM_S6_ACC_REQ_CRT1 0x00010000L
5366 #define ATOM_S6_ACC_REQ_LCD1 0x00020000L
5367 #define ATOM_S6_ACC_REQ_TV1 0x00040000L
5368 #define ATOM_S6_ACC_REQ_DFP1 0x00080000L
5369 #define ATOM_S6_ACC_REQ_CRT2 0x00100000L
5370 #define ATOM_S6_ACC_REQ_LCD2 0x00200000L
5371 #define ATOM_S6_ACC_REQ_DFP6 0x00400000L
5372 #define ATOM_S6_ACC_REQ_DFP2 0x00800000L
5373 #define ATOM_S6_ACC_REQ_CV 0x01000000L
5374 #define ATOM_S6_ACC_REQ_DFP3 0x02000000L
5375 #define ATOM_S6_ACC_REQ_DFP4 0x04000000L
5376 #define ATOM_S6_ACC_REQ_DFP5 0x08000000L
5378 #define ATOM_S6_ACC_REQ_MASK 0x0FFF0000L
5379 #define ATOM_S6_SYSTEM_POWER_MODE_CHANGE 0x10000000L
5380 #define ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH 0x20000000L
5381 #define ATOM_S6_VRI_BRIGHTNESS_CHANGE 0x40000000L
5382 #define ATOM_S6_CONFIG_DISPLAY_CHANGE_MASK 0x80000000L
5385 #define ATOM_S6_DEVICE_CHANGEb0 0x01
5386 #define ATOM_S6_SCALER_CHANGEb0 0x02
5387 #define ATOM_S6_LID_CHANGEb0 0x04
5388 #define ATOM_S6_DOCKING_CHANGEb0 0x08
5389 #define ATOM_S6_ACC_MODEb0 0x10
5390 #define ATOM_S6_EXT_DESKTOP_MODEb0 0x20
5391 #define ATOM_S6_LID_STATEb0 0x40
5392 #define ATOM_S6_DOCK_STATEb0 0x80
5393 #define ATOM_S6_CRITICAL_STATEb1 0x01
5394 #define ATOM_S6_HW_I2C_BUSY_STATEb1 0x02
5395 #define ATOM_S6_THERMAL_STATE_CHANGEb1 0x04
5396 #define ATOM_S6_INTERRUPT_SET_BY_BIOSb1 0x08
5397 #define ATOM_S6_REQ_LCD_EXPANSION_FULLb1 0x10
5398 #define ATOM_S6_REQ_LCD_EXPANSION_ASPEC_RATIOb1 0x20
5400 #define ATOM_S6_ACC_REQ_CRT1b2 0x01
5401 #define ATOM_S6_ACC_REQ_LCD1b2 0x02
5402 #define ATOM_S6_ACC_REQ_TV1b2 0x04
5403 #define ATOM_S6_ACC_REQ_DFP1b2 0x08
5404 #define ATOM_S6_ACC_REQ_CRT2b2 0x10
5405 #define ATOM_S6_ACC_REQ_LCD2b2 0x20
5406 #define ATOM_S6_ACC_REQ_DFP6b2 0x40
5407 #define ATOM_S6_ACC_REQ_DFP2b2 0x80
5408 #define ATOM_S6_ACC_REQ_CVb3 0x01
5409 #define ATOM_S6_ACC_REQ_DFP3b3 0x02
5410 #define ATOM_S6_ACC_REQ_DFP4b3 0x04
5411 #define ATOM_S6_ACC_REQ_DFP5b3 0x08
5413 #define ATOM_S6_ACC_REQ_DEVICEw1 ATOM_S5_DOS_REQ_DEVICEw0
5414 #define ATOM_S6_SYSTEM_POWER_MODE_CHANGEb3 0x10
5415 #define ATOM_S6_ACC_BLOCK_DISPLAY_SWITCHb3 0x20
5416 #define ATOM_S6_VRI_BRIGHTNESS_CHANGEb3 0x40
5417 #define ATOM_S6_CONFIG_DISPLAY_CHANGEb3 0x80
5419 #define ATOM_S6_DEVICE_CHANGE_SHIFT 0
5420 #define ATOM_S6_SCALER_CHANGE_SHIFT 1
5421 #define ATOM_S6_LID_CHANGE_SHIFT 2
5422 #define ATOM_S6_DOCKING_CHANGE_SHIFT 3
5423 #define ATOM_S6_ACC_MODE_SHIFT 4
5424 #define ATOM_S6_EXT_DESKTOP_MODE_SHIFT 5
5425 #define ATOM_S6_LID_STATE_SHIFT 6
5426 #define ATOM_S6_DOCK_STATE_SHIFT 7
5427 #define ATOM_S6_CRITICAL_STATE_SHIFT 8
5428 #define ATOM_S6_HW_I2C_BUSY_STATE_SHIFT 9
5429 #define ATOM_S6_THERMAL_STATE_CHANGE_SHIFT 10
5430 #define ATOM_S6_INTERRUPT_SET_BY_BIOS_SHIFT 11
5431 #define ATOM_S6_REQ_SCALER_SHIFT 12
5432 #define ATOM_S6_REQ_SCALER_ARATIO_SHIFT 13
5433 #define ATOM_S6_DISPLAY_STATE_CHANGE_SHIFT 14
5434 #define ATOM_S6_I2C_STATE_CHANGE_SHIFT 15
5435 #define ATOM_S6_SYSTEM_POWER_MODE_CHANGE_SHIFT 28
5436 #define ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH_SHIFT 29
5437 #define ATOM_S6_VRI_BRIGHTNESS_CHANGE_SHIFT 30
5438 #define ATOM_S6_CONFIG_DISPLAY_CHANGE_SHIFT 31
5441 #define ATOM_S7_DOS_MODE_TYPEb0 0x03
5442 #define ATOM_S7_DOS_MODE_VGAb0 0x00
5443 #define ATOM_S7_DOS_MODE_VESAb0 0x01
5444 #define ATOM_S7_DOS_MODE_EXTb0 0x02
5445 #define ATOM_S7_DOS_MODE_PIXEL_DEPTHb0 0x0C
5446 #define ATOM_S7_DOS_MODE_PIXEL_FORMATb0 0xF0
5447 #define ATOM_S7_DOS_8BIT_DAC_ENb1 0x01
5448 #define ATOM_S7_DOS_MODE_NUMBERw1 0x0FFFF
5450 #define ATOM_S7_DOS_8BIT_DAC_EN_SHIFT 8
5453 #define ATOM_S8_I2C_CHANNEL_BUSY_MASK 0x00000FFFF
5454 #define ATOM_S8_I2C_HW_ENGINE_BUSY_MASK 0x0FFFF0000
5456 #define ATOM_S8_I2C_CHANNEL_BUSY_SHIFT 0
5457 #define ATOM_S8_I2C_ENGINE_BUSY_SHIFT 16
5460 #ifndef ATOM_S9_I2C_CHANNEL_COMPLETED_MASK
5461 #define ATOM_S9_I2C_CHANNEL_COMPLETED_MASK 0x0000FFFF
5463 #ifndef ATOM_S9_I2C_CHANNEL_ABORTED_MASK
5464 #define ATOM_S9_I2C_CHANNEL_ABORTED_MASK 0xFFFF0000
5466 #ifndef ATOM_S9_I2C_CHANNEL_COMPLETED_SHIFT
5467 #define ATOM_S9_I2C_CHANNEL_COMPLETED_SHIFT 0
5469 #ifndef ATOM_S9_I2C_CHANNEL_ABORTED_SHIFT
5470 #define ATOM_S9_I2C_CHANNEL_ABORTED_SHIFT 16
5474 #define ATOM_FLAG_SET 0x20
5475 #define ATOM_FLAG_CLEAR 0
5476 #define CLEAR_ATOM_S6_ACC_MODE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_ACC_MODE_SHIFT | ATOM_FLAG_CLEAR)
5477 #define SET_ATOM_S6_DEVICE_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_DEVICE_CHANGE_SHIFT | ATOM_FLAG_SET)
5478 #define SET_ATOM_S6_VRI_BRIGHTNESS_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_VRI_BRIGHTNESS_CHANGE_SHIFT | ATOM_FLAG_SET)
5479 #define SET_ATOM_S6_SCALER_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_SCALER_CHANGE_SHIFT | ATOM_FLAG_SET)
5480 #define SET_ATOM_S6_LID_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_LID_CHANGE_SHIFT | ATOM_FLAG_SET)
5482 #define SET_ATOM_S6_LID_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_LID_STATE_SHIFT | ATOM_FLAG_SET)
5483 #define CLEAR_ATOM_S6_LID_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_LID_STATE_SHIFT | ATOM_FLAG_CLEAR)
5485 #define SET_ATOM_S6_DOCK_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_DOCKING_CHANGE_SHIFT | ATOM_FLAG_SET)
5486 #define SET_ATOM_S6_DOCK_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_DOCK_STATE_SHIFT | ATOM_FLAG_SET)
5487 #define CLEAR_ATOM_S6_DOCK_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_DOCK_STATE_SHIFT | ATOM_FLAG_CLEAR)
5489 #define SET_ATOM_S6_THERMAL_STATE_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_THERMAL_STATE_CHANGE_SHIFT | ATOM_FLAG_SET)
5490 #define SET_ATOM_S6_SYSTEM_POWER_MODE_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_SYSTEM_POWER_MODE_CHANGE_SHIFT | ATOM_FLAG_SET)
5491 #define SET_ATOM_S6_INTERRUPT_SET_BY_BIOS ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_INTERRUPT_SET_BY_BIOS_SHIFT | ATOM_FLAG_SET)
5493 #define SET_ATOM_S6_CRITICAL_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_CRITICAL_STATE_SHIFT | ATOM_FLAG_SET)
5494 #define CLEAR_ATOM_S6_CRITICAL_STATE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_CRITICAL_STATE_SHIFT | ATOM_FLAG_CLEAR)
5496 #define SET_ATOM_S6_REQ_SCALER ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_REQ_SCALER_SHIFT | ATOM_FLAG_SET)
5497 #define CLEAR_ATOM_S6_REQ_SCALER ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_REQ_SCALER_SHIFT | ATOM_FLAG_CLEAR )
5499 #define SET_ATOM_S6_REQ_SCALER_ARATIO ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_REQ_SCALER_ARATIO_SHIFT | ATOM_FLAG_SET )
5500 #define CLEAR_ATOM_S6_REQ_SCALER_ARATIO ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_REQ_SCALER_ARATIO_SHIFT | ATOM_FLAG_CLEAR )
5502 #define SET_ATOM_S6_I2C_STATE_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_I2C_STATE_CHANGE_SHIFT | ATOM_FLAG_SET )
5504 #define SET_ATOM_S6_DISPLAY_STATE_CHANGE ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_DISPLAY_STATE_CHANGE_SHIFT | ATOM_FLAG_SET )
5506 #define SET_ATOM_S6_DEVICE_RECONFIG ((ATOM_ACC_CHANGE_INFO_DEF << 8 )|ATOM_S6_CONFIG_DISPLAY_CHANGE_SHIFT | ATOM_FLAG_SET)
5507 #define CLEAR_ATOM_S0_LCD1 ((ATOM_DEVICE_CONNECT_INFO_DEF << 8 )| ATOM_S0_LCD1_SHIFT | ATOM_FLAG_CLEAR )
5508 #define SET_ATOM_S7_DOS_8BIT_DAC_EN ((ATOM_DOS_MODE_INFO_DEF << 8 )|ATOM_S7_DOS_8BIT_DAC_EN_SHIFT | ATOM_FLAG_SET )
5509 #define CLEAR_ATOM_S7_DOS_8BIT_DAC_EN ((ATOM_DOS_MODE_INFO_DEF << 8 )|ATOM_S7_DOS_8BIT_DAC_EN_SHIFT | ATOM_FLAG_CLEAR )
5517 #define GetIndexIntoMasterTable(MasterOrData, FieldName) ((reinterpret_cast<char*>(&(static_cast<ATOM_MASTER_LIST_OF_##MasterOrData##_TABLES*>(0))->FieldName)-static_cast<char*>(0))/sizeof(USHORT))
5519 #define GET_COMMAND_TABLE_COMMANDSET_REVISION(TABLE_HEADER_OFFSET) (((static_cast<ATOM_COMMON_TABLE_HEADER*>(TABLE_HEADER_OFFSET))->ucTableFormatRevision )&0x3F)
5520 #define GET_COMMAND_TABLE_PARAMETER_REVISION(TABLE_HEADER_OFFSET) (((static_cast<ATOM_COMMON_TABLE_HEADER*>(TABLE_HEADER_OFFSET))->ucTableContentRevision)&0x3F)
5521 #else // not __cplusplus
5522 #define GetIndexIntoMasterTable(MasterOrData, FieldName) (((char*)(&((ATOM_MASTER_LIST_OF_##MasterOrData##_TABLES*)0)->FieldName)-(char*)0)/sizeof(USHORT))
5524 #define GET_COMMAND_TABLE_COMMANDSET_REVISION(TABLE_HEADER_OFFSET) ((((ATOM_COMMON_TABLE_HEADER*)TABLE_HEADER_OFFSET)->ucTableFormatRevision)&0x3F)
5525 #define GET_COMMAND_TABLE_PARAMETER_REVISION(TABLE_HEADER_OFFSET) ((((ATOM_COMMON_TABLE_HEADER*)TABLE_HEADER_OFFSET)->ucTableContentRevision)&0x3F)
5526 #endif // __cplusplus
5528 #define GET_DATA_TABLE_MAJOR_REVISION GET_COMMAND_TABLE_COMMANDSET_REVISION
5529 #define GET_DATA_TABLE_MINOR_REVISION GET_COMMAND_TABLE_PARAMETER_REVISION
5534 #define ATOM_DAC_SRC 0x80
5535 #define ATOM_SRC_DAC1 0
5536 #define ATOM_SRC_DAC2 0x80
5547 #define MEMORY_PLLINIT_PS_ALLOCATION MEMORY_PLLINIT_PARAMETERS
5550 #define GPIO_PIN_WRITE 0x01
5551 #define GPIO_PIN_READ 0x00
5568 #define ENABLE_SCALER_PS_ALLOCATION ENABLE_SCALER_PARAMETERS
5571 #define SCALER_BYPASS_AUTO_CENTER_NO_REPLICATION 0
5572 #define SCALER_BYPASS_AUTO_CENTER_AUTO_REPLICATION 1
5573 #define SCALER_ENABLE_2TAP_ALPHA_MODE 2
5574 #define SCALER_ENABLE_MULTITAP_MODE 3
5631 #define ATOM_GRAPH_CONTROL_SET_PITCH 0x0f
5632 #define ATOM_GRAPH_CONTROL_SET_DISP_START 0x10
5645 #define MEMORY_CLEAN_UP_PS_ALLOCATION MEMORY_CLEAN_UP_PARAMETERS
5675 #define PALETTE_DATA_AUTO_FILL 1
5676 #define PALETTE_DATA_READ 2
5677 #define PALETTE_DATA_WRITE 3
5689 #define HDP1_INTERRUPT_ID 1
5690 #define HDP2_INTERRUPT_ID 2
5691 #define HDP3_INTERRUPT_ID 3
5692 #define HDP4_INTERRUPT_ID 4
5693 #define HDP5_INTERRUPT_ID 5
5694 #define HDP6_INTERRUPT_ID 6
5695 #define SW_INTERRUPT_ID 11
5698 #define INTERRUPT_SERVICE_GEN_SW_INT 1
5699 #define INTERRUPT_SERVICE_GET_STATUS 2
5702 #define INTERRUPT_STATUS__INT_TRIGGER 1
5703 #define INTERRUPT_STATUS__HPD_HIGH 2
5711 #define INDIRECT_READ 0x00
5712 #define INDIRECT_WRITE 0x80
5714 #define INDIRECT_IO_MM 0
5715 #define INDIRECT_IO_PLL 1
5716 #define INDIRECT_IO_MC 2
5717 #define INDIRECT_IO_PCIE 3
5718 #define INDIRECT_IO_PCIEP 4
5719 #define INDIRECT_IO_NBMISC 5
5721 #define INDIRECT_IO_PLL_READ INDIRECT_IO_PLL | INDIRECT_READ
5722 #define INDIRECT_IO_PLL_WRITE INDIRECT_IO_PLL | INDIRECT_WRITE
5723 #define INDIRECT_IO_MC_READ INDIRECT_IO_MC | INDIRECT_READ
5724 #define INDIRECT_IO_MC_WRITE INDIRECT_IO_MC | INDIRECT_WRITE
5725 #define INDIRECT_IO_PCIE_READ INDIRECT_IO_PCIE | INDIRECT_READ
5726 #define INDIRECT_IO_PCIE_WRITE INDIRECT_IO_PCIE | INDIRECT_WRITE
5727 #define INDIRECT_IO_PCIEP_READ INDIRECT_IO_PCIEP | INDIRECT_READ
5728 #define INDIRECT_IO_PCIEP_WRITE INDIRECT_IO_PCIEP | INDIRECT_WRITE
5729 #define INDIRECT_IO_NBMISC_READ INDIRECT_IO_NBMISC | INDIRECT_READ
5730 #define INDIRECT_IO_NBMISC_WRITE INDIRECT_IO_NBMISC | INDIRECT_WRITE
5835 #define END_OF_REG_INDEX_BLOCK 0x0ffff
5836 #define END_OF_REG_DATA_BLOCK 0x00000000
5837 #define ATOM_INIT_REG_MASK_FLAG 0x80 //Not used in BIOS
5838 #define CLOCK_RANGE_HIGHEST 0x00ffffff
5840 #define VALUE_DWORD SIZEOF ULONG
5841 #define VALUE_SAME_AS_ABOVE 0
5842 #define VALUE_MASK_DWORD 0x84
5844 #define INDEX_ACCESS_RANGE_BEGIN (VALUE_DWORD + 1)
5845 #define INDEX_ACCESS_RANGE_END (INDEX_ACCESS_RANGE_BEGIN + 1)
5846 #define VALUE_INDEX_ACCESS_SINGLE (INDEX_ACCESS_RANGE_END + 1)
5848 #define ACCESS_PLACEHOLDER 0x80
5867 #define _16Mx16 0x22
5868 #define _16Mx32 0x23
5869 #define _32Mx16 0x32
5870 #define _32Mx32 0x33
5872 #define _64Mx16 0x42
5873 #define _64Mx32 0x43
5874 #define _128Mx8 0x51
5875 #define _128Mx16 0x52
5876 #define _256Mx8 0x61
5877 #define _256Mx16 0x62
5880 #define INFINEON 0x2
5890 #define QIMONDA INFINEON
5891 #define PROMOS MOSEL
5892 #define KRETON INFINEON
5893 #define ELIXIR NANYA
5897 #define UCODE_ROM_START_ADDRESS 0x1b800
5898 #define UCODE_SIGNATURE 0x4375434d // 'MCuC' - MC uCode
5917 #define ATOM_MAX_NUMBER_OF_VRAM_MODULE 16
5919 #define ATOM_VRAM_MODULE_MEMORY_VENDOR_ID_MASK 0xF
6119 #define NPL_RT_MASK 0x0f
6120 #define BATTERY_ODT_MASK 0xc0
6122 #define ATOM_VRAM_MODULE ATOM_VRAM_MODULE_V3
6160 #define VRAM_MODULE_V4_MISC_RANK_MASK 0x3
6161 #define VRAM_MODULE_V4_MISC_DUAL_RANK 0x1
6162 #define VRAM_MODULE_V4_MISC_BL_MASK 0x4
6163 #define VRAM_MODULE_V4_MISC_BL8 0x4
6164 #define VRAM_MODULE_V4_MISC_DUAL_CS 0x10
6278 #define ATOM_VRAM_INFO_LAST ATOM_VRAM_INFO_V3
6334 #define SW_I2C_CNTL_DATA_PS_ALLOCATION SW_I2C_CNTL_DATA_PARAMETERS
6343 #define SW_I2C_IO_DATA_PS_ALLOCATION SW_I2C_IO_DATA_PARAMETERS
6346 #define SW_I2C_IO_RESET 0
6347 #define SW_I2C_IO_GET 1
6348 #define SW_I2C_IO_DRIVE 2
6349 #define SW_I2C_IO_SET 3
6350 #define SW_I2C_IO_START 4
6352 #define SW_I2C_IO_CLOCK 0
6353 #define SW_I2C_IO_DATA 0x80
6355 #define SW_I2C_IO_ZERO 0
6356 #define SW_I2C_IO_ONE 0x100
6358 #define SW_I2C_CNTL_READ 0
6359 #define SW_I2C_CNTL_WRITE 1
6360 #define SW_I2C_CNTL_START 2
6361 #define SW_I2C_CNTL_STOP 3
6362 #define SW_I2C_CNTL_OPEN 4
6363 #define SW_I2C_CNTL_CLOSE 5
6364 #define SW_I2C_CNTL_WRITE1BIT 6
6367 #define VESA_OEM_PRODUCT_REV "01.00"
6368 #define VESA_MODE_ATTRIBUTE_MODE_SUPPORT 0xBB //refer to VBE spec p.32, no TTY support
6369 #define VESA_MODE_WIN_ATTRIBUTE 7
6370 #define VESA_WIN_SIZE 64
6490 #define ATOM_BIOS_EXTENDED_FUNCTION_CODE 0xA0 // ATI Extended Function code
6491 #define ATOM_BIOS_FUNCTION_COP_MODE 0x00
6492 #define ATOM_BIOS_FUNCTION_SHORT_QUERY1 0x04
6493 #define ATOM_BIOS_FUNCTION_SHORT_QUERY2 0x05
6494 #define ATOM_BIOS_FUNCTION_SHORT_QUERY3 0x06
6495 #define ATOM_BIOS_FUNCTION_GET_DDC 0x0B
6496 #define ATOM_BIOS_FUNCTION_ASIC_DSTATE 0x0E
6497 #define ATOM_BIOS_FUNCTION_DEBUG_PLAY 0x0F
6498 #define ATOM_BIOS_FUNCTION_STV_STD 0x16
6499 #define ATOM_BIOS_FUNCTION_DEVICE_DET 0x17
6500 #define ATOM_BIOS_FUNCTION_DEVICE_SWITCH 0x18
6502 #define ATOM_BIOS_FUNCTION_PANEL_CONTROL 0x82
6503 #define ATOM_BIOS_FUNCTION_OLD_DEVICE_DET 0x83
6504 #define ATOM_BIOS_FUNCTION_OLD_DEVICE_SWITCH 0x84
6505 #define ATOM_BIOS_FUNCTION_HW_ICON 0x8A
6506 #define ATOM_BIOS_FUNCTION_SET_CMOS 0x8B
6507 #define SUB_FUNCTION_UPDATE_DISPLAY_INFO 0x8000 // Sub function 80
6508 #define SUB_FUNCTION_UPDATE_EXPANSION_INFO 0x8100 // Sub function 80
6510 #define ATOM_BIOS_FUNCTION_DISPLAY_INFO 0x8D
6511 #define ATOM_BIOS_FUNCTION_DEVICE_ON_OFF 0x8E
6512 #define ATOM_BIOS_FUNCTION_VIDEO_STATE 0x8F
6513 #define ATOM_SUB_FUNCTION_GET_CRITICAL_STATE 0x0300 // Sub function 03
6514 #define ATOM_SUB_FUNCTION_GET_LIDSTATE 0x0700 // Sub function 7
6515 #define ATOM_SUB_FUNCTION_THERMAL_STATE_NOTICE 0x1400 // Notify caller the current thermal state
6516 #define ATOM_SUB_FUNCTION_CRITICAL_STATE_NOTICE 0x8300 // Notify caller the current critical state
6517 #define ATOM_SUB_FUNCTION_SET_LIDSTATE 0x8500 // Sub function 85
6518 #define ATOM_SUB_FUNCTION_GET_REQ_DISPLAY_FROM_SBIOS_MODE 0x8900// Sub function 89
6519 #define ATOM_SUB_FUNCTION_INFORM_ADC_SUPPORT 0x9400 // Notify caller that ADC is supported
6522 #define ATOM_BIOS_FUNCTION_VESA_DPMS 0x4F10 // Set DPMS
6523 #define ATOM_SUB_FUNCTION_SET_DPMS 0x0001 // BL: Sub function 01
6524 #define ATOM_SUB_FUNCTION_GET_DPMS 0x0002 // BL: Sub function 02
6525 #define ATOM_PARAMETER_VESA_DPMS_ON 0x0000 // BH Parameter for DPMS ON.
6526 #define ATOM_PARAMETER_VESA_DPMS_STANDBY 0x0100 // BH Parameter for DPMS STANDBY
6527 #define ATOM_PARAMETER_VESA_DPMS_SUSPEND 0x0200 // BH Parameter for DPMS SUSPEND
6528 #define ATOM_PARAMETER_VESA_DPMS_OFF 0x0400 // BH Parameter for DPMS OFF
6529 #define ATOM_PARAMETER_VESA_DPMS_REDUCE_ON 0x0800 // BH Parameter for DPMS REDUCE ON (NOT SUPPORTED)
6531 #define ATOM_BIOS_RETURN_CODE_MASK 0x0000FF00L
6532 #define ATOM_BIOS_REG_HIGH_MASK 0x0000FF00L
6533 #define ATOM_BIOS_REG_LOW_MASK 0x000000FFL
6550 #define ASIC_TRANSMITTER_INFO_CONFIG__DVO_SDR_MODE 0x01
6551 #define ASIC_TRANSMITTER_INFO_CONFIG__COHERENT_MODE 0x02
6552 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODEROBJ_ID_MASK 0xc4
6553 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_A 0x00
6554 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_B 0x04
6555 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_C 0x40
6556 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_D 0x44
6557 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_E 0x80
6558 #define ASIC_TRANSMITTER_INFO_CONFIG__ENCODER_F 0x84
6593 #define CLOCK_SOURCE_SHAREABLE 0x01
6594 #define CLOCK_SOURCE_DP_MODE 0x02
6595 #define CLOCK_SOURCE_NONE_DP_MODE 0x04
6669 #define PROCESS_AUX_CHANNEL_TRANSACTION_PS_ALLOCATION PROCESS_AUX_CHANNEL_TRANSACTION_PARAMETERS
6688 #define ATOM_DP_ACTION_GET_SINK_TYPE 0x01
6690 #define ATOM_DP_ACTION_TRAINING_START 0x02
6691 #define ATOM_DP_ACTION_TRAINING_COMPLETE 0x03
6692 #define ATOM_DP_ACTION_TRAINING_PATTERN_SEL 0x04
6693 #define ATOM_DP_ACTION_SET_VSWING_PREEMP 0x05
6694 #define ATOM_DP_ACTION_GET_VSWING_PREEMP 0x06
6695 #define ATOM_DP_ACTION_BLANKING 0x07
6698 #define ATOM_DP_CONFIG_ENCODER_SEL_MASK 0x03
6699 #define ATOM_DP_CONFIG_DIG1_ENCODER 0x00
6700 #define ATOM_DP_CONFIG_DIG2_ENCODER 0x01
6701 #define ATOM_DP_CONFIG_EXTERNAL_ENCODER 0x02
6702 #define ATOM_DP_CONFIG_LINK_SEL_MASK 0x04
6703 #define ATOM_DP_CONFIG_LINK_A 0x00
6704 #define ATOM_DP_CONFIG_LINK_B 0x04
6706 #define DP_ENCODER_SERVICE_PS_ALLOCATION WRITE_ONE_BYTE_HW_I2C_DATA_PARAMETERS
6726 #define DP_SERVICE_V2_ACTION_GET_SINK_TYPE 0x01
6727 #define DP_SERVICE_V2_ACTION_DET_LCD_CONNECTION 0x02
6731 #define DPCD_SET_LINKRATE_LANENUM_PATTERN1_TBL_ADDR ATOM_DP_TRAINING_TBL_ADDR
6732 #define DPCD_SET_SS_CNTL_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 8 )
6733 #define DPCD_SET_LANE_VSWING_PREEMP_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 16 )
6734 #define DPCD_SET_TRAINING_PATTERN0_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 24 )
6735 #define DPCD_SET_TRAINING_PATTERN2_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 32)
6736 #define DPCD_GET_LINKRATE_LANENUM_SS_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 40)
6737 #define DPCD_GET_LANE_STATUS_ADJUST_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 48)
6738 #define DP_I2C_AUX_DDC_WRITE_START_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 60)
6739 #define DP_I2C_AUX_DDC_WRITE_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 64)
6740 #define DP_I2C_AUX_DDC_READ_START_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 72)
6741 #define DP_I2C_AUX_DDC_READ_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 76)
6742 #define DP_I2C_AUX_DDC_WRITE_END_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 80)
6743 #define DP_I2C_AUX_DDC_READ_END_TBL_ADDR (ATOM_DP_TRAINING_TBL_ADDR + 84)
6760 #define PROCESS_I2C_CHANNEL_TRANSACTION_PS_ALLOCATION PROCESS_I2C_CHANNEL_TRANSACTION_PARAMETERS
6763 #define HW_I2C_WRITE 1
6764 #define HW_I2C_READ 0
6765 #define I2C_2BYTE_ADDR 0x02
6785 #define ATOM_GET_SDI_SUPPORT 0xF0
6788 #define ATOM_UNKNOWN_CMD 0
6789 #define ATOM_FEATURE_NOT_SUPPORTED 1
6790 #define ATOM_FEATURE_SUPPORTED 2
6806 #define HWBLKINST_INSTANCE_MASK 0x07
6807 #define HWBLKINST_HWBLK_MASK 0xF0
6808 #define HWBLKINST_HWBLK_SHIFT 0x04
6811 #define SELECT_DISP_ENGINE 0
6812 #define SELECT_DISP_PLL 1
6813 #define SELECT_DCIO_UNIPHY_LINK0 2
6814 #define SELECT_DCIO_UNIPHY_LINK1 3
6815 #define SELECT_DCIO_IMPCAL 4
6816 #define SELECT_DCIO_DIG 6
6817 #define SELECT_CRTC_PIXEL_RATE 7
6818 #define SELECT_VGA_BLK 8
6870 #define MC_MISC0__MEMORY_TYPE_MASK 0xF0000000
6871 #define MC_MISC0__MEMORY_TYPE__GDDR1 0x10000000
6872 #define MC_MISC0__MEMORY_TYPE__DDR2 0x20000000
6873 #define MC_MISC0__MEMORY_TYPE__GDDR3 0x30000000
6874 #define MC_MISC0__MEMORY_TYPE__GDDR4 0x40000000
6875 #define MC_MISC0__MEMORY_TYPE__GDDR5 0x50000000
6876 #define MC_MISC0__MEMORY_TYPE__DDR3 0xB0000000
6976 #define NO_INT_SRC_MAPPED 0xFF
6999 #define ATOM_SUPPORTED_DEVICES_INFO_LAST ATOM_SUPPORTED_DEVICES_INFO_2d1
7013 #define ATOM_MAX_MISC_INFO 4
7058 #define ATOM_XTMDS_ASIC_SI164_ID 1
7059 #define ATOM_XTMDS_ASIC_SI178_ID 2
7060 #define ATOM_XTMDS_ASIC_TFP513_ID 3
7061 #define ATOM_XTMDS_SUPPORTED_SINGLELINK 0x00000001
7062 #define ATOM_XTMDS_SUPPORTED_DUALLINK 0x00000002
7063 #define ATOM_XTMDS_MVPU_FPGA 0x00000004
7089 #define ATOM_PM_MISCINFO_SPLIT_CLOCK 0x00000000L
7090 #define ATOM_PM_MISCINFO_USING_MCLK_SRC 0x00000001L
7091 #define ATOM_PM_MISCINFO_USING_SCLK_SRC 0x00000002L
7093 #define ATOM_PM_MISCINFO_VOLTAGE_DROP_SUPPORT 0x00000004L
7094 #define ATOM_PM_MISCINFO_VOLTAGE_DROP_ACTIVE_HIGH 0x00000008L
7096 #define ATOM_PM_MISCINFO_LOAD_PERFORMANCE_EN 0x00000010L
7098 #define ATOM_PM_MISCINFO_ENGINE_CLOCK_CONTRL_EN 0x00000020L
7099 #define ATOM_PM_MISCINFO_MEMORY_CLOCK_CONTRL_EN 0x00000040L
7100 #define ATOM_PM_MISCINFO_PROGRAM_VOLTAGE 0x00000080L //When this bit set, ucVoltageDropIndex is not an index for GPIO pin, but a voltage ID that SW needs program
7102 #define ATOM_PM_MISCINFO_ASIC_REDUCED_SPEED_SCLK_EN 0x00000100L
7103 #define ATOM_PM_MISCINFO_ASIC_DYNAMIC_VOLTAGE_EN 0x00000200L
7104 #define ATOM_PM_MISCINFO_ASIC_SLEEP_MODE_EN 0x00000400L
7105 #define ATOM_PM_MISCINFO_LOAD_BALANCE_EN 0x00000800L
7106 #define ATOM_PM_MISCINFO_DEFAULT_DC_STATE_ENTRY_TRUE 0x00001000L
7107 #define ATOM_PM_MISCINFO_DEFAULT_LOW_DC_STATE_ENTRY_TRUE 0x00002000L
7108 #define ATOM_PM_MISCINFO_LOW_LCD_REFRESH_RATE 0x00004000L
7110 #define ATOM_PM_MISCINFO_DRIVER_DEFAULT_MODE 0x00008000L
7111 #define ATOM_PM_MISCINFO_OVER_CLOCK_MODE 0x00010000L
7112 #define ATOM_PM_MISCINFO_OVER_DRIVE_MODE 0x00020000L
7113 #define ATOM_PM_MISCINFO_POWER_SAVING_MODE 0x00040000L
7114 #define ATOM_PM_MISCINFO_THERMAL_DIODE_MODE 0x00080000L
7116 #define ATOM_PM_MISCINFO_FRAME_MODULATION_MASK 0x00300000L //0-FM Disable, 1-2 level FM, 2-4 level FM, 3-Reserved
7117 #define ATOM_PM_MISCINFO_FRAME_MODULATION_SHIFT 20
7119 #define ATOM_PM_MISCINFO_DYN_CLK_3D_IDLE 0x00400000L
7120 #define ATOM_PM_MISCINFO_DYNAMIC_CLOCK_DIVIDER_BY_2 0x00800000L
7121 #define ATOM_PM_MISCINFO_DYNAMIC_CLOCK_DIVIDER_BY_4 0x01000000L
7122 #define ATOM_PM_MISCINFO_DYNAMIC_HDP_BLOCK_EN 0x02000000L //When set, Dynamic
7123 #define ATOM_PM_MISCINFO_DYNAMIC_MC_HOST_BLOCK_EN 0x04000000L //When set, Dynamic
7124 #define ATOM_PM_MISCINFO_3D_ACCELERATION_EN 0x08000000L //When set, This mode is for acceleated 3D mode
7126 #define ATOM_PM_MISCINFO_POWERPLAY_SETTINGS_GROUP_MASK 0x70000000L //1-Optimal Battery Life Group, 2-High Battery, 3-Balanced, 4-High Performance, 5- Optimal Performance (Default state with Default clocks)
7127 #define ATOM_PM_MISCINFO_POWERPLAY_SETTINGS_GROUP_SHIFT 28
7128 #define ATOM_PM_MISCINFO_ENABLE_BACK_BIAS 0x80000000L
7130 #define ATOM_PM_MISCINFO2_SYSTEM_AC_LITE_MODE 0x00000001L
7131 #define ATOM_PM_MISCINFO2_MULTI_DISPLAY_SUPPORT 0x00000002L
7132 #define ATOM_PM_MISCINFO2_DYNAMIC_BACK_BIAS_EN 0x00000004L
7133 #define ATOM_PM_MISCINFO2_FS3D_OVERDRIVE_INFO 0x00000008L
7134 #define ATOM_PM_MISCINFO2_FORCEDLOWPWR_MODE 0x00000010L
7135 #define ATOM_PM_MISCINFO2_VDDCI_DYNAMIC_VOLTAGE_EN 0x00000020L
7136 #define ATOM_PM_MISCINFO2_VIDEO_PLAYBACK_CAPABLE 0x00000040L //If this bit is set in multi-pp mode, then driver will pack up one with the minior power consumption.
7138 #define ATOM_PM_MISCINFO2_NOT_VALID_ON_DC 0x00000080L
7139 #define ATOM_PM_MISCINFO2_STUTTER_MODE_EN 0x00000100L
7140 #define ATOM_PM_MISCINFO2_UVD_SUPPORT_MODE 0x00000200L
7190 #define ATOM_MAX_NUMBEROF_POWER_BLOCK 8
7192 #define ATOM_PP_OVERDRIVE_INTBITMAP_AUXWIN 0x01
7193 #define ATOM_PP_OVERDRIVE_INTBITMAP_OVERDRIVE 0x02
7195 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_LM63 0x01
7196 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_ADM1032 0x02
7197 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_ADM1030 0x03
7198 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_MUA6649 0x04
7199 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_LM64 0x05
7200 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_F75375 0x06
7201 #define ATOM_PP_OVERDRIVE_THERMALCONTROLLER_ASC7512 0x07 // Andigilog
7255 #define ATOM_PP_FANPARAMETERS_TACHOMETER_PULSES_PER_REVOLUTION_MASK 0x0f
7256 #define ATOM_PP_FANPARAMETERS_NOFAN 0x80 // No fan is connected to this controller.
7258 #define ATOM_PP_THERMALCONTROLLER_NONE 0
7259 #define ATOM_PP_THERMALCONTROLLER_LM63 1 // Not used by PPLib
7260 #define ATOM_PP_THERMALCONTROLLER_ADM1032 2 // Not used by PPLib
7261 #define ATOM_PP_THERMALCONTROLLER_ADM1030 3 // Not used by PPLib
7262 #define ATOM_PP_THERMALCONTROLLER_MUA6649 4 // Not used by PPLib
7263 #define ATOM_PP_THERMALCONTROLLER_LM64 5
7264 #define ATOM_PP_THERMALCONTROLLER_F75375 6 // Not used by PPLib
7265 #define ATOM_PP_THERMALCONTROLLER_RV6xx 7
7266 #define ATOM_PP_THERMALCONTROLLER_RV770 8
7267 #define ATOM_PP_THERMALCONTROLLER_ADT7473 9
7268 #define ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO 11
7269 #define ATOM_PP_THERMALCONTROLLER_EVERGREEN 12
7270 #define ATOM_PP_THERMALCONTROLLER_EMC2103 13 // Only fan control will be implemented, do NOT show this in PPGen.
7271 #define ATOM_PP_THERMALCONTROLLER_SUMO 14 // Sumo type, used internally
7272 #define ATOM_PP_THERMALCONTROLLER_NISLANDS 15
7273 #define ATOM_PP_THERMALCONTROLLER_SISLANDS 16
7274 #define ATOM_PP_THERMALCONTROLLER_LM96163 17
7281 #define ATOM_PP_THERMALCONTROLLER_ADT7473_WITH_INTERNAL 0x89 // ADT7473 Fan Control + Internal Thermal Controller
7282 #define ATOM_PP_THERMALCONTROLLER_EMC2103_WITH_INTERNAL 0x8D // EMC2103 Fan Control + Internal Thermal Controller
7320 #define ATOM_PP_PLATFORM_CAP_BACKBIAS 1
7321 #define ATOM_PP_PLATFORM_CAP_POWERPLAY 2
7322 #define ATOM_PP_PLATFORM_CAP_SBIOSPOWERSOURCE 4
7323 #define ATOM_PP_PLATFORM_CAP_ASPM_L0s 8
7324 #define ATOM_PP_PLATFORM_CAP_ASPM_L1 16
7325 #define ATOM_PP_PLATFORM_CAP_HARDWAREDC 32
7326 #define ATOM_PP_PLATFORM_CAP_GEMINIPRIMARY 64
7327 #define ATOM_PP_PLATFORM_CAP_STEPVDDC 128
7328 #define ATOM_PP_PLATFORM_CAP_VOLTAGECONTROL 256
7329 #define ATOM_PP_PLATFORM_CAP_SIDEPORTCONTROL 512
7330 #define ATOM_PP_PLATFORM_CAP_TURNOFFPLL_ASPML1 1024
7331 #define ATOM_PP_PLATFORM_CAP_HTLINKCONTROL 2048
7332 #define ATOM_PP_PLATFORM_CAP_MVDDCONTROL 4096
7333 #define ATOM_PP_PLATFORM_CAP_GOTO_BOOT_ON_ALERT 0x2000 // Go to boot state on alerts, e.g. on an AC->DC transition.
7334 #define ATOM_PP_PLATFORM_CAP_DONT_WAIT_FOR_VBLANK_ON_ALERT 0x4000 // Do NOT wait for VBLANK during an alert (e.g. AC->DC transition).
7335 #define ATOM_PP_PLATFORM_CAP_VDDCI_CONTROL 0x8000 // Does the driver control VDDCI independently from VDDC.
7336 #define ATOM_PP_PLATFORM_CAP_REGULATOR_HOT 0x00010000 // Enable the 'regulator hot' feature.
7337 #define ATOM_PP_PLATFORM_CAP_BACO 0x00020000 // Does the driver supports BACO state.
7415 #define ATOM_PPLIB_CLASSIFICATION_UI_MASK 0x0007
7416 #define ATOM_PPLIB_CLASSIFICATION_UI_SHIFT 0
7417 #define ATOM_PPLIB_CLASSIFICATION_UI_NONE 0
7418 #define ATOM_PPLIB_CLASSIFICATION_UI_BATTERY 1
7419 #define ATOM_PPLIB_CLASSIFICATION_UI_BALANCED 3
7420 #define ATOM_PPLIB_CLASSIFICATION_UI_PERFORMANCE 5
7423 #define ATOM_PPLIB_CLASSIFICATION_BOOT 0x0008
7424 #define ATOM_PPLIB_CLASSIFICATION_THERMAL 0x0010
7425 #define ATOM_PPLIB_CLASSIFICATION_LIMITEDPOWERSOURCE 0x0020
7426 #define ATOM_PPLIB_CLASSIFICATION_REST 0x0040
7427 #define ATOM_PPLIB_CLASSIFICATION_FORCED 0x0080
7428 #define ATOM_PPLIB_CLASSIFICATION_3DPERFORMANCE 0x0100
7429 #define ATOM_PPLIB_CLASSIFICATION_OVERDRIVETEMPLATE 0x0200
7430 #define ATOM_PPLIB_CLASSIFICATION_UVDSTATE 0x0400
7431 #define ATOM_PPLIB_CLASSIFICATION_3DLOW 0x0800
7432 #define ATOM_PPLIB_CLASSIFICATION_ACPI 0x1000
7433 #define ATOM_PPLIB_CLASSIFICATION_HD2STATE 0x2000
7434 #define ATOM_PPLIB_CLASSIFICATION_HDSTATE 0x4000
7435 #define ATOM_PPLIB_CLASSIFICATION_SDSTATE 0x8000
7438 #define ATOM_PPLIB_CLASSIFICATION2_LIMITEDPOWERSOURCE_2 0x0001
7439 #define ATOM_PPLIB_CLASSIFICATION2_ULV 0x0002
7440 #define ATOM_PPLIB_CLASSIFICATION2_MVC 0x0004 //Multi-View Codec (BD-3D)
7443 #define ATOM_PPLIB_SINGLE_DISPLAY_ONLY 0x00000001
7444 #define ATOM_PPLIB_SUPPORTS_VIDEO_PLAYBACK 0x00000002
7447 #define ATOM_PPLIB_PCIE_LINK_SPEED_MASK 0x00000004
7448 #define ATOM_PPLIB_PCIE_LINK_SPEED_SHIFT 2
7451 #define ATOM_PPLIB_PCIE_LINK_WIDTH_MASK 0x000000F8
7452 #define ATOM_PPLIB_PCIE_LINK_WIDTH_SHIFT 3
7455 #define ATOM_PPLIB_LIMITED_REFRESHRATE_VALUE_MASK 0x00000F00
7456 #define ATOM_PPLIB_LIMITED_REFRESHRATE_VALUE_SHIFT 8
7458 #define ATOM_PPLIB_LIMITED_REFRESHRATE_UNLIMITED 0
7459 #define ATOM_PPLIB_LIMITED_REFRESHRATE_50HZ 1
7462 #define ATOM_PPLIB_SOFTWARE_DISABLE_LOADBALANCING 0x00001000
7463 #define ATOM_PPLIB_SOFTWARE_ENABLE_SLEEP_FOR_TIMESTAMPS 0x00002000
7465 #define ATOM_PPLIB_DISALLOW_ON_DC 0x00004000
7467 #define ATOM_PPLIB_ENABLE_VARIBRIGHT 0x00008000
7470 #define ATOM_PPLIB_SWSTATE_MEMORY_DLL_OFF 0x000010000
7473 #define ATOM_PPLIB_M3ARB_MASK 0x00060000
7474 #define ATOM_PPLIB_M3ARB_SHIFT 17
7476 #define ATOM_PPLIB_ENABLE_DRR 0x00080000
7489 #define ATOM_PPLIB_NONCLOCKINFO_VER1 12
7490 #define ATOM_PPLIB_NONCLOCKINFO_VER2 24
7524 #define ATOM_PPLIB_R600_FLAGS_PCIEGEN2 1
7525 #define ATOM_PPLIB_R600_FLAGS_UVDSAFE 2
7526 #define ATOM_PPLIB_R600_FLAGS_BACKBIASENABLE 4
7527 #define ATOM_PPLIB_R600_FLAGS_MEMORY_ODT_OFF 8
7528 #define ATOM_PPLIB_R600_FLAGS_MEMORY_DLL_OFF 16
7529 #define ATOM_PPLIB_R600_FLAGS_LOWPOWER 32 // On the RV770 use 'low power' setting (sequencer S0).
7582 #define ATOM_PPLIB_RS780_VOLTAGE_NONE 0
7583 #define ATOM_PPLIB_RS780_VOLTAGE_LOW 1
7584 #define ATOM_PPLIB_RS780_VOLTAGE_HIGH 2
7585 #define ATOM_PPLIB_RS780_VOLTAGE_VARIABLE 3
7587 #define ATOM_PPLIB_RS780_SPMCLK_NONE 0 // We cannot change the side port memory clock, leave it as it is.
7588 #define ATOM_PPLIB_RS780_SPMCLK_LOW 1
7589 #define ATOM_PPLIB_RS780_SPMCLK_HIGH 2
7591 #define ATOM_PPLIB_RS780_HTLINKFREQ_NONE 0
7592 #define ATOM_PPLIB_RS780_HTLINKFREQ_LOW 1
7593 #define ATOM_PPLIB_RS780_HTLINKFREQ_HIGH 2
7801 #define ATOM_MASTER_DATA_TABLE_REVISION 0x01
7802 #define Object_Info Object_Header
7803 #define AdjustARB_SEQ MC_InitParameter
7804 #define VRAM_GPIO_DetectionInfo VoltageObjectInfo
7805 #define ASIC_VDDCI_Info ASIC_ProfilingInfo
7806 #define ASIC_MVDDQ_Info MemoryTrainingInfo
7807 #define SS_Info PPLL_SS_Info
7808 #define ASIC_MVDDC_Info ASIC_InternalSS_Info
7809 #define DispDevicePriorityInfo SaveRestoreInfo
7810 #define DispOutInfo TV_VideoMode
7813 #define ATOM_ENCODER_OBJECT_TABLE ATOM_OBJECT_TABLE
7814 #define ATOM_CONNECTOR_OBJECT_TABLE ATOM_OBJECT_TABLE
7817 #define DFP2I_OUTPUT_CONTROL_PARAMETERS CRT1_OUTPUT_CONTROL_PARAMETERS
7818 #define DFP2I_OUTPUT_CONTROL_PS_ALLOCATION DFP2I_OUTPUT_CONTROL_PARAMETERS
7820 #define DFP1X_OUTPUT_CONTROL_PARAMETERS CRT1_OUTPUT_CONTROL_PARAMETERS
7821 #define DFP1X_OUTPUT_CONTROL_PS_ALLOCATION DFP1X_OUTPUT_CONTROL_PARAMETERS
7823 #define DFP1I_OUTPUT_CONTROL_PARAMETERS DFP1_OUTPUT_CONTROL_PARAMETERS
7824 #define DFP1I_OUTPUT_CONTROL_PS_ALLOCATION DFP1_OUTPUT_CONTROL_PS_ALLOCATION
7826 #define ATOM_DEVICE_DFP1I_SUPPORT ATOM_DEVICE_DFP1_SUPPORT
7827 #define ATOM_DEVICE_DFP1X_SUPPORT ATOM_DEVICE_DFP2_SUPPORT
7829 #define ATOM_DEVICE_DFP1I_INDEX ATOM_DEVICE_DFP1_INDEX
7830 #define ATOM_DEVICE_DFP1X_INDEX ATOM_DEVICE_DFP2_INDEX
7832 #define ATOM_DEVICE_DFP2I_INDEX 0x00000009
7833 #define ATOM_DEVICE_DFP2I_SUPPORT (0x1L << ATOM_DEVICE_DFP2I_INDEX)
7835 #define ATOM_S0_DFP1I ATOM_S0_DFP1
7836 #define ATOM_S0_DFP1X ATOM_S0_DFP2
7838 #define ATOM_S0_DFP2I 0x00200000L
7839 #define ATOM_S0_DFP2Ib2 0x20
7841 #define ATOM_S2_DFP1I_DPMS_STATE ATOM_S2_DFP1_DPMS_STATE
7842 #define ATOM_S2_DFP1X_DPMS_STATE ATOM_S2_DFP2_DPMS_STATE
7844 #define ATOM_S2_DFP2I_DPMS_STATE 0x02000000L
7845 #define ATOM_S2_DFP2I_DPMS_STATEb3 0x02
7847 #define ATOM_S3_DFP2I_ACTIVEb1 0x02
7849 #define ATOM_S3_DFP1I_ACTIVE ATOM_S3_DFP1_ACTIVE
7850 #define ATOM_S3_DFP1X_ACTIVE ATOM_S3_DFP2_ACTIVE
7852 #define ATOM_S3_DFP2I_ACTIVE 0x00000200L
7854 #define ATOM_S3_DFP1I_CRTC_ACTIVE ATOM_S3_DFP1_CRTC_ACTIVE
7855 #define ATOM_S3_DFP1X_CRTC_ACTIVE ATOM_S3_DFP2_CRTC_ACTIVE
7856 #define ATOM_S3_DFP2I_CRTC_ACTIVE 0x02000000L
7858 #define ATOM_S3_DFP2I_CRTC_ACTIVEb3 0x02
7859 #define ATOM_S5_DOS_REQ_DFP2Ib1 0x02
7861 #define ATOM_S5_DOS_REQ_DFP2I 0x0200
7862 #define ATOM_S6_ACC_REQ_DFP1I ATOM_S6_ACC_REQ_DFP1
7863 #define ATOM_S6_ACC_REQ_DFP1X ATOM_S6_ACC_REQ_DFP2
7865 #define ATOM_S6_ACC_REQ_DFP2Ib3 0x02
7866 #define ATOM_S6_ACC_REQ_DFP2I 0x02000000L
7868 #define TMDS1XEncoderControl DVOEncoderControl
7869 #define DFP1XOutputControl DVOOutputControl
7871 #define ExternalDFPOutputControl DFP1XOutputControl
7872 #define EnableExternalTMDS_Encoder TMDS1XEncoderControl
7874 #define DFP1IOutputControl TMDSAOutputControl
7875 #define DFP2IOutputControl LVTMAOutputControl
7877 #define DAC1_ENCODER_CONTROL_PARAMETERS DAC_ENCODER_CONTROL_PARAMETERS
7878 #define DAC1_ENCODER_CONTROL_PS_ALLOCATION DAC_ENCODER_CONTROL_PS_ALLOCATION
7880 #define DAC2_ENCODER_CONTROL_PARAMETERS DAC_ENCODER_CONTROL_PARAMETERS
7881 #define DAC2_ENCODER_CONTROL_PS_ALLOCATION DAC_ENCODER_CONTROL_PS_ALLOCATION
7883 #define ucDac1Standard ucDacStandard
7884 #define ucDac2Standard ucDacStandard
7886 #define TMDS1EncoderControl TMDSAEncoderControl
7887 #define TMDS2EncoderControl LVTMAEncoderControl
7889 #define DFP1OutputControl TMDSAOutputControl
7890 #define DFP2OutputControl LVTMAOutputControl
7891 #define CRT1OutputControl DAC1OutputControl
7892 #define CRT2OutputControl DAC2OutputControl
7895 #define EnableLVDS_SS EnableSpreadSpectrumOnPPLL
7896 #define ENABLE_LVDS_SS_PARAMETERS_V3 ENABLE_SPREAD_SPECTRUM_ON_PPLL
7904 #define ATOM_S6_ACC_REQ_TV2 0x00400000L
7905 #define ATOM_DEVICE_TV2_INDEX 0x00000006
7906 #define ATOM_DEVICE_TV2_SUPPORT (0x1L << ATOM_DEVICE_TV2_INDEX)
7907 #define ATOM_S0_TV2 0x00100000L
7908 #define ATOM_S3_TV2_ACTIVE ATOM_S3_DFP6_ACTIVE
7909 #define ATOM_S3_TV2_CRTC_ACTIVE ATOM_S3_DFP6_CRTC_ACTIVE
7912 #define ATOM_S2_CRT1_DPMS_STATE 0x00010000L
7913 #define ATOM_S2_LCD1_DPMS_STATE 0x00020000L
7914 #define ATOM_S2_TV1_DPMS_STATE 0x00040000L
7915 #define ATOM_S2_DFP1_DPMS_STATE 0x00080000L
7916 #define ATOM_S2_CRT2_DPMS_STATE 0x00100000L
7917 #define ATOM_S2_LCD2_DPMS_STATE 0x00200000L
7918 #define ATOM_S2_TV2_DPMS_STATE 0x00400000L
7919 #define ATOM_S2_DFP2_DPMS_STATE 0x00800000L
7920 #define ATOM_S2_CV_DPMS_STATE 0x01000000L
7921 #define ATOM_S2_DFP3_DPMS_STATE 0x02000000L
7922 #define ATOM_S2_DFP4_DPMS_STATE 0x04000000L
7923 #define ATOM_S2_DFP5_DPMS_STATE 0x08000000L
7925 #define ATOM_S2_CRT1_DPMS_STATEb2 0x01
7926 #define ATOM_S2_LCD1_DPMS_STATEb2 0x02
7927 #define ATOM_S2_TV1_DPMS_STATEb2 0x04
7928 #define ATOM_S2_DFP1_DPMS_STATEb2 0x08
7929 #define ATOM_S2_CRT2_DPMS_STATEb2 0x10
7930 #define ATOM_S2_LCD2_DPMS_STATEb2 0x20
7931 #define ATOM_S2_TV2_DPMS_STATEb2 0x40
7932 #define ATOM_S2_DFP2_DPMS_STATEb2 0x80
7933 #define ATOM_S2_CV_DPMS_STATEb3 0x01
7934 #define ATOM_S2_DFP3_DPMS_STATEb3 0x02
7935 #define ATOM_S2_DFP4_DPMS_STATEb3 0x04
7936 #define ATOM_S2_DFP5_DPMS_STATEb3 0x08
7938 #define ATOM_S3_ASIC_GUI_ENGINE_HUNGb3 0x20
7939 #define ATOM_S3_ALLOW_FAST_PWR_SWITCHb3 0x40
7940 #define ATOM_S3_RQST_GPU_USE_MIN_PWRb3 0x80
7944 #pragma pack() // BIOS data must use byte aligment