1*41ec0267Sriastradh /* $NetBSD: displayobject.h,v 1.2 2021/12/18 23:45:08 riastradh Exp $ */ 24e390cabSriastradh 34e390cabSriastradh /****************************************************************************\ 44e390cabSriastradh * 54e390cabSriastradh * Module Name displayobjectsoc15.h 64e390cabSriastradh * Project 74e390cabSriastradh * Device 84e390cabSriastradh * 94e390cabSriastradh * Description Contains the common definitions for display objects for SoC15 products. 104e390cabSriastradh * 114e390cabSriastradh * Copyright 2014 Advanced Micro Devices, Inc. 124e390cabSriastradh * 134e390cabSriastradh * Permission is hereby granted, free of charge, to any person obtaining a copy of this software 144e390cabSriastradh * and associated documentation files (the "Software"), to deal in the Software without restriction, 154e390cabSriastradh * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 164e390cabSriastradh * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 174e390cabSriastradh * subject to the following conditions: 184e390cabSriastradh * 194e390cabSriastradh * The above copyright notice and this permission notice shall be included in all copies or substantial 204e390cabSriastradh * portions of the Software. 214e390cabSriastradh * 224e390cabSriastradh * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 234e390cabSriastradh * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 244e390cabSriastradh * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 254e390cabSriastradh * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 264e390cabSriastradh * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 274e390cabSriastradh * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 284e390cabSriastradh * OTHER DEALINGS IN THE SOFTWARE. 294e390cabSriastradh * 304e390cabSriastradh \****************************************************************************/ 314e390cabSriastradh #ifndef _DISPLAY_OBJECT_SOC15_H_ 324e390cabSriastradh #define _DISPLAY_OBJECT_SOC15_H_ 334e390cabSriastradh 344e390cabSriastradh #if defined(_X86_) 354e390cabSriastradh #pragma pack(1) 364e390cabSriastradh #endif 374e390cabSriastradh 384e390cabSriastradh 394e390cabSriastradh /**************************************************** 404e390cabSriastradh * Display Object Type Definition 414e390cabSriastradh *****************************************************/ 424e390cabSriastradh enum display_object_type{ 434e390cabSriastradh DISPLAY_OBJECT_TYPE_NONE =0x00, 444e390cabSriastradh DISPLAY_OBJECT_TYPE_GPU =0x01, 454e390cabSriastradh DISPLAY_OBJECT_TYPE_ENCODER =0x02, 464e390cabSriastradh DISPLAY_OBJECT_TYPE_CONNECTOR =0x03 474e390cabSriastradh }; 484e390cabSriastradh 494e390cabSriastradh /**************************************************** 504e390cabSriastradh * Encorder Object Type Definition 514e390cabSriastradh *****************************************************/ 524e390cabSriastradh enum encoder_object_type{ 534e390cabSriastradh ENCODER_OBJECT_ID_NONE =0x00, 544e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY =0x01, 554e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 =0x02, 564e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 =0x03, 574e390cabSriastradh }; 584e390cabSriastradh 594e390cabSriastradh 604e390cabSriastradh /**************************************************** 614e390cabSriastradh * Connector Object ID Definition 624e390cabSriastradh *****************************************************/ 634e390cabSriastradh 644e390cabSriastradh enum connector_object_type{ 654e390cabSriastradh CONNECTOR_OBJECT_ID_NONE =0x00, 664e390cabSriastradh CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D =0x01, 674e390cabSriastradh CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D =0x02, 684e390cabSriastradh CONNECTOR_OBJECT_ID_HDMI_TYPE_A =0x03, 694e390cabSriastradh CONNECTOR_OBJECT_ID_LVDS =0x04, 704e390cabSriastradh CONNECTOR_OBJECT_ID_DISPLAYPORT =0x05, 714e390cabSriastradh CONNECTOR_OBJECT_ID_eDP =0x06, 724e390cabSriastradh CONNECTOR_OBJECT_ID_OPM =0x07 734e390cabSriastradh }; 744e390cabSriastradh 754e390cabSriastradh 764e390cabSriastradh /**************************************************** 774e390cabSriastradh * Protection Object ID Definition 784e390cabSriastradh *****************************************************/ 794e390cabSriastradh //No need 804e390cabSriastradh 814e390cabSriastradh /**************************************************** 824e390cabSriastradh * Object ENUM ID Definition 834e390cabSriastradh *****************************************************/ 844e390cabSriastradh 854e390cabSriastradh enum object_enum_id{ 864e390cabSriastradh OBJECT_ENUM_ID1 =0x01, 874e390cabSriastradh OBJECT_ENUM_ID2 =0x02, 884e390cabSriastradh OBJECT_ENUM_ID3 =0x03, 894e390cabSriastradh OBJECT_ENUM_ID4 =0x04, 904e390cabSriastradh OBJECT_ENUM_ID5 =0x05, 914e390cabSriastradh OBJECT_ENUM_ID6 =0x06 924e390cabSriastradh }; 934e390cabSriastradh 944e390cabSriastradh /**************************************************** 954e390cabSriastradh *Object ID Bit definition 964e390cabSriastradh *****************************************************/ 974e390cabSriastradh enum object_id_bit{ 984e390cabSriastradh OBJECT_ID_MASK =0x00FF, 994e390cabSriastradh ENUM_ID_MASK =0x0F00, 1004e390cabSriastradh OBJECT_TYPE_MASK =0xF000, 1014e390cabSriastradh OBJECT_ID_SHIFT =0x00, 1024e390cabSriastradh ENUM_ID_SHIFT =0x08, 1034e390cabSriastradh OBJECT_TYPE_SHIFT =0x0C 1044e390cabSriastradh }; 1054e390cabSriastradh 1064e390cabSriastradh 1074e390cabSriastradh /**************************************************** 1084e390cabSriastradh * GPU Object definition - Shared with BIOS 1094e390cabSriastradh *****************************************************/ 1104e390cabSriastradh enum gpu_objet_def{ 1114e390cabSriastradh GPU_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT | OBJECT_ENUM_ID1 << ENUM_ID_SHIFT) 1124e390cabSriastradh }; 1134e390cabSriastradh 1144e390cabSriastradh /**************************************************** 1154e390cabSriastradh * Encoder Object definition - Shared with BIOS 1164e390cabSriastradh *****************************************************/ 1174e390cabSriastradh 1184e390cabSriastradh enum encoder_objet_def{ 1194e390cabSriastradh ENCODER_INTERNAL_UNIPHY_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1204e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1214e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT), 1224e390cabSriastradh 1234e390cabSriastradh ENCODER_INTERNAL_UNIPHY_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1244e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1254e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT), 1264e390cabSriastradh 1274e390cabSriastradh ENCODER_INTERNAL_UNIPHY1_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1284e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1294e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT), 1304e390cabSriastradh 1314e390cabSriastradh ENCODER_INTERNAL_UNIPHY1_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1324e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1334e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT), 1344e390cabSriastradh 1354e390cabSriastradh ENCODER_INTERNAL_UNIPHY2_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1364e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1374e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT), 1384e390cabSriastradh 1394e390cabSriastradh ENCODER_INTERNAL_UNIPHY2_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 1404e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1414e390cabSriastradh ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) 1424e390cabSriastradh }; 1434e390cabSriastradh 1444e390cabSriastradh 1454e390cabSriastradh /**************************************************** 1464e390cabSriastradh * Connector Object definition - Shared with BIOS 1474e390cabSriastradh *****************************************************/ 1484e390cabSriastradh 1494e390cabSriastradh 1504e390cabSriastradh enum connector_objet_def{ 1514e390cabSriastradh CONNECTOR_LVDS_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1524e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1534e390cabSriastradh CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT), 1544e390cabSriastradh 1554e390cabSriastradh 1564e390cabSriastradh CONNECTOR_eDP_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1574e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1584e390cabSriastradh CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT), 1594e390cabSriastradh 1604e390cabSriastradh CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1614e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1624e390cabSriastradh CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT), 1634e390cabSriastradh 1644e390cabSriastradh CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1654e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1664e390cabSriastradh CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT), 1674e390cabSriastradh 1684e390cabSriastradh 1694e390cabSriastradh CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1704e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1714e390cabSriastradh CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT), 1724e390cabSriastradh 1734e390cabSriastradh CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1744e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1754e390cabSriastradh CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT), 1764e390cabSriastradh 1774e390cabSriastradh CONNECTOR_HDMI_TYPE_A_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1784e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1794e390cabSriastradh CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT), 1804e390cabSriastradh 1814e390cabSriastradh CONNECTOR_HDMI_TYPE_A_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1824e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1834e390cabSriastradh CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT), 1844e390cabSriastradh 1854e390cabSriastradh CONNECTOR_DISPLAYPORT_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1864e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 1874e390cabSriastradh CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 1884e390cabSriastradh 1894e390cabSriastradh CONNECTOR_DISPLAYPORT_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1904e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 1914e390cabSriastradh CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 1924e390cabSriastradh 1934e390cabSriastradh CONNECTOR_DISPLAYPORT_ENUM_ID3 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1944e390cabSriastradh OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ 1954e390cabSriastradh CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 1964e390cabSriastradh 1974e390cabSriastradh CONNECTOR_DISPLAYPORT_ENUM_ID4 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 1984e390cabSriastradh OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ 1994e390cabSriastradh CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 2004e390cabSriastradh 2014e390cabSriastradh CONNECTOR_OPM_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2024e390cabSriastradh OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 2034e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_A 2044e390cabSriastradh 2054e390cabSriastradh CONNECTOR_OPM_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2064e390cabSriastradh OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 2074e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_B 2084e390cabSriastradh 2094e390cabSriastradh CONNECTOR_OPM_ENUM_ID3 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2104e390cabSriastradh OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ 2114e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_C 2124e390cabSriastradh 2134e390cabSriastradh CONNECTOR_OPM_ENUM_ID4 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2144e390cabSriastradh OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ 2154e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_D 2164e390cabSriastradh 2174e390cabSriastradh CONNECTOR_OPM_ENUM_ID5 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2184e390cabSriastradh OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\ 2194e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_LVDS_TXxx 2204e390cabSriastradh 2214e390cabSriastradh 2224e390cabSriastradh CONNECTOR_OPM_ENUM_ID6 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 2234e390cabSriastradh OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\ 2244e390cabSriastradh CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_TXxx 2254e390cabSriastradh }; 2264e390cabSriastradh 2274e390cabSriastradh /**************************************************** 2284e390cabSriastradh * Router Object ID definition - Shared with BIOS 2294e390cabSriastradh *****************************************************/ 2304e390cabSriastradh //No Need, in future we ever need, we can define a record in atomfirwareSoC15.h associated with an object that has this router 2314e390cabSriastradh 2324e390cabSriastradh 2334e390cabSriastradh /**************************************************** 2344e390cabSriastradh * PROTECTION Object ID definition - Shared with BIOS 2354e390cabSriastradh *****************************************************/ 2364e390cabSriastradh //No need,in future we ever need, all display path are capable of protection now. 2374e390cabSriastradh 2384e390cabSriastradh /**************************************************** 2394e390cabSriastradh * Generic Object ID definition - Shared with BIOS 2404e390cabSriastradh *****************************************************/ 2414e390cabSriastradh //No need, in future we ever need like GLsync, we can define a record in atomfirwareSoC15.h associated with an object. 2424e390cabSriastradh 2434e390cabSriastradh 2444e390cabSriastradh #if defined(_X86_) 2454e390cabSriastradh #pragma pack() 2464e390cabSriastradh #endif 2474e390cabSriastradh 2484e390cabSriastradh #endif 2494e390cabSriastradh 2504e390cabSriastradh 2514e390cabSriastradh 252