/******************************************************************************
 *
 * Copyright 2014, Silicon Image, Inc.  All rights reserved.
 * No part of this work may be reproduced, modified, distributed, transmitted,
 * transcribed, or translated into any language or computer format, in any form
 * or by any means without written permission of
 * Silicon Image, Inc., 1140 East Arques Avenue, Sunnyvale, California 94085
 *
 *****************************************************************************/
/**
 * @file sii9777rx_ipc_def.h
 *
 * @brief IPC message handler
 *
 *****************************************************************************/
#ifndef SII9777RX_IPC_DEF_H
#define SII9777RX_IPC_DEF_H

/***** public macro definitions **********************************************/

//****************************************************************************/
//**** Driver General Management
//****************************************************************************/
#define SII9777_CONFIGURE_SET                           0x08A
#define SII9777_CONFIGURE_GET                           0x08B
#define SII9777_STANDBY_SET                             0x084
#define SII9777_STANDBY_GET                             0x085
#define SII9777_CHIPID_QUERY                            0x00A
#define SII9777_CHIPREVISION_QUERY                      0x00B
#define SII9777_PRODUCTID_QUERY                         0x00C
#define SII9777_FIRMWAREVERSION_QUERY                   0x00D
#define SII9777_RELEASETIMESTAMP_QUERY                  0x00E
#define SII9777_EVENTFLAGSMASK_SET                      0x086
#define SII9777_EVENTFLAGSMASK_GET                      0x087
#define SII9777_EVENTFLAGS_QUERY                        0x088
#define SII9777_EVENTFLAGSSTATUS_CLEAR                  0x089
#define SII9777_GPIOCONFIG_SET                          0x08C
#define SII9777_GPIOCONFIG_GET                          0x08D
#define SII9777_GPIOOUTPUT_SET                          0x08E
#define SII9777_GPIOOUTPUT_CLR                          0x08F
#define SII9777_GPIO_QUERY                              0x090
#define SII9777_GPIOEVENTMASK_SET                       0x0A0
#define SII9777_GPIOEVENTMASK_GET                       0x0A1

//****************************************************************************/
//**** A/V Up-Stream Management
//****************************************************************************/
#define SII9777_PLUS5V_QUERY                            0x022
#define SII9777_INPUTSELECT_SET                         0x004
#define SII9777_INPUTSELECT_GET                         0x005
#define SII9777_EDIDDDC_SET                             0x061
#define SII9777_EDIDDDC_GET                             0x062
#define SII9777_EDIDREPLICATE_SET                       0x006
#define SII9777_EDIDREPLICATE_GET                       0x007
#define SII9777_EDID_SET                                0x002
#define SII9777_EDID_GET                                0x003
#define SII9777_EDID_QUERY                              0x032
#define SII9777_HPDREPLICATEENABLE_SET                  0x011
#define SII9777_HPDREPLICATEENABLE_GET                  0x012
#define SII9777_HPD_SET                                 0x013
#define SII9777_HPD_GET                                 0x014
#define SII9777_HPD_QUERY                               0x034
#define SII9777_AVLINK_QUERY                            0x01F
#define SII9777_AVMUTE_QUERY                            0x021
#define SII9777_VIDEOTIMING_QUERY                       0x023
#define SII9777_VIDEOFMT_QUERY                          0x024
#define SII9777_AUDIOFMT_QUERY                          0x025
#define SII9777_ISRC_QUERY                              0x063
#define SII9777_ACP_QUERY                               0x065
#define SII9777_SPD_QUERY                               0x066
#define SII9777_AUDIOSOURCE_SET                         0x0A2
#define SII9777_AUDIOSOURCE_GET                         0x0A3
#define SII9777_I2SSPDIFAUDIOFORMAT_SET                 0x0A4
#define SII9777_I2SSPDIFAUDIOFORMAT_GET                 0x0A5
#define SII9777_HDR_QUERY                               0x0C0

//****************************************************************************/
//**** HDCP Management
//****************************************************************************/
#define SII9777_HDCPDDC_SET                             0x067
#define SII9777_HDCPDDC_GET                             0x068
#define SII9777_HDCPSTREAMMANAGEINFO_QUERY              0x07C
#define SII9777_HDCPTOPOLOGY_SET                        0x015
#define SII9777_HDCPTOPOLOGY_GET                        0x016
#define SII9777_HDCPBKSVRXIDLIST_SET                    0x017
#define SII9777_HDCPBKSVRXIDLIST_GET                    0x018
#define SII9777_HDCPREPEATERENABLE_SET                  0x019
#define SII9777_HDCPREPEATERENABLE_GET                  0x01A
#define SII9777_RXHDCPBKSVOWN_QUERY                     0x07D
#define SII9777_RXHDCPRXIDOWN_QUERY                     0x07E
#define SII9777_HDCPSTATUS_QUERY                        0x020

//****************************************************************************/
//**** MHL
//****************************************************************************/
#define SII9777_CDSENSE_QUERY                           0x064
#define SII9777_MHLVERSION_QUERY                        0x050
#define SII9777_CBUSMODE_QUERY                          0x051
#define SII9777_CBUSEVENT_QUERY                         0x045
#define SII9777_VBUSREQUEST_QUERY                       0x052
#define SII9777_VBUSREQUESTGRANT                        0x053
#define SII9777_CBUSLOCALDEVCAP_SET                     0x041
#define SII9777_CBUSLOCALDEVCAP_GET                     0x042
#define SII9777_CBUSLOCALDEVCAPPOW_SET                  0x054
#define SII9777_CBUSLOCALDEVCAPPOW_GET                  0x055
#define SII9777_CBUSLOCALDEVCAPVIDEOLINKMODE_SET        0x056
#define SII9777_CBUSLOCALDEVCAPVIDEOLINKMODE_GET        0x057
#define SII9777_CBUSLOCALDEVCAPAUDIOLINKMODE_SET        0x058
#define SII9777_CBUSLOCALDEVCAPAUDIOLINKMODE_GET        0x059
#define SII9777_CBUSLOCALDEVCAPVIDEOTYPE_SET            0x05A
#define SII9777_CBUSLOCALDEVCAPVIDEOTYPE_GET            0x05B
#define SII9777_CBUSLOCALDEVCAPFEATUREFLAG_SET          0x05C
#define SII9777_CBUSLOCALDEVCAPFEATUREFLAG_GET          0x05D
#define SII9777_CBUSDCAPCHG_SEND                        0x043
#define SII9777_CBUSREMOTEDEVCAP_QUERY                  0x044
#define SII9777_CBUSLOCALXDEVCAP_SET                    0x05E
#define SII9777_CBUSLOCALXDEVCAP_GET                    0x05F
#define SII9777_CBUSREMOTEXDEVCAP_QUERY                 0x060
#define SII9777_CBUSBURST_SEND                          0x046
#define SII9777_CBUSBURST_RECEIVE                       0x047
#define SII9777_CBUSMSCMSG_SEND                         0x048
#define SII9777_CBUSMSCMSG_RECEIVE                      0x049

//****************************************************************************/
//**** A/V Down-Stream Management
//****************************************************************************/
#define SII9777_TMDSENABLE_SET                          0x028
#define SII9777_TMDSENABLE_GET                          0x029
#define SII9777_AVMUTE_SET                              0x02A
#define SII9777_AVMUTE_GET                              0x02B
#define SII9777_TMDSSWINGLEVEL_SET                      0x080
#define SII9777_TMDSSWINGLEVEL_GET                      0x081
#define SII9777_TMDSPINSWAP_SET                         0x082
#define SII9777_TMDSPINSWAP_GET                         0x083
#define SII9777_PRIMTXPORT_SET                          0x026
#define SII9777_PRIMTXPORT_GET                          0x027
#define SII9777_HDCPENABLE_SET                          0x0A6
#define SII9777_HDCPENABLE_GET                          0x0A7
#define SII9777_BITDEPTHLIMIT_SET                       0x0A8
#define SII9777_BITDEPTHLIMIT_GET                       0x0A9

//****************************************************************************/
//**** Video Pixel Format Conversion
//****************************************************************************/
#define SII9777_OUTPUTPIXELFORMAT_SET                   0x06B
#define SII9777_OUTPUTPIXELFORMAT_GET                   0x06C
#define SII9777_PIXELFORMATCONVERSION_SET               0x06D
#define SII9777_PIXELFORMATCONVERSION_GET               0x06E
#define SII9777_PIXELFORMATCONVERSION_QUERY             0x06F

//****************************************************************************/
//**** Dual TMDS Link
//****************************************************************************/
#define SII9777_DUALLINKLUT_SET                         0x01B
#define SII9777_DUALLINKLUT_GET                         0x01C
#define SII9777_DUALLINKMANUAL_SET                      0x00F
#define SII9777_DUALLINKMANUAL_GET                      0x010
#define SII9777_DUALLINKAUTOENABLE_SET                  0x01D
#define SII9777_DUALLINKAUTOENABLE_GET                  0x01E
#define SII9777_DUALLINK_QUERY                          0x035
#define SII9777_DUALLINKMODE_SET                        0x008
#define Sii9777_DUALLINKMODE_GET                        0x009
#define SII9777_DUALLINKSWAP_SET                        0x094
#define SII9777_DUALLINKSWAP_GET                        0x095

//****************************************************************************/
//**** 4K SMPTE/CEA Cross Conversion
//****************************************************************************/
#define SII9777_SMPTE4K_SET                             0x070
#define SII9777_SMPTE4K_GET                             0x071

//****************************************************************************/
//**** Test Pattern Generator (TPG)
//****************************************************************************/
#define SII9777_TPGENABLE_SET                           0x039
#define SII9777_TPGENABLE_GET                           0x03A
#define SII9777_TPGPATTERN_SET                          0x03B
#define SII9777_TPGPATTERN_GET                          0x03C
#define SII9777_TPGVIDRES_SET                           0x03D
#define SII9777_TPGVIDRES_GET                           0x03E

//****************************************************************************/
//**** Color Management System (CMS)
//****************************************************************************/
#define SII9777_CMSBYPASS_SET                           0x072
#define SII9777_CMSBYPASS_GET                           0x073
#define SII9777_CMSSATURATION_SET                       0x074
#define SII9777_CMSSATURATION_GET                       0x075
#define SII9777_CMSHUE_SET                              0x076
#define SII9777_CMSHUE_GET                              0x077
#define SII9777_CMSWHITEPOINTTEMP_SET                   0x078
#define SII9777_CMSWHITEPOINTTEMP_GET                   0x079

//****************************************************************************/
//**** Audio Management
//****************************************************************************/
#define SII9777_ARCENABLE_SET                           0x07A
#define SII9777_ARCENABLE_GET                           0x07B

//****************************************************************************/
//**** Miscellaneous
//****************************************************************************/
#define SII9777_CHIPREG_WRITE                           0x091
#define SII9777_CHIPREG_READ                            0x092
#define SII9777_SCDCRXCONFIG_QUERY                      0x0AA
#define SII9777_SCDCTX0CONFIG_QUERY                     0x0AB

#endif // SII9777RX_IPC_DEF_H