linux/drivers/gpu/drm/amd/amdgpu/ObjectID.h

/*
* Copyright 2006-2007 Advanced Micro Devices, Inc.  
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/* based on stg/asic_reg/drivers/inc/asic_reg/ObjectID.h ver 23 */

#ifndef _OBJECTID_H
#define _OBJECTID_H

#if defined(_X86_)
#pragma pack(1)
#endif

/****************************************************/
/* Graphics Object Type Definition                  */
/****************************************************/
#define GRAPH_OBJECT_TYPE_NONE
#define GRAPH_OBJECT_TYPE_GPU
#define GRAPH_OBJECT_TYPE_ENCODER
#define GRAPH_OBJECT_TYPE_CONNECTOR
#define GRAPH_OBJECT_TYPE_ROUTER
/* deleted */
#define GRAPH_OBJECT_TYPE_DISPLAY_PATH  
#define GRAPH_OBJECT_TYPE_GENERIC

/****************************************************/
/* Encoder Object ID Definition                     */
/****************************************************/
#define ENCODER_OBJECT_ID_NONE 

/* Radeon Class Display Hardware */
#define ENCODER_OBJECT_ID_INTERNAL_LVDS
#define ENCODER_OBJECT_ID_INTERNAL_TMDS1
#define ENCODER_OBJECT_ID_INTERNAL_TMDS2
#define ENCODER_OBJECT_ID_INTERNAL_DAC1
#define ENCODER_OBJECT_ID_INTERNAL_DAC2
#define ENCODER_OBJECT_ID_INTERNAL_SDVOA
#define ENCODER_OBJECT_ID_INTERNAL_SDVOB

/* External Third Party Encoders */
#define ENCODER_OBJECT_ID_SI170B
#define ENCODER_OBJECT_ID_CH7303
#define ENCODER_OBJECT_ID_CH7301
#define ENCODER_OBJECT_ID_INTERNAL_DVO1
#define ENCODER_OBJECT_ID_EXTERNAL_SDVOA
#define ENCODER_OBJECT_ID_EXTERNAL_SDVOB
#define ENCODER_OBJECT_ID_TITFP513
#define ENCODER_OBJECT_ID_INTERNAL_LVTM1
#define ENCODER_OBJECT_ID_VT1623
#define ENCODER_OBJECT_ID_HDMI_SI1930
#define ENCODER_OBJECT_ID_HDMI_INTERNAL
#define ENCODER_OBJECT_ID_ALMOND
#define ENCODER_OBJECT_ID_TRAVIS
#define ENCODER_OBJECT_ID_NUTMEG
#define ENCODER_OBJECT_ID_HDMI_ANX9805

/* Kaleidoscope (KLDSCP) Class Display Hardware (internal) */
#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1
#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1
#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1
#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2
#define ENCODER_OBJECT_ID_SI178
#define ENCODER_OBJECT_ID_MVPU_FPGA
#define ENCODER_OBJECT_ID_INTERNAL_DDI
#define ENCODER_OBJECT_ID_VT1625
#define ENCODER_OBJECT_ID_HDMI_SI1932
#define ENCODER_OBJECT_ID_DP_AN9801
#define ENCODER_OBJECT_ID_DP_DP501
#define ENCODER_OBJECT_ID_INTERNAL_UNIPHY
#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA
#define ENCODER_OBJECT_ID_INTERNAL_UNIPHY1
#define ENCODER_OBJECT_ID_INTERNAL_UNIPHY2
#define ENCODER_OBJECT_ID_INTERNAL_VCE
#define ENCODER_OBJECT_ID_INTERNAL_UNIPHY3
#define ENCODER_OBJECT_ID_INTERNAL_AMCLK

#define ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO

/****************************************************/
/* Connector Object ID Definition                   */
/****************************************************/
#define CONNECTOR_OBJECT_ID_NONE 
#define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I
#define CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I
#define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D
#define CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D
#define CONNECTOR_OBJECT_ID_VGA
#define CONNECTOR_OBJECT_ID_COMPOSITE
#define CONNECTOR_OBJECT_ID_SVIDEO
#define CONNECTOR_OBJECT_ID_YPbPr
#define CONNECTOR_OBJECT_ID_D_CONNECTOR
#define CONNECTOR_OBJECT_ID_9PIN_DIN
#define CONNECTOR_OBJECT_ID_SCART
#define CONNECTOR_OBJECT_ID_HDMI_TYPE_A
#define CONNECTOR_OBJECT_ID_HDMI_TYPE_B
#define CONNECTOR_OBJECT_ID_LVDS
#define CONNECTOR_OBJECT_ID_7PIN_DIN
#define CONNECTOR_OBJECT_ID_PCIE_CONNECTOR
#define CONNECTOR_OBJECT_ID_CROSSFIRE
#define CONNECTOR_OBJECT_ID_HARDCODE_DVI
#define CONNECTOR_OBJECT_ID_DISPLAYPORT
#define CONNECTOR_OBJECT_ID_eDP
#define CONNECTOR_OBJECT_ID_MXM
#define CONNECTOR_OBJECT_ID_LVDS_eDP
#define CONNECTOR_OBJECT_ID_USBC

/* deleted */

/****************************************************/
/* Router Object ID Definition                      */
/****************************************************/
#define ROUTER_OBJECT_ID_NONE
#define ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL

/****************************************************/
/* Generic Object ID Definition                     */
/****************************************************/
#define GENERIC_OBJECT_ID_NONE
#define GENERIC_OBJECT_ID_GLSYNC
#define GENERIC_OBJECT_ID_PX2_NON_DRIVABLE
#define GENERIC_OBJECT_ID_MXM_OPM
#define GENERIC_OBJECT_ID_STEREO_PIN
#define GENERIC_OBJECT_ID_BRACKET_LAYOUT

/****************************************************/
/* Graphics Object ENUM ID Definition               */
/****************************************************/
#define GRAPH_OBJECT_ENUM_ID1
#define GRAPH_OBJECT_ENUM_ID2
#define GRAPH_OBJECT_ENUM_ID3
#define GRAPH_OBJECT_ENUM_ID4
#define GRAPH_OBJECT_ENUM_ID5
#define GRAPH_OBJECT_ENUM_ID6
#define GRAPH_OBJECT_ENUM_ID7

/****************************************************/
/* Graphics Object ID Bit definition                */
/****************************************************/
#define OBJECT_ID_MASK
#define ENUM_ID_MASK
#define RESERVED1_ID_MASK
#define OBJECT_TYPE_MASK
#define RESERVED2_ID_MASK
                                                  
#define OBJECT_ID_SHIFT
#define ENUM_ID_SHIFT
#define OBJECT_TYPE_SHIFT


/****************************************************/
/* Graphics Object family definition                */
/****************************************************/
#define CONSTRUCTOBJECTFAMILYID(GRAPHICS_OBJECT_TYPE, GRAPHICS_OBJECT_ID)
/****************************************************/
/* GPU Object ID definition - Shared with BIOS      */
/****************************************************/
#define GPU_ENUM_ID1

/****************************************************/
/* Encoder Object ID definition - Shared with BIOS  */
/****************************************************/
/*
#define ENCODER_INTERNAL_LVDS_ENUM_ID1        0x2101      
#define ENCODER_INTERNAL_TMDS1_ENUM_ID1       0x2102
#define ENCODER_INTERNAL_TMDS2_ENUM_ID1       0x2103
#define ENCODER_INTERNAL_DAC1_ENUM_ID1        0x2104
#define ENCODER_INTERNAL_DAC2_ENUM_ID1        0x2105
#define ENCODER_INTERNAL_SDVOA_ENUM_ID1       0x2106
#define ENCODER_INTERNAL_SDVOB_ENUM_ID1       0x2107
#define ENCODER_SIL170B_ENUM_ID1              0x2108  
#define ENCODER_CH7303_ENUM_ID1               0x2109
#define ENCODER_CH7301_ENUM_ID1               0x210A
#define ENCODER_INTERNAL_DVO1_ENUM_ID1        0x210B
#define ENCODER_EXTERNAL_SDVOA_ENUM_ID1       0x210C
#define ENCODER_EXTERNAL_SDVOB_ENUM_ID1       0x210D
#define ENCODER_TITFP513_ENUM_ID1             0x210E
#define ENCODER_INTERNAL_LVTM1_ENUM_ID1       0x210F
#define ENCODER_VT1623_ENUM_ID1               0x2110
#define ENCODER_HDMI_SI1930_ENUM_ID1          0x2111
#define ENCODER_HDMI_INTERNAL_ENUM_ID1        0x2112
#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1   0x2113
#define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1    0x2114
#define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1    0x2115
#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1    0x2116  
#define ENCODER_SI178_ENUM_ID1                   0x2117 
#define ENCODER_MVPU_FPGA_ENUM_ID1               0x2118
#define ENCODER_INTERNAL_DDI_ENUM_ID1            0x2119
#define ENCODER_VT1625_ENUM_ID1                  0x211A
#define ENCODER_HDMI_SI1932_ENUM_ID1             0x211B
#define ENCODER_ENCODER_DP_AN9801_ENUM_ID1       0x211C
#define ENCODER_DP_DP501_ENUM_ID1                0x211D
#define ENCODER_INTERNAL_UNIPHY_ENUM_ID1         0x211E
*/
#define ENCODER_INTERNAL_LVDS_ENUM_ID1

#define ENCODER_INTERNAL_TMDS1_ENUM_ID1

#define ENCODER_INTERNAL_TMDS2_ENUM_ID1

#define ENCODER_INTERNAL_DAC1_ENUM_ID1

#define ENCODER_INTERNAL_DAC2_ENUM_ID1

#define ENCODER_INTERNAL_SDVOA_ENUM_ID1

#define ENCODER_INTERNAL_SDVOA_ENUM_ID2

#define ENCODER_INTERNAL_SDVOB_ENUM_ID1

#define ENCODER_SIL170B_ENUM_ID1

#define ENCODER_CH7303_ENUM_ID1

#define ENCODER_CH7301_ENUM_ID1

#define ENCODER_INTERNAL_DVO1_ENUM_ID1

#define ENCODER_EXTERNAL_SDVOA_ENUM_ID1

#define ENCODER_EXTERNAL_SDVOA_ENUM_ID2


#define ENCODER_EXTERNAL_SDVOB_ENUM_ID1


#define ENCODER_TITFP513_ENUM_ID1

#define ENCODER_INTERNAL_LVTM1_ENUM_ID1

#define ENCODER_VT1623_ENUM_ID1

#define ENCODER_HDMI_SI1930_ENUM_ID1

#define ENCODER_HDMI_INTERNAL_ENUM_ID1

#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1


#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID2


#define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1

#define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1

#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1

#define ENCODER_SI178_ENUM_ID1  

#define ENCODER_MVPU_FPGA_ENUM_ID1

#define ENCODER_INTERNAL_DDI_ENUM_ID1 

#define ENCODER_VT1625_ENUM_ID1

#define ENCODER_HDMI_SI1932_ENUM_ID1

#define ENCODER_DP_DP501_ENUM_ID1

#define ENCODER_DP_AN9801_ENUM_ID1

#define ENCODER_INTERNAL_UNIPHY_ENUM_ID1

#define ENCODER_INTERNAL_UNIPHY_ENUM_ID2

#define ENCODER_INTERNAL_KLDSCP_LVTMA_ENUM_ID1  

#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID1

#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID2

#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID1

#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID2

#define ENCODER_INTERNAL_UNIPHY3_ENUM_ID1

#define ENCODER_INTERNAL_UNIPHY3_ENUM_ID2

#define ENCODER_GENERAL_EXTERNAL_DVO_ENUM_ID1

#define ENCODER_ALMOND_ENUM_ID1

#define ENCODER_ALMOND_ENUM_ID2

#define ENCODER_TRAVIS_ENUM_ID1

#define ENCODER_TRAVIS_ENUM_ID2

#define ENCODER_NUTMEG_ENUM_ID1

#define ENCODER_VCE_ENUM_ID1

#define ENCODER_HDMI_ANX9805_ENUM_ID1

/****************************************************/
/* Connector Object ID definition - Shared with BIOS */
/****************************************************/
/*
#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1        0x3101
#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1          0x3102
#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1        0x3103
#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1          0x3104
#define CONNECTOR_VGA_ENUM_ID1                      0x3105
#define CONNECTOR_COMPOSITE_ENUM_ID1                0x3106
#define CONNECTOR_SVIDEO_ENUM_ID1                   0x3107
#define CONNECTOR_YPbPr_ENUM_ID1                    0x3108
#define CONNECTOR_D_CONNECTORE_ENUM_ID1             0x3109
#define CONNECTOR_9PIN_DIN_ENUM_ID1                 0x310A
#define CONNECTOR_SCART_ENUM_ID1                    0x310B
#define CONNECTOR_HDMI_TYPE_A_ENUM_ID1              0x310C
#define CONNECTOR_HDMI_TYPE_B_ENUM_ID1              0x310D
#define CONNECTOR_LVDS_ENUM_ID1                     0x310E
#define CONNECTOR_7PIN_DIN_ENUM_ID1                 0x310F
#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1           0x3110
*/
#define CONNECTOR_LVDS_ENUM_ID1

#define CONNECTOR_LVDS_ENUM_ID2

#define CONNECTOR_eDP_ENUM_ID1

#define CONNECTOR_eDP_ENUM_ID2

#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1

#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID2

#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1

#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID2

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID3

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID4

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID5

#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID6

#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1

#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID2

#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID3

#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID4

#define CONNECTOR_VGA_ENUM_ID1

#define CONNECTOR_VGA_ENUM_ID2

#define CONNECTOR_COMPOSITE_ENUM_ID1

#define CONNECTOR_COMPOSITE_ENUM_ID2

#define CONNECTOR_SVIDEO_ENUM_ID1

#define CONNECTOR_SVIDEO_ENUM_ID2

#define CONNECTOR_YPbPr_ENUM_ID1

#define CONNECTOR_YPbPr_ENUM_ID2

#define CONNECTOR_D_CONNECTOR_ENUM_ID1

#define CONNECTOR_D_CONNECTOR_ENUM_ID2

#define CONNECTOR_9PIN_DIN_ENUM_ID1

#define CONNECTOR_9PIN_DIN_ENUM_ID2

#define CONNECTOR_SCART_ENUM_ID1

#define CONNECTOR_SCART_ENUM_ID2

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID1

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID2

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID3

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID4

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID5

#define CONNECTOR_HDMI_TYPE_A_ENUM_ID6

#define CONNECTOR_HDMI_TYPE_B_ENUM_ID1

#define CONNECTOR_HDMI_TYPE_B_ENUM_ID2

#define CONNECTOR_7PIN_DIN_ENUM_ID1

#define CONNECTOR_7PIN_DIN_ENUM_ID2

#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1

#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID2

#define CONNECTOR_CROSSFIRE_ENUM_ID1

#define CONNECTOR_CROSSFIRE_ENUM_ID2


#define CONNECTOR_HARDCODE_DVI_ENUM_ID1

#define CONNECTOR_HARDCODE_DVI_ENUM_ID2

#define CONNECTOR_DISPLAYPORT_ENUM_ID1

#define CONNECTOR_DISPLAYPORT_ENUM_ID2

#define CONNECTOR_DISPLAYPORT_ENUM_ID3

#define CONNECTOR_DISPLAYPORT_ENUM_ID4

#define CONNECTOR_DISPLAYPORT_ENUM_ID5

#define CONNECTOR_DISPLAYPORT_ENUM_ID6

#define CONNECTOR_MXM_ENUM_ID1

#define CONNECTOR_MXM_ENUM_ID2

#define CONNECTOR_MXM_ENUM_ID3

#define CONNECTOR_MXM_ENUM_ID4

#define CONNECTOR_MXM_ENUM_ID5

#define CONNECTOR_MXM_ENUM_ID6

#define CONNECTOR_MXM_ENUM_ID7

#define CONNECTOR_LVDS_eDP_ENUM_ID1

#define CONNECTOR_LVDS_eDP_ENUM_ID2

/****************************************************/
/* Router Object ID definition - Shared with BIOS   */
/****************************************************/
#define ROUTER_I2C_EXTENDER_CNTL_ENUM_ID1

/* deleted */

/****************************************************/
/* Generic Object ID definition - Shared with BIOS  */
/****************************************************/
#define GENERICOBJECT_GLSYNC_ENUM_ID1

#define GENERICOBJECT_PX2_NON_DRIVABLE_ID1

#define GENERICOBJECT_PX2_NON_DRIVABLE_ID2

#define GENERICOBJECT_MXM_OPM_ENUM_ID1

#define GENERICOBJECT_STEREO_PIN_ENUM_ID1

#define GENERICOBJECT_BRACKET_LAYOUT_ENUM_ID1

#define GENERICOBJECT_BRACKET_LAYOUT_ENUM_ID2
/****************************************************/
/* Object Cap definition - Shared with BIOS         */
/****************************************************/
#define GRAPHICS_OBJECT_CAP_I2C
#define GRAPHICS_OBJECT_CAP_TABLE_ID


#define GRAPHICS_OBJECT_I2CCOMMAND_TABLE_ID
#define GRAPHICS_OBJECT_HOTPLUGDETECTIONINTERUPT_TABLE_ID
#define GRAPHICS_OBJECT_ENCODER_OUTPUT_PROTECTION_TABLE_ID

#if defined(_X86_)
#pragma pack()
#endif

#endif  /*GRAPHICTYPE */