ObjectID.h 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745
  1. /*
  2. * Copyright 2006-2007 Advanced Micro Devices, Inc.
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a
  5. * copy of this software and associated documentation files (the "Software"),
  6. * to deal in the Software without restriction, including without limitation
  7. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8. * and/or sell copies of the Software, and to permit persons to whom the
  9. * Software is furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  17. * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  18. * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  19. * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  20. * OTHER DEALINGS IN THE SOFTWARE.
  21. */
  22. /* based on stg/asic_reg/drivers/inc/asic_reg/ObjectID.h ver 23 */
  23. #ifndef _OBJECTID_H
  24. #define _OBJECTID_H
  25. #if defined(_X86_)
  26. #pragma pack(1)
  27. #endif
  28. /****************************************************/
  29. /* Graphics Object Type Definition */
  30. /****************************************************/
  31. #define GRAPH_OBJECT_TYPE_NONE 0x0
  32. #define GRAPH_OBJECT_TYPE_GPU 0x1
  33. #define GRAPH_OBJECT_TYPE_ENCODER 0x2
  34. #define GRAPH_OBJECT_TYPE_CONNECTOR 0x3
  35. #define GRAPH_OBJECT_TYPE_ROUTER 0x4
  36. /* deleted */
  37. #define GRAPH_OBJECT_TYPE_DISPLAY_PATH 0x6
  38. #define GRAPH_OBJECT_TYPE_GENERIC 0x7
  39. /****************************************************/
  40. /* Encoder Object ID Definition */
  41. /****************************************************/
  42. #define ENCODER_OBJECT_ID_NONE 0x00
  43. /* Radeon Class Display Hardware */
  44. #define ENCODER_OBJECT_ID_INTERNAL_LVDS 0x01
  45. #define ENCODER_OBJECT_ID_INTERNAL_TMDS1 0x02
  46. #define ENCODER_OBJECT_ID_INTERNAL_TMDS2 0x03
  47. #define ENCODER_OBJECT_ID_INTERNAL_DAC1 0x04
  48. #define ENCODER_OBJECT_ID_INTERNAL_DAC2 0x05 /* TV/CV DAC */
  49. #define ENCODER_OBJECT_ID_INTERNAL_SDVOA 0x06
  50. #define ENCODER_OBJECT_ID_INTERNAL_SDVOB 0x07
  51. /* External Third Party Encoders */
  52. #define ENCODER_OBJECT_ID_SI170B 0x08
  53. #define ENCODER_OBJECT_ID_CH7303 0x09
  54. #define ENCODER_OBJECT_ID_CH7301 0x0A
  55. #define ENCODER_OBJECT_ID_INTERNAL_DVO1 0x0B /* This belongs to Radeon Class Display Hardware */
  56. #define ENCODER_OBJECT_ID_EXTERNAL_SDVOA 0x0C
  57. #define ENCODER_OBJECT_ID_EXTERNAL_SDVOB 0x0D
  58. #define ENCODER_OBJECT_ID_TITFP513 0x0E
  59. #define ENCODER_OBJECT_ID_INTERNAL_LVTM1 0x0F /* not used for Radeon */
  60. #define ENCODER_OBJECT_ID_VT1623 0x10
  61. #define ENCODER_OBJECT_ID_HDMI_SI1930 0x11
  62. #define ENCODER_OBJECT_ID_HDMI_INTERNAL 0x12
  63. #define ENCODER_OBJECT_ID_ALMOND 0x22
  64. #define ENCODER_OBJECT_ID_TRAVIS 0x23
  65. #define ENCODER_OBJECT_ID_NUTMEG 0x22
  66. #define ENCODER_OBJECT_ID_HDMI_ANX9805 0x26
  67. /* Kaleidoscope (KLDSCP) Class Display Hardware (internal) */
  68. #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 0x13
  69. #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1 0x14
  70. #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1 0x15
  71. #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 0x16 /* Shared with CV/TV and CRT */
  72. #define ENCODER_OBJECT_ID_SI178 0X17 /* External TMDS (dual link, no HDCP.) */
  73. #define ENCODER_OBJECT_ID_MVPU_FPGA 0x18 /* MVPU FPGA chip */
  74. #define ENCODER_OBJECT_ID_INTERNAL_DDI 0x19
  75. #define ENCODER_OBJECT_ID_VT1625 0x1A
  76. #define ENCODER_OBJECT_ID_HDMI_SI1932 0x1B
  77. #define ENCODER_OBJECT_ID_DP_AN9801 0x1C
  78. #define ENCODER_OBJECT_ID_DP_DP501 0x1D
  79. #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY 0x1E
  80. #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA 0x1F
  81. #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 0x20
  82. #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 0x21
  83. #define ENCODER_OBJECT_ID_INTERNAL_VCE 0x24
  84. #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY3 0x25
  85. #define ENCODER_OBJECT_ID_INTERNAL_AMCLK 0x27
  86. #define ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO 0xFF
  87. /****************************************************/
  88. /* Connector Object ID Definition */
  89. /****************************************************/
  90. #define CONNECTOR_OBJECT_ID_NONE 0x00
  91. #define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I 0x01
  92. #define CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I 0x02
  93. #define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D 0x03
  94. #define CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D 0x04
  95. #define CONNECTOR_OBJECT_ID_VGA 0x05
  96. #define CONNECTOR_OBJECT_ID_COMPOSITE 0x06
  97. #define CONNECTOR_OBJECT_ID_SVIDEO 0x07
  98. #define CONNECTOR_OBJECT_ID_YPbPr 0x08
  99. #define CONNECTOR_OBJECT_ID_D_CONNECTOR 0x09
  100. #define CONNECTOR_OBJECT_ID_9PIN_DIN 0x0A /* Supports both CV & TV */
  101. #define CONNECTOR_OBJECT_ID_SCART 0x0B
  102. #define CONNECTOR_OBJECT_ID_HDMI_TYPE_A 0x0C
  103. #define CONNECTOR_OBJECT_ID_HDMI_TYPE_B 0x0D
  104. #define CONNECTOR_OBJECT_ID_LVDS 0x0E
  105. #define CONNECTOR_OBJECT_ID_7PIN_DIN 0x0F
  106. #define CONNECTOR_OBJECT_ID_PCIE_CONNECTOR 0x10
  107. #define CONNECTOR_OBJECT_ID_CROSSFIRE 0x11
  108. #define CONNECTOR_OBJECT_ID_HARDCODE_DVI 0x12
  109. #define CONNECTOR_OBJECT_ID_DISPLAYPORT 0x13
  110. #define CONNECTOR_OBJECT_ID_eDP 0x14
  111. #define CONNECTOR_OBJECT_ID_MXM 0x15
  112. #define CONNECTOR_OBJECT_ID_LVDS_eDP 0x16
  113. /* deleted */
  114. /****************************************************/
  115. /* Router Object ID Definition */
  116. /****************************************************/
  117. #define ROUTER_OBJECT_ID_NONE 0x00
  118. #define ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL 0x01
  119. /****************************************************/
  120. /* Generic Object ID Definition */
  121. /****************************************************/
  122. #define GENERIC_OBJECT_ID_NONE 0x00
  123. #define GENERIC_OBJECT_ID_GLSYNC 0x01
  124. #define GENERIC_OBJECT_ID_PX2_NON_DRIVABLE 0x02
  125. #define GENERIC_OBJECT_ID_MXM_OPM 0x03
  126. #define GENERIC_OBJECT_ID_STEREO_PIN 0x04 //This object could show up from Misc Object table, it follows ATOM_OBJECT format, and contains one ATOM_OBJECT_GPIO_CNTL_RECORD for the stereo pin
  127. #define GENERIC_OBJECT_ID_BRACKET_LAYOUT 0x05
  128. /****************************************************/
  129. /* Graphics Object ENUM ID Definition */
  130. /****************************************************/
  131. #define GRAPH_OBJECT_ENUM_ID1 0x01
  132. #define GRAPH_OBJECT_ENUM_ID2 0x02
  133. #define GRAPH_OBJECT_ENUM_ID3 0x03
  134. #define GRAPH_OBJECT_ENUM_ID4 0x04
  135. #define GRAPH_OBJECT_ENUM_ID5 0x05
  136. #define GRAPH_OBJECT_ENUM_ID6 0x06
  137. #define GRAPH_OBJECT_ENUM_ID7 0x07
  138. /****************************************************/
  139. /* Graphics Object ID Bit definition */
  140. /****************************************************/
  141. #define OBJECT_ID_MASK 0x00FF
  142. #define ENUM_ID_MASK 0x0700
  143. #define RESERVED1_ID_MASK 0x0800
  144. #define OBJECT_TYPE_MASK 0x7000
  145. #define RESERVED2_ID_MASK 0x8000
  146. #define OBJECT_ID_SHIFT 0x00
  147. #define ENUM_ID_SHIFT 0x08
  148. #define OBJECT_TYPE_SHIFT 0x0C
  149. /****************************************************/
  150. /* Graphics Object family definition */
  151. /****************************************************/
  152. #define CONSTRUCTOBJECTFAMILYID(GRAPHICS_OBJECT_TYPE, GRAPHICS_OBJECT_ID) (GRAPHICS_OBJECT_TYPE << OBJECT_TYPE_SHIFT | \
  153. GRAPHICS_OBJECT_ID << OBJECT_ID_SHIFT)
  154. /****************************************************/
  155. /* GPU Object ID definition - Shared with BIOS */
  156. /****************************************************/
  157. #define GPU_ENUM_ID1 ( GRAPH_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT |\
  158. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT)
  159. /****************************************************/
  160. /* Encoder Object ID definition - Shared with BIOS */
  161. /****************************************************/
  162. /*
  163. #define ENCODER_INTERNAL_LVDS_ENUM_ID1 0x2101
  164. #define ENCODER_INTERNAL_TMDS1_ENUM_ID1 0x2102
  165. #define ENCODER_INTERNAL_TMDS2_ENUM_ID1 0x2103
  166. #define ENCODER_INTERNAL_DAC1_ENUM_ID1 0x2104
  167. #define ENCODER_INTERNAL_DAC2_ENUM_ID1 0x2105
  168. #define ENCODER_INTERNAL_SDVOA_ENUM_ID1 0x2106
  169. #define ENCODER_INTERNAL_SDVOB_ENUM_ID1 0x2107
  170. #define ENCODER_SIL170B_ENUM_ID1 0x2108
  171. #define ENCODER_CH7303_ENUM_ID1 0x2109
  172. #define ENCODER_CH7301_ENUM_ID1 0x210A
  173. #define ENCODER_INTERNAL_DVO1_ENUM_ID1 0x210B
  174. #define ENCODER_EXTERNAL_SDVOA_ENUM_ID1 0x210C
  175. #define ENCODER_EXTERNAL_SDVOB_ENUM_ID1 0x210D
  176. #define ENCODER_TITFP513_ENUM_ID1 0x210E
  177. #define ENCODER_INTERNAL_LVTM1_ENUM_ID1 0x210F
  178. #define ENCODER_VT1623_ENUM_ID1 0x2110
  179. #define ENCODER_HDMI_SI1930_ENUM_ID1 0x2111
  180. #define ENCODER_HDMI_INTERNAL_ENUM_ID1 0x2112
  181. #define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1 0x2113
  182. #define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1 0x2114
  183. #define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1 0x2115
  184. #define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 0x2116
  185. #define ENCODER_SI178_ENUM_ID1 0x2117
  186. #define ENCODER_MVPU_FPGA_ENUM_ID1 0x2118
  187. #define ENCODER_INTERNAL_DDI_ENUM_ID1 0x2119
  188. #define ENCODER_VT1625_ENUM_ID1 0x211A
  189. #define ENCODER_HDMI_SI1932_ENUM_ID1 0x211B
  190. #define ENCODER_ENCODER_DP_AN9801_ENUM_ID1 0x211C
  191. #define ENCODER_DP_DP501_ENUM_ID1 0x211D
  192. #define ENCODER_INTERNAL_UNIPHY_ENUM_ID1 0x211E
  193. */
  194. #define ENCODER_INTERNAL_LVDS_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  195. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  196. ENCODER_OBJECT_ID_INTERNAL_LVDS << OBJECT_ID_SHIFT)
  197. #define ENCODER_INTERNAL_TMDS1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  198. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  199. ENCODER_OBJECT_ID_INTERNAL_TMDS1 << OBJECT_ID_SHIFT)
  200. #define ENCODER_INTERNAL_TMDS2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  201. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  202. ENCODER_OBJECT_ID_INTERNAL_TMDS2 << OBJECT_ID_SHIFT)
  203. #define ENCODER_INTERNAL_DAC1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  204. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  205. ENCODER_OBJECT_ID_INTERNAL_DAC1 << OBJECT_ID_SHIFT)
  206. #define ENCODER_INTERNAL_DAC2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  207. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  208. ENCODER_OBJECT_ID_INTERNAL_DAC2 << OBJECT_ID_SHIFT)
  209. #define ENCODER_INTERNAL_SDVOA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  210. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  211. ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT)
  212. #define ENCODER_INTERNAL_SDVOA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  213. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  214. ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT)
  215. #define ENCODER_INTERNAL_SDVOB_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  216. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  217. ENCODER_OBJECT_ID_INTERNAL_SDVOB << OBJECT_ID_SHIFT)
  218. #define ENCODER_SIL170B_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  219. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  220. ENCODER_OBJECT_ID_SI170B << OBJECT_ID_SHIFT)
  221. #define ENCODER_CH7303_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  222. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  223. ENCODER_OBJECT_ID_CH7303 << OBJECT_ID_SHIFT)
  224. #define ENCODER_CH7301_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  225. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  226. ENCODER_OBJECT_ID_CH7301 << OBJECT_ID_SHIFT)
  227. #define ENCODER_INTERNAL_DVO1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  228. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  229. ENCODER_OBJECT_ID_INTERNAL_DVO1 << OBJECT_ID_SHIFT)
  230. #define ENCODER_EXTERNAL_SDVOA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  231. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  232. ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT)
  233. #define ENCODER_EXTERNAL_SDVOA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  234. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  235. ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT)
  236. #define ENCODER_EXTERNAL_SDVOB_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  237. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  238. ENCODER_OBJECT_ID_EXTERNAL_SDVOB << OBJECT_ID_SHIFT)
  239. #define ENCODER_TITFP513_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  240. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  241. ENCODER_OBJECT_ID_TITFP513 << OBJECT_ID_SHIFT)
  242. #define ENCODER_INTERNAL_LVTM1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  243. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  244. ENCODER_OBJECT_ID_INTERNAL_LVTM1 << OBJECT_ID_SHIFT)
  245. #define ENCODER_VT1623_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  246. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  247. ENCODER_OBJECT_ID_VT1623 << OBJECT_ID_SHIFT)
  248. #define ENCODER_HDMI_SI1930_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  249. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  250. ENCODER_OBJECT_ID_HDMI_SI1930 << OBJECT_ID_SHIFT)
  251. #define ENCODER_HDMI_INTERNAL_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  252. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  253. ENCODER_OBJECT_ID_HDMI_INTERNAL << OBJECT_ID_SHIFT)
  254. #define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  255. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  256. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT)
  257. #define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  258. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  259. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT)
  260. #define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  261. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  262. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1 << OBJECT_ID_SHIFT)
  263. #define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  264. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  265. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1 << OBJECT_ID_SHIFT)
  266. #define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  267. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  268. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 << OBJECT_ID_SHIFT) // Shared with CV/TV and CRT
  269. #define ENCODER_SI178_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  270. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  271. ENCODER_OBJECT_ID_SI178 << OBJECT_ID_SHIFT)
  272. #define ENCODER_MVPU_FPGA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  273. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  274. ENCODER_OBJECT_ID_MVPU_FPGA << OBJECT_ID_SHIFT)
  275. #define ENCODER_INTERNAL_DDI_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  276. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  277. ENCODER_OBJECT_ID_INTERNAL_DDI << OBJECT_ID_SHIFT)
  278. #define ENCODER_VT1625_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  279. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  280. ENCODER_OBJECT_ID_VT1625 << OBJECT_ID_SHIFT)
  281. #define ENCODER_HDMI_SI1932_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  282. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  283. ENCODER_OBJECT_ID_HDMI_SI1932 << OBJECT_ID_SHIFT)
  284. #define ENCODER_DP_DP501_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  285. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  286. ENCODER_OBJECT_ID_DP_DP501 << OBJECT_ID_SHIFT)
  287. #define ENCODER_DP_AN9801_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  288. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  289. ENCODER_OBJECT_ID_DP_AN9801 << OBJECT_ID_SHIFT)
  290. #define ENCODER_INTERNAL_UNIPHY_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  291. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  292. ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT)
  293. #define ENCODER_INTERNAL_UNIPHY_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  294. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  295. ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT)
  296. #define ENCODER_INTERNAL_KLDSCP_LVTMA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  297. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  298. ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA << OBJECT_ID_SHIFT)
  299. #define ENCODER_INTERNAL_UNIPHY1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  300. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  301. ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT)
  302. #define ENCODER_INTERNAL_UNIPHY1_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  303. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  304. ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT)
  305. #define ENCODER_INTERNAL_UNIPHY2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  306. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  307. ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT)
  308. #define ENCODER_INTERNAL_UNIPHY2_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  309. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  310. ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT)
  311. #define ENCODER_INTERNAL_UNIPHY3_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  312. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  313. ENCODER_OBJECT_ID_INTERNAL_UNIPHY3 << OBJECT_ID_SHIFT)
  314. #define ENCODER_INTERNAL_UNIPHY3_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  315. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  316. ENCODER_OBJECT_ID_INTERNAL_UNIPHY3 << OBJECT_ID_SHIFT)
  317. #define ENCODER_GENERAL_EXTERNAL_DVO_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  318. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  319. ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO << OBJECT_ID_SHIFT)
  320. #define ENCODER_ALMOND_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  321. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  322. ENCODER_OBJECT_ID_ALMOND << OBJECT_ID_SHIFT)
  323. #define ENCODER_ALMOND_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  324. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  325. ENCODER_OBJECT_ID_ALMOND << OBJECT_ID_SHIFT)
  326. #define ENCODER_TRAVIS_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  327. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  328. ENCODER_OBJECT_ID_TRAVIS << OBJECT_ID_SHIFT)
  329. #define ENCODER_TRAVIS_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  330. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  331. ENCODER_OBJECT_ID_TRAVIS << OBJECT_ID_SHIFT)
  332. #define ENCODER_NUTMEG_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  333. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  334. ENCODER_OBJECT_ID_NUTMEG << OBJECT_ID_SHIFT)
  335. #define ENCODER_VCE_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  336. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  337. ENCODER_OBJECT_ID_INTERNAL_VCE << OBJECT_ID_SHIFT)
  338. #define ENCODER_HDMI_ANX9805_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\
  339. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  340. ENCODER_OBJECT_ID_HDMI_ANX9805 << OBJECT_ID_SHIFT)
  341. /****************************************************/
  342. /* Connector Object ID definition - Shared with BIOS */
  343. /****************************************************/
  344. /*
  345. #define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1 0x3101
  346. #define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1 0x3102
  347. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 0x3103
  348. #define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 0x3104
  349. #define CONNECTOR_VGA_ENUM_ID1 0x3105
  350. #define CONNECTOR_COMPOSITE_ENUM_ID1 0x3106
  351. #define CONNECTOR_SVIDEO_ENUM_ID1 0x3107
  352. #define CONNECTOR_YPbPr_ENUM_ID1 0x3108
  353. #define CONNECTOR_D_CONNECTORE_ENUM_ID1 0x3109
  354. #define CONNECTOR_9PIN_DIN_ENUM_ID1 0x310A
  355. #define CONNECTOR_SCART_ENUM_ID1 0x310B
  356. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID1 0x310C
  357. #define CONNECTOR_HDMI_TYPE_B_ENUM_ID1 0x310D
  358. #define CONNECTOR_LVDS_ENUM_ID1 0x310E
  359. #define CONNECTOR_7PIN_DIN_ENUM_ID1 0x310F
  360. #define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1 0x3110
  361. */
  362. #define CONNECTOR_LVDS_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  363. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  364. CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT)
  365. #define CONNECTOR_LVDS_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  366. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  367. CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT)
  368. #define CONNECTOR_eDP_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  369. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  370. CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT)
  371. #define CONNECTOR_eDP_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  372. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  373. CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT)
  374. #define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  375. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  376. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT)
  377. #define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  378. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  379. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT)
  380. #define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  381. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  382. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT)
  383. #define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  384. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  385. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT)
  386. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  387. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  388. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  389. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  390. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  391. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  392. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  393. GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\
  394. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  395. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  396. GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\
  397. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  398. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  399. GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\
  400. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  401. #define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  402. GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\
  403. CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT)
  404. #define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  405. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  406. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT)
  407. #define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  408. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  409. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT)
  410. #define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  411. GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\
  412. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT)
  413. #define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  414. GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\
  415. CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT)
  416. #define CONNECTOR_VGA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  417. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  418. CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT)
  419. #define CONNECTOR_VGA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  420. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  421. CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT)
  422. #define CONNECTOR_COMPOSITE_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  423. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  424. CONNECTOR_OBJECT_ID_COMPOSITE << OBJECT_ID_SHIFT)
  425. #define CONNECTOR_COMPOSITE_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  426. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  427. CONNECTOR_OBJECT_ID_COMPOSITE << OBJECT_ID_SHIFT)
  428. #define CONNECTOR_SVIDEO_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  429. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  430. CONNECTOR_OBJECT_ID_SVIDEO << OBJECT_ID_SHIFT)
  431. #define CONNECTOR_SVIDEO_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  432. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  433. CONNECTOR_OBJECT_ID_SVIDEO << OBJECT_ID_SHIFT)
  434. #define CONNECTOR_YPbPr_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  435. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  436. CONNECTOR_OBJECT_ID_YPbPr << OBJECT_ID_SHIFT)
  437. #define CONNECTOR_YPbPr_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  438. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  439. CONNECTOR_OBJECT_ID_YPbPr << OBJECT_ID_SHIFT)
  440. #define CONNECTOR_D_CONNECTOR_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  441. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  442. CONNECTOR_OBJECT_ID_D_CONNECTOR << OBJECT_ID_SHIFT)
  443. #define CONNECTOR_D_CONNECTOR_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  444. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  445. CONNECTOR_OBJECT_ID_D_CONNECTOR << OBJECT_ID_SHIFT)
  446. #define CONNECTOR_9PIN_DIN_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  447. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  448. CONNECTOR_OBJECT_ID_9PIN_DIN << OBJECT_ID_SHIFT)
  449. #define CONNECTOR_9PIN_DIN_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  450. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  451. CONNECTOR_OBJECT_ID_9PIN_DIN << OBJECT_ID_SHIFT)
  452. #define CONNECTOR_SCART_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  453. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  454. CONNECTOR_OBJECT_ID_SCART << OBJECT_ID_SHIFT)
  455. #define CONNECTOR_SCART_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  456. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  457. CONNECTOR_OBJECT_ID_SCART << OBJECT_ID_SHIFT)
  458. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  459. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  460. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  461. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  462. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  463. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  464. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  465. GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\
  466. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  467. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  468. GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\
  469. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  470. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  471. GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\
  472. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  473. #define CONNECTOR_HDMI_TYPE_A_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  474. GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\
  475. CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT)
  476. #define CONNECTOR_HDMI_TYPE_B_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  477. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  478. CONNECTOR_OBJECT_ID_HDMI_TYPE_B << OBJECT_ID_SHIFT)
  479. #define CONNECTOR_HDMI_TYPE_B_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  480. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  481. CONNECTOR_OBJECT_ID_HDMI_TYPE_B << OBJECT_ID_SHIFT)
  482. #define CONNECTOR_7PIN_DIN_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  483. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  484. CONNECTOR_OBJECT_ID_7PIN_DIN << OBJECT_ID_SHIFT)
  485. #define CONNECTOR_7PIN_DIN_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  486. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  487. CONNECTOR_OBJECT_ID_7PIN_DIN << OBJECT_ID_SHIFT)
  488. #define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  489. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  490. CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT)
  491. #define CONNECTOR_PCIE_CONNECTOR_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  492. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  493. CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT)
  494. #define CONNECTOR_CROSSFIRE_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  495. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  496. CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT)
  497. #define CONNECTOR_CROSSFIRE_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  498. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  499. CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT)
  500. #define CONNECTOR_HARDCODE_DVI_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  501. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  502. CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT)
  503. #define CONNECTOR_HARDCODE_DVI_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  504. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  505. CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT)
  506. #define CONNECTOR_DISPLAYPORT_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  507. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  508. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  509. #define CONNECTOR_DISPLAYPORT_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  510. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  511. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  512. #define CONNECTOR_DISPLAYPORT_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  513. GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\
  514. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  515. #define CONNECTOR_DISPLAYPORT_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  516. GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\
  517. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  518. #define CONNECTOR_DISPLAYPORT_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  519. GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\
  520. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  521. #define CONNECTOR_DISPLAYPORT_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  522. GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\
  523. CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT)
  524. #define CONNECTOR_MXM_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  525. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  526. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_A
  527. #define CONNECTOR_MXM_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  528. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  529. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_B
  530. #define CONNECTOR_MXM_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  531. GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\
  532. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_C
  533. #define CONNECTOR_MXM_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  534. GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\
  535. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_D
  536. #define CONNECTOR_MXM_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  537. GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\
  538. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_TXxx
  539. #define CONNECTOR_MXM_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  540. GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\
  541. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_UXxx
  542. #define CONNECTOR_MXM_ENUM_ID7 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  543. GRAPH_OBJECT_ENUM_ID7 << ENUM_ID_SHIFT |\
  544. CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DAC
  545. #define CONNECTOR_LVDS_eDP_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  546. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  547. CONNECTOR_OBJECT_ID_LVDS_eDP << OBJECT_ID_SHIFT)
  548. #define CONNECTOR_LVDS_eDP_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\
  549. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  550. CONNECTOR_OBJECT_ID_LVDS_eDP << OBJECT_ID_SHIFT)
  551. /****************************************************/
  552. /* Router Object ID definition - Shared with BIOS */
  553. /****************************************************/
  554. #define ROUTER_I2C_EXTENDER_CNTL_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ROUTER << OBJECT_TYPE_SHIFT |\
  555. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  556. ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL << OBJECT_ID_SHIFT)
  557. /* deleted */
  558. /****************************************************/
  559. /* Generic Object ID definition - Shared with BIOS */
  560. /****************************************************/
  561. #define GENERICOBJECT_GLSYNC_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  562. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  563. GENERIC_OBJECT_ID_GLSYNC << OBJECT_ID_SHIFT)
  564. #define GENERICOBJECT_PX2_NON_DRIVABLE_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  565. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  566. GENERIC_OBJECT_ID_PX2_NON_DRIVABLE<< OBJECT_ID_SHIFT)
  567. #define GENERICOBJECT_PX2_NON_DRIVABLE_ID2 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  568. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  569. GENERIC_OBJECT_ID_PX2_NON_DRIVABLE<< OBJECT_ID_SHIFT)
  570. #define GENERICOBJECT_MXM_OPM_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  571. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  572. GENERIC_OBJECT_ID_MXM_OPM << OBJECT_ID_SHIFT)
  573. #define GENERICOBJECT_STEREO_PIN_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  574. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  575. GENERIC_OBJECT_ID_STEREO_PIN << OBJECT_ID_SHIFT)
  576. #define GENERICOBJECT_BRACKET_LAYOUT_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  577. GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\
  578. GENERIC_OBJECT_ID_BRACKET_LAYOUT << OBJECT_ID_SHIFT)
  579. #define GENERICOBJECT_BRACKET_LAYOUT_ENUM_ID2 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\
  580. GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\
  581. GENERIC_OBJECT_ID_BRACKET_LAYOUT << OBJECT_ID_SHIFT)
  582. /****************************************************/
  583. /* Object Cap definition - Shared with BIOS */
  584. /****************************************************/
  585. #define GRAPHICS_OBJECT_CAP_I2C 0x00000001L
  586. #define GRAPHICS_OBJECT_CAP_TABLE_ID 0x00000002L
  587. #define GRAPHICS_OBJECT_I2CCOMMAND_TABLE_ID 0x01
  588. #define GRAPHICS_OBJECT_HOTPLUGDETECTIONINTERUPT_TABLE_ID 0x02
  589. #define GRAPHICS_OBJECT_ENCODER_OUTPUT_PROTECTION_TABLE_ID 0x03
  590. #if defined(_X86_)
  591. #pragma pack()
  592. #endif
  593. #endif /*GRAPHICTYPE */