162306a36Sopenharmony_ci/****************************************************************************\ 262306a36Sopenharmony_ci* 362306a36Sopenharmony_ci* Module Name displayobjectsoc15.h 462306a36Sopenharmony_ci* Project 562306a36Sopenharmony_ci* Device 662306a36Sopenharmony_ci* 762306a36Sopenharmony_ci* Description Contains the common definitions for display objects for SoC15 products. 862306a36Sopenharmony_ci* 962306a36Sopenharmony_ci* Copyright 2014 Advanced Micro Devices, Inc. 1062306a36Sopenharmony_ci* 1162306a36Sopenharmony_ci* Permission is hereby granted, free of charge, to any person obtaining a copy of this software 1262306a36Sopenharmony_ci* and associated documentation files (the "Software"), to deal in the Software without restriction, 1362306a36Sopenharmony_ci* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 1462306a36Sopenharmony_ci* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 1562306a36Sopenharmony_ci* subject to the following conditions: 1662306a36Sopenharmony_ci* 1762306a36Sopenharmony_ci* The above copyright notice and this permission notice shall be included in all copies or substantial 1862306a36Sopenharmony_ci* portions of the Software. 1962306a36Sopenharmony_ci* 2062306a36Sopenharmony_ci* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 2162306a36Sopenharmony_ci* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2262306a36Sopenharmony_ci* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2362306a36Sopenharmony_ci* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 2462306a36Sopenharmony_ci* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 2562306a36Sopenharmony_ci* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2662306a36Sopenharmony_ci* OTHER DEALINGS IN THE SOFTWARE. 2762306a36Sopenharmony_ci* 2862306a36Sopenharmony_ci\****************************************************************************/ 2962306a36Sopenharmony_ci#ifndef _DISPLAY_OBJECT_SOC15_H_ 3062306a36Sopenharmony_ci#define _DISPLAY_OBJECT_SOC15_H_ 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#if defined(_X86_) 3362306a36Sopenharmony_ci#pragma pack(1) 3462306a36Sopenharmony_ci#endif 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci/**************************************************** 3862306a36Sopenharmony_ci* Display Object Type Definition 3962306a36Sopenharmony_ci*****************************************************/ 4062306a36Sopenharmony_cienum display_object_type{ 4162306a36Sopenharmony_ciDISPLAY_OBJECT_TYPE_NONE =0x00, 4262306a36Sopenharmony_ciDISPLAY_OBJECT_TYPE_GPU =0x01, 4362306a36Sopenharmony_ciDISPLAY_OBJECT_TYPE_ENCODER =0x02, 4462306a36Sopenharmony_ciDISPLAY_OBJECT_TYPE_CONNECTOR =0x03 4562306a36Sopenharmony_ci}; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci/**************************************************** 4862306a36Sopenharmony_ci* Encorder Object Type Definition 4962306a36Sopenharmony_ci*****************************************************/ 5062306a36Sopenharmony_cienum encoder_object_type{ 5162306a36Sopenharmony_ciENCODER_OBJECT_ID_NONE =0x00, 5262306a36Sopenharmony_ciENCODER_OBJECT_ID_INTERNAL_UNIPHY =0x01, 5362306a36Sopenharmony_ciENCODER_OBJECT_ID_INTERNAL_UNIPHY1 =0x02, 5462306a36Sopenharmony_ciENCODER_OBJECT_ID_INTERNAL_UNIPHY2 =0x03, 5562306a36Sopenharmony_ci}; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci/**************************************************** 5962306a36Sopenharmony_ci* Connector Object ID Definition 6062306a36Sopenharmony_ci*****************************************************/ 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_cienum connector_object_type{ 6362306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_NONE =0x00, 6462306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D =0x01, 6562306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D =0x02, 6662306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_HDMI_TYPE_A =0x03, 6762306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_LVDS =0x04, 6862306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_DISPLAYPORT =0x05, 6962306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_eDP =0x06, 7062306a36Sopenharmony_ciCONNECTOR_OBJECT_ID_OPM =0x07 7162306a36Sopenharmony_ci}; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci/**************************************************** 7562306a36Sopenharmony_ci* Protection Object ID Definition 7662306a36Sopenharmony_ci*****************************************************/ 7762306a36Sopenharmony_ci//No need 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci/**************************************************** 8062306a36Sopenharmony_ci* Object ENUM ID Definition 8162306a36Sopenharmony_ci*****************************************************/ 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_cienum object_enum_id{ 8462306a36Sopenharmony_ciOBJECT_ENUM_ID1 =0x01, 8562306a36Sopenharmony_ciOBJECT_ENUM_ID2 =0x02, 8662306a36Sopenharmony_ciOBJECT_ENUM_ID3 =0x03, 8762306a36Sopenharmony_ciOBJECT_ENUM_ID4 =0x04, 8862306a36Sopenharmony_ciOBJECT_ENUM_ID5 =0x05, 8962306a36Sopenharmony_ciOBJECT_ENUM_ID6 =0x06 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci/**************************************************** 9362306a36Sopenharmony_ci*Object ID Bit definition 9462306a36Sopenharmony_ci*****************************************************/ 9562306a36Sopenharmony_cienum object_id_bit{ 9662306a36Sopenharmony_ciOBJECT_ID_MASK =0x00FF, 9762306a36Sopenharmony_ciENUM_ID_MASK =0x0F00, 9862306a36Sopenharmony_ciOBJECT_TYPE_MASK =0xF000, 9962306a36Sopenharmony_ciOBJECT_ID_SHIFT =0x00, 10062306a36Sopenharmony_ciENUM_ID_SHIFT =0x08, 10162306a36Sopenharmony_ciOBJECT_TYPE_SHIFT =0x0C 10262306a36Sopenharmony_ci}; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci/**************************************************** 10662306a36Sopenharmony_ci* GPU Object definition - Shared with BIOS 10762306a36Sopenharmony_ci*****************************************************/ 10862306a36Sopenharmony_cienum gpu_objet_def{ 10962306a36Sopenharmony_ciGPU_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT | OBJECT_ENUM_ID1 << ENUM_ID_SHIFT) 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci/**************************************************** 11362306a36Sopenharmony_ci* Encoder Object definition - Shared with BIOS 11462306a36Sopenharmony_ci*****************************************************/ 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_cienum encoder_objet_def{ 11762306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 11862306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 11962306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT), 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 12262306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 12362306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT), 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY1_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 12662306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 12762306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT), 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY1_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 13062306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 13162306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT), 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY2_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 13462306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 13562306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT), 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciENCODER_INTERNAL_UNIPHY2_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ 13862306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 13962306a36Sopenharmony_ci ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci/**************************************************** 14462306a36Sopenharmony_ci* Connector Object definition - Shared with BIOS 14562306a36Sopenharmony_ci*****************************************************/ 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_cienum connector_objet_def{ 14962306a36Sopenharmony_ciCONNECTOR_LVDS_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 15062306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 15162306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT), 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciCONNECTOR_eDP_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 15562306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 15662306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT), 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciCONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 15962306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 16062306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT), 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciCONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 16362306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 16462306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT), 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ciCONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 16862306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 16962306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT), 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciCONNECTOR_DUAL_LINK_DVI_D_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 17262306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 17362306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT), 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciCONNECTOR_HDMI_TYPE_A_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 17662306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 17762306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT), 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciCONNECTOR_HDMI_TYPE_A_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 18062306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 18162306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT), 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ciCONNECTOR_DISPLAYPORT_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 18462306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 18562306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciCONNECTOR_DISPLAYPORT_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 18862306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 18962306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ciCONNECTOR_DISPLAYPORT_ENUM_ID3 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 19262306a36Sopenharmony_ci OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ 19362306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ciCONNECTOR_DISPLAYPORT_ENUM_ID4 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 19662306a36Sopenharmony_ci OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ 19762306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT), 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID1 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 20062306a36Sopenharmony_ci OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ 20162306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_A 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID2 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 20462306a36Sopenharmony_ci OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ 20562306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_B 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID3 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 20862306a36Sopenharmony_ci OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ 20962306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_C 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID4 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 21262306a36Sopenharmony_ci OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ 21362306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_DP_D 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID5 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 21662306a36Sopenharmony_ci OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\ 21762306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT), //Mapping to MXM_LVDS_TXxx 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ciCONNECTOR_OPM_ENUM_ID6 =( DISPLAY_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ 22162306a36Sopenharmony_ci OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\ 22262306a36Sopenharmony_ci CONNECTOR_OBJECT_ID_OPM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_TXxx 22362306a36Sopenharmony_ci}; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci/**************************************************** 22662306a36Sopenharmony_ci* Router Object ID definition - Shared with BIOS 22762306a36Sopenharmony_ci*****************************************************/ 22862306a36Sopenharmony_ci//No Need, in future we ever need, we can define a record in atomfirwareSoC15.h associated with an object that has this router 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci/**************************************************** 23262306a36Sopenharmony_ci* PROTECTION Object ID definition - Shared with BIOS 23362306a36Sopenharmony_ci*****************************************************/ 23462306a36Sopenharmony_ci//No need,in future we ever need, all display path are capable of protection now. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci/**************************************************** 23762306a36Sopenharmony_ci* Generic Object ID definition - Shared with BIOS 23862306a36Sopenharmony_ci*****************************************************/ 23962306a36Sopenharmony_ci//No need, in future we ever need like GLsync, we can define a record in atomfirwareSoC15.h associated with an object. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci#if defined(_X86_) 24362306a36Sopenharmony_ci#pragma pack() 24462306a36Sopenharmony_ci#endif 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci#endif 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci 250