/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ANX6345_H_ #define __ANX6345_H_ #include<linux/rk_fb.h> #include "anx9805.h" #define ANX6345_SCL_RATE (100*1000) #define MAX_REG 0xf0 #define MAX_BUF_CNT 6 #define DP_TX_PORT0_ADDR 0x70 #define HDMI_TX_PORT0_ADDR 0x72 #define DP_TIMEOUT_LOOP_CNT 100 #define MAX_CR_LOOP 5 #define MAX_EQ_LOOP 5 /***************************************************************/ // DEV_ADDR = 0x7A or 0x7B , MIPI Rx Registers #define MIPI_ANALOG_PWD_CTRL0 0x00 #define MIPI_ANALOG_PWD_CTRL1 0x01 #define MIPI_ANALOG_PWD_CTRL2 0x02 #define MIPI_MISC_CTRL 0x03 #define MIPI_TIMING_REG0 0x04 #define MIPI_TIMING_REG1 0x05 #define MIPI_TIMING_REG2 0x06 #define MIPI_TIMING_REG3 0x07 #define MIPI_TIMING_REG4 0x08 #define MIPI_TIMING_REG5 0x09 #define MIPI_TIMING_REG6 0x0a #define MIPI_HS_JITTER_REG 0x0B #define MIPI_VID_STABLE_CNT 0x0C #define MIPI_ANALOG_CTRL0 0x0D #define MIPI_ANALOG_CTRL1 0x0E #define MIPI_ANALOG_CTRL2 0x0F #define MIPI_PRBS_REG 0x10 #define MIPI_PROTOCOL_STATE 0x11 //End for DEV_addr 0x7A/0x7E /***************************************************************/ // DEV_ADDR = 0x70 or 0x78 , Displayport mode and HDCP registers #define HDCP_STATUS 0x00 #define HDCP_AUTH_PASS 0x02//bit position #define HDCP_CONTROL_0_REG 0x01 #define HDCP_CONTROL_0_STORE_AN 0x80//bit position #define HDCP_CONTROL_0_RX_REPEATER 0x40//bit position #define HDCP_CONTROL_0_RE_AUTH 0x20//bit position #define HDCP_CONTROL_0_SW_AUTH_OK 0x10//bit position #define HDCP_CONTROL_0_HARD_AUTH_EN 0x08//bit position #define HDCP_CONTROL_0_HDCP_ENC_EN 0x04//bit position #define HDCP_CONTROL_0_BKSV_SRM_PASS 0x02//bit position #define HDCP_CONTROL_0_KSVLIST_VLD 0x01//bit position #define HDCP_CONTROL_1_REG 0x02 #define HDCP_CONTROL_1_DDC_NO_STOP 0x20//bit position #define HDCP_CONTROL_1_DDC_NO_ACK 0x10//bit position #define HDCP_CONTROL_1_EDDC_NO_ACK 0x08//bit position //#define HDCP_CONTROL_1_HDCP_EMB_SCREEN_EN 0x04//bit position #define HDCP_CONTROL_1_RCV_11_EN 0x02//bit position #define HDCP_CONTROL_1_HDCP_11_EN 0x01//bit position #define HDCP_LINK_CHK_FRAME_NUM 0x03 #define HDCP_CONTROL_2_REG 0x04 #define HDCP_AKSV0 0x05 #define HDCP_AKSV1 0x06 #define HDCP_AKSV2 0x07 #define HDCP_AKSV3 0x08 #define HDCP_AKSV4 0x09 //AKSV #define HDCP_AN0 0x0A #define HDCP_AN1 0x0B #define HDCP_AN2 0x0C #define HDCP_AN3 0x0D #define HDCP_AN4 0x0E #define HDCP_AN5 0x0F #define HDCP_AN6 0x10 #define HDCP_AN7 0x11 //BKSV #define HDCP_BKSV0 0x12 #define HDCP_BKSV1 0x13 #define HDCP_BKSV2 0x14 #define HDCP_BKSV3 0x15 #define HDCP_BKSV4 0x16 #define HDCP_R0_L 0x17 #define HDCP_R0_H 0x18 #define M_VID_0 0xC0 #define M_VID_1 0xC1 #define M_VID_2 0xC2 #define N_VID_0 0xC3 #define N_VID_1 0xC4 #define N_VID_2 0xC5 #define HDCP_R0_WAIT_Timer 0x40 #define SYS_CTRL1_REG 0x80 //#define SYS_CTRL1_PD_IO 0x80 // bit position //#define SYS_CTRL1_PD_VID 0x40 // bit position //#define SYS_CTRL1_PD_LINK 0x20 // bit position //#define SYS_CTRL1_PD_TOTAL 0x10 // bit position //#define SYS_CTRL1_MODE_SEL 0x08 // bit position #define SYS_CTRL1_DET_STA 0x04 // bit position #define SYS_CTRL1_FORCE_DET 0x02 // bit position #define SYS_CTRL1_DET_CTRL 0x01 // bit position #define SYS_CTRL2_REG 0x81 // #define SYS_CTRL2_ENHANCED 0x08 //bit position #define SYS_CTRL2_CHA_STA 0x04 // bit position #define SYS_CTRL2_FORCE_CHA 0x02 // bit position #define SYS_CTRL2_CHA_CTRL 0x01 // bit position #define SYS_CTRL3_REG 0x82 #define SYS_CTRL3_HPD_STATUS 0x40 // bit position #define SYS_CTRL3_F_HPD 0x20 // bit position #define SYS_CTRL3_HPD_CTRL 0x10 // bit position #define SYS_CTRL3_STRM_VALID 0x04 // bit position #define SYS_CTRL3_F_VALID 0x02 // bit position #define SYS_CTRL3_VALID_CTRL 0x01 // bit position #define SYS_CTRL4_REG 0x83 #define SYS_CTRL4_ENHANCED 0x08//bit position #define VID_CTRL 0x84 #define AUD_CTRL 0x87 #define AUD_CTRL_AUD_EN 0x01 #define PKT_EN_REG 0x90 #define PKT_AUD_UP 0x80 // bit position #define PKT_AVI_UD 0x40 // bit position #define PKT_MPEG_UD 0x20 // bit position #define PKT_SPD_UD 0x10 // bit position #define PKT_AUD_EN 0x08 // bit position= #define PKT_AVI_EN 0x04 // bit position #define PKT_MPEG_EN 0x02 // bit position #define PKT_SPD_EN 0x01 // bit position #define HDCP_CTRL 0x92 #define LINK_BW_SET_REG 0xA0 #define LANE_COUNT_SET_REG 0xA1 #define TRAINING_PTN_SET_REG 0xA2 #define SCRAMBLE_DISABLE 0x20//bit 5 #define TRAINING_LANE0_SET_REG 0xA3 #define TRAINING_LANE0_SET_MAX_PRE_REACH 0x20 // bit position #define TRAINING_LANE0_SET_MAX_DRIVE_REACH 0x04 // bit position #define TRAINING_LANE1_SET_REG 0xA4 #define SSC_CTRL_REG1 0xA7 #define SPREAD_AMP 0x10//bit 4 #define MODULATION_FREQ 0x01//bit 0 #define LINK_TRAINING_CTRL_REG 0xA8 #define LINK_TRAINING_CTRL_EN 0x01 // bit position #define DEBUG_REG1 0xB0 #define DEBUG_HPD_POLLING_DET 0x40//bit position #define DEBUG_HPD_POLLING_EN 0x20//bit position #define DEBUG_PLL_LOCK 0x10//bit position #define LINK_DEBUG_REG 0xB8 #define LINK_DEBUG_INSERT_ER 0x02 // bit position #define LINK_DEBUG_PRBS31_EN 0x01 // bit position #define SINK_COUNT_REG 0xB9 #define LINK_STATUS_REG1 0xBB #define SINK_STATUS_REG 0xBE #define SINK_STATUS_SINK_STATUS_1 0x02 // bit position #define SINK_STATUS_SINK_STATUS_0 0x01 // bit position //#define LINK_TEST_COUNT 0xC0 #define PLL_CTRL_REG 0xC7 #define PLL_CTRL_PLL_PD 0x80 // bit position #define PLL_CTRL_PLL_RESET 0x40 // bit position //#define PLL_CTRL_CPREG_BLEED 0x08 // bit position #define ANALOG_POWER_DOWN_REG 0xC8 #define ANALOG_POWER_DOWN_MACRO_PD 0x20 // bit position #define ANALOG_POWER_DOWN_AUX_PD 0x10 // bit position //#define ANALOG_POWER_DOWN_CH3_PD 0x08 // bit position //#define ANALOG_POWER_DOWN_CH2_PD 0x04 // bit position #define ANALOG_POWER_DOWN_CH1_PD 0x02 // bit position #define ANALOG_POWER_DOWN_CH0_PD 0x01 // bit position #define ANALOG_TEST_REG 0xC9 #define ANALOG_TEST_MACRO_RST 0x20 // bit position #define ANALOG_TEST_PLL_TEST 0x10 // bit position #define ANALOG_TEST_CH3_TEST 0x08 // bit position #define ANALOG_TEST_CH2_TEST 0x04 // bit position #define ANALOG_TEST_CH1_TEST 0x02 // bit position #define ANALOG_TEST_CH0_TEST 0x01 // bit position #define GNS_CTRL_REG 0xCD #define SP_EQ_LOOP_CNT 0x40//bit position #define VIDEO_MAP_CTRL 0x02 // bit position #define RS_CTRL 0x01 // bit position #define DOWN_SPREADING_CTRL1 0xD0 //guochuncheng #define DOWN_SPREADING_CTRL2 0xD1 #define DOWN_SPREADING_CTRL3 0xD2 #define SSC_D_CTRL 0x40 //bit position #define FS_CTRL_TH_CTRL 0x20 //bit position #define M_CALCU_CTRL 0xD9 #define M_GEN_CLK_SEL 0x01//bit 0 #define EXTRA_ADDR_REG 0xCE #define I2C_STRETCH_CTRL_REG 0xDB #define AUX_STATUS 0xE0 #define DEFER_CTRL_REG 0xE2 #define SP_TXL_DEFER_CTRL_EN 0x80 // bit position #define BUF_DATA_COUNT_REG 0xE4 #define AUX_CTRL_REG 0xE5 #define MOT_BIT 0x04//bit 2 #define AUX_ADDR_7_0_REG 0xE6 #define AUX_ADDR_15_8_REG 0xE7 #define AUX_ADDR_19_16_REG 0xE8 #define AUX_CTRL_REG2 0xE9 #define ADDR_ONLY_BIT 0x02//bit 1 #define BUF_DATA_0_REG 0xf0 #define BUF_DATA_1_REG 0xf1 #define BUF_DATA_2_REG 0xf2 #define BUF_DATA_3_REG 0xf3 #define BUF_DATA_4_REG 0xf4 #define BUF_DATA_5_REG 0xf5 #define BUF_DATA_6_REG 0xf6 #define BUF_DATA_7_REG 0xf7 #define BUF_DATA_8_REG 0xf8 #define BUF_DATA_9_REG 0xf9 #define BUF_DATA_10_REG 0xfa #define BUF_DATA_11_REG 0xfb #define BUF_DATA_12_REG 0xfc #define BUF_DATA_13_REG 0xfd #define BUF_DATA_14_REG 0xfe #define BUF_DATA_15_REG 0xff //End for Address 0x70 or 0x78 /***************************************************************/ // DEV_ADDR = 0x72 or 0x76, System control registers #define VND_IDL_REG 0x00 #define VND_IDH_REG 0x01 #define DEV_IDL_REG 0x02 #define DEV_IDH_REG 0x03 #define DEV_REV_REG 0x04 #define SP_POWERD_CTRL_REG 0x05 #define SP_POWERD_REGISTER_REG 0x80// bit position //#define SP_POWERD_MISC_REG 0x40// bit position #define SP_POWERD_IO_REG 0x20// bit position #define SP_POWERD_AUDIO_REG 0x10// bit position #define SP_POWERD_VIDEO_REG 0x08// bit position #define SP_POWERD_LINK_REG 0x04// bit position #define SP_POWERD_TOTAL_REG 0x02// bit position #define SP_MODE_SEL_REG 0x01// bit position #define RST_CTRL_REG 0x06 #define RST_MISC_REG 0x80 // bit position #define RST_VIDCAP_REG 0x40 // bit position #define RST_VIDFIF_REG 0x20 // bit position #define RST_AUDFIF_REG 0x10 // bit position #define RST_AUDCAP_REG 0x08 // bit position #define RST_HDCP_REG 0x04 // bit position #define RST_SW_RST 0x02 // bit position #define RST_HW_RST 0x01 // bit position #define RST_CTRL2_REG 0x07 #define RST_SSC 0x80//bit position #define AC_MODE 0x40//bit position //#define DDC_RST 0x10//bit position //#define TMDS_BIST_RST 0x08//bit position #define AUX_RST 0x04//bit position #define SERDES_FIFO_RST 0x02//bit position #define I2C_REG_RST 0x01//bit position #define VID_CTRL1_REG 0x08 #define VID_CTRL1_VID_EN 0x80 // bit position #define VID_CTRL1_VID_MUTE 0x40 // bit position #define VID_CTRL1_DE_GEN 0x20 // bit position #define VID_CTRL1_DEMUX 0x10 // bit position #define VID_CTRL1_IN_BIT 0x04 // bit position #define VID_CTRL1_DDRCTRL 0x02 // bit position #define VID_CTRL1_EDGE 0x01 // bit position #define VID_CTRL2_REG 0x09 #define VID_CTRL1_YCBIT_SEL 0x04 // bit position #define VID_CTRL3_REG 0x0A #define VID_CTRL4_REG 0x0B #define VID_CTRL4_E_SYNC_EN 0x80 //bit position #define VID_CTRL4_EX_E_SYNC 0x40 // bit position #define VID_CTRL4_BIST 0x08 // bit position #define VID_CTRL4_BIST_WIDTH 0x04 // bit position #define VID_CTRL5_REG 0x0C #define VID_CTRL6_REG 0x0D #define VID_UPSAMPLE 0x02//bit position #define VID_CTRL7_REG 0x0E #define VID_CTRL8_REG 0x0F #define VID_CTRL9_REG 0x10 #define VID_CTRL10_REG 0x11 #define VID_CTRL10_INV_F 0x08 // bit position #define VID_CTRL10_I_SCAN 0x04 // bit position #define VID_CTRL10_VSYNC_POL 0x02 // bit position #define VID_CTRL10_HSYNC_POL 0x01 // bit position #define TOTAL_LINEL_REG 0x12 #define TOTAL_LINEH_REG 0x13 #define ACT_LINEL_REG 0x14 #define ACT_LINEH_REG 0x15 #define VF_PORCH_REG 0x16 #define VSYNC_CFG_REG 0x17 #define VB_PORCH_REG 0x18 #define TOTAL_PIXELL_REG 0x19 #define TOTAL_PIXELH_REG 0x1A #define ACT_PIXELL_REG 0x1B #define ACT_PIXELH_REG 0x1C #define HF_PORCHL_REG 0x1D #define HF_PORCHH_REG 0x1E #define HSYNC_CFGL_REG 0x1F #define HSYNC_CFGH_REG 0x20 #define HB_PORCHL_REG 0x21 #define HB_PORCHH_REG 0x22 #define VID_STATUS 0x23 #define TOTAL_LINE_STA_L 0x24 #define TOTAL_LINE_STA_H 0x25 #define ACT_LINE_STA_L 0x26 #define ACT_LINE_STA_H 0x27 #define V_F_PORCH_STA 0x28 #define V_SYNC_STA 0x29 #define V_B_PORCH_STA 0x2A #define TOTAL_PIXEL_STA_L 0x2B #define TOTAL_PIXEL_STA_H 0x2C #define ACT_PIXEL_STA_L 0x2D #define ACT_PIXEL_STA_H 0x2E #define H_F_PORCH_STA_L 0x2F #define H_F_PORCH_STA_H 0x30 #define H_SYNC_STA_L 0x31 #define H_SYNC_STA_H 0x32 #define H_B_PORCH_STA_L 0x33 #define H_B_PORCH_STA_H 0x34 #define Video_Interface_BIST 0x35 #define SPDIF_AUDIO_CTRL0 0x36 #define SPDIF_AUDIO_CTRL0_SPDIF_IN 0x80 // bit position #define SPDIF_AUDIO_STATUS0 0x38 #define SPDIF_AUDIO_STATUS0_CLK_DET 0x80 #define SPDIF_AUDIO_STATUS0_AUD_DET 0x01 #define SPDIF_AUDIO_STATUS1 0x39 #define AUDIO_BIST_CTRL 0x3c #define AUDIO_BIST_EN 0x01 //#define AUDIO_BIST_CHANNEL_STATUS1 0xd0 //#define AUDIO_BIST_CHANNEL_STATUS2 0xd1 //#define AUDIO_BIST_CHANNEL_STATUS3 0xd2 //#define AUDIO_BIST_CHANNEL_STATUS4 0xd3 //#define AUDIO_BIST_CHANNEL_STATUS5 0xd4 #define VIDEO_BIT_CTRL_0_REG 0x40 #define VIDEO_BIT_CTRL_1_REG 0x41 #define VIDEO_BIT_CTRL_2_REG 0x42 #define VIDEO_BIT_CTRL_3_REG 0x43 #define VIDEO_BIT_CTRL_4_REG 0x44 #define VIDEO_BIT_CTRL_5_REG 0x45 #define VIDEO_BIT_CTRL_6_REG 0x46 #define VIDEO_BIT_CTRL_7_REG 0x47 #define VIDEO_BIT_CTRL_8_REG 0x48 #define VIDEO_BIT_CTRL_9_REG 0x49 #define VIDEO_BIT_CTRL_10_REG 0x4a #define VIDEO_BIT_CTRL_11_REG 0x4b #define VIDEO_BIT_CTRL_12_REG 0x4c #define VIDEO_BIT_CTRL_13_REG 0x4d #define VIDEO_BIT_CTRL_14_REG 0x4e #define VIDEO_BIT_CTRL_15_REG 0x4f #define VIDEO_BIT_CTRL_16_REG 0x50 #define VIDEO_BIT_CTRL_17_REG 0x51 #define VIDEO_BIT_CTRL_18_REG 0x52 #define VIDEO_BIT_CTRL_19_REG 0x53 #define VIDEO_BIT_CTRL_20_REG 0x54 #define VIDEO_BIT_CTRL_21_REG 0x55 #define VIDEO_BIT_CTRL_22_REG 0x56 #define VIDEO_BIT_CTRL_23_REG 0x57 #define VIDEO_BIT_CTRL_24_REG 0x58 #define VIDEO_BIT_CTRL_25_REG 0x59 #define VIDEO_BIT_CTRL_26_REG 0x5a #define VIDEO_BIT_CTRL_27_REG 0x5b #define VIDEO_BIT_CTRL_28_REG 0x5c #define VIDEO_BIT_CTRL_29_REG 0x5d #define VIDEO_BIT_CTRL_30_REG 0x5e #define VIDEO_BIT_CTRL_31_REG 0x5f #define VIDEO_BIT_CTRL_32_REG 0x60 #define VIDEO_BIT_CTRL_33_REG 0x61 #define VIDEO_BIT_CTRL_34_REG 0x62 #define VIDEO_BIT_CTRL_35_REG 0x63 #define VIDEO_BIT_CTRL_36_REG 0x64 #define VIDEO_BIT_CTRL_37_REG 0x65 #define VIDEO_BIT_CTRL_38_REG 0x66 #define VIDEO_BIT_CTRL_39_REG 0x67 #define VIDEO_BIT_CTRL_40_REG 0x68 #define VIDEO_BIT_CTRL_41_REG 0x69 #define VIDEO_BIT_CTRL_42_REG 0x6a #define VIDEO_BIT_CTRL_43_REG 0x6b #define VIDEO_BIT_CTRL_44_REG 0x6c #define VIDEO_BIT_CTRL_45_REG 0x6d #define VIDEO_BIT_CTRL_46_REG 0x6e #define VIDEO_BIT_CTRL_47_REG 0x6f //AVI info frame #define AVI_TYPE 0x70 #define AVI_VER 0x71 #define AVI_LEN 0x72 #define AVI_DB0 0x73 #define AVI_DB1 0x74 #define AVI_DB2 0x75 #define AVI_DB3 0x76 #define AVI_DB4 0x77 #define AVI_DB5 0x78 #define AVI_DB6 0x79 #define AVI_DB7 0x7A #define AVI_DB8 0x7B #define AVI_DB9 0x7C #define AVI_DB10 0x7D #define AVI_DB11 0x7E #define AVI_DB12 0x7F #define AVI_DB13 0x80 #define AVI_DB14 0x81 #define AVI_DB15 0x82 //Audio info frame #define AUD_TYPE 0x83 #define AUD_VER 0x84 #define AUD_LEN 0x85 #define AUD_DB0 0x86 #define AUD_DB1 0x87 #define AUD_DB2 0x88 #define AUD_DB3 0x89 #define AUD_DB4 0x8A #define AUD_DB5 0x8B #define AUD_DB6 0x8C #define AUD_DB7 0x8D #define AUD_DB8 0x8E #define AUD_DB9 0x8F #define AUD_DB10 0x90 //SPD info frame #define SPD_TYPE 0x91 #define SPD_VER 0x92 #define SPD_LEN 0x93 #define SPD_DATA0 0x94 #define SPD_DATA1 0x95 #define SPD_DATA2 0x96 #define SPD_DATA3 0x97 #define SPD_DATA4 0x98 #define SPD_DATA5 0x99 #define SPD_DATA6 0x9A #define SPD_DATA7 0x9B #define SPD_DATA8 0x9C #define SPD_DATA9 0x9D #define SPD_DATA10 0x9E #define SPD_DATA11 0x9F #define SPD_DATA12 0xA0 #define SPD_DATA13 0xA1 #define SPD_DATA14 0xA2 #define SPD_DATA15 0xA3 #define SPD_DATA16 0xA4 #define SPD_DATA17 0xA5 #define SPD_DATA18 0xA6 #define SPD_DATA19 0xA7 #define SPD_DATA20 0xA8 #define SPD_DATA21 0xA9 #define SPD_DATA22 0xAA #define SPD_DATA23 0xAB #define SPD_DATA24 0xAC #define SPD_DATA25 0xAD #define SPD_DATA26 0xAE #define SPD_DATA27 0xAF //Mpeg source info frame #define MPEG_TYPE 0xB0 #define MPEG_VER 0xB1 #define MPEG_LEN 0xB2 #define MPEG_DATA0 0xB3 #define MPEG_DATA1 0xB4 #define MPEG_DATA2 0xB5 #define MPEG_DATA3 0xB6 #define MPEG_DATA4 0xB7 #define MPEG_DATA5 0xB8 #define MPEG_DATA6 0xB9 #define MPEG_DATA7 0xBA #define MPEG_DATA8 0xBB #define MPEG_DATA9 0xBC #define MPEG_DATA10 0xBD #define MPEG_DATA11 0xBE #define MPEG_DATA12 0xBF #define MPEG_DATA13 0xC0 #define MPEG_DATA14 0xC1 #define MPEG_DATA15 0xC2 #define MPEG_DATA16 0xC3 #define MPEG_DATA17 0xC4 #define MPEG_DATA18 0xC5 #define MPEG_DATA19 0xC6 #define MPEG_DATA20 0xC7 #define MPEG_DATA21 0xC8 #define MPEG_DATA22 0xC9 #define MPEG_DATA23 0xCA #define MPEG_DATA24 0xCB #define MPEG_DATA25 0xCC #define MPEG_DATA26 0xCD #define MPEG_DATA27 0xCE //#define GNSS_CTRL_REG 0xCD //#define ENABLE_SSC_FILTER 0x80//bit //#define SSC_D_VALUE 0xD0 //#define SSC_CTRL_REG2 0xD1 #define ANALOG_DEBUG_REG1 0xDC #define ANALOG_SEL_BG 0x40//bit 4 #define ANALOG_SWING_A_30PER 0x08//bit 3 #define ANALOG_DEBUG_REG2 0xDD #define ANALOG_24M_SEL 0x08//bit 3 //#define ANALOG_FILTER_ENABLED 0x10//bit 4 #define ANALOG_DEBUG_REG3 0xDE #define PLL_FILTER_CTRL1 0xDF #define PD_RING_OSC 0x40//bit 6 #define PLL_FILTER_CTRL2 0xE0 #define PLL_FILTER_CTRL3 0xE1 #define PLL_FILTER_CTRL4 0xE2 #define PLL_FILTER_CTRL5 0xE3 #define PLL_FILTER_CTRL6 0xE4 #define I2S_CTRL 0xE6 #define I2S_FMT 0xE7 #define I2S_CH_Status1 0xD0 #define I2S_CH_Status2 0xD1 #define I2S_CH_Status3 0xD2 #define I2S_CH_Status4 0xD3 #define I2S_CH_Status5 0xD4 //interrupt #define SP_COMMON_INT_STATUS1 0xF1 #define SP_COMMON_INT1_PLL_LOCK_CHG 0x40//bit position #define SP_COMMON_INT1_VIDEO_FORMAT_CHG 0x08//bit position #define SP_COMMON_INT1_AUDIO_CLK_CHG 0x04//bit position #define SP_COMMON_INT1_VIDEO_CLOCK_CHG 0x02//bit position #define SP_COMMON_INT_STATUS2 0xF2 #define SP_COMMON_INT2_AUTHCHG 0x02 //bit position #define SP_COMMON_INT2_AUTHDONE 0x01 //bit position #define SP_COMMON_INT_STATUS3 0xF3 #define SP_COMMON_INT3_AFIFO_UNDER 0x80//bit position #define SP_COMMON_INT3_AFIFO_OVER 0x40//bit position #define SP_COMMON_INT_STATUS4 0xF4 #define SP_COMMON_INT4_PLUG 0x01 // bit position #define SP_COMMON_INT4_ESYNC_ERR 0x10 // bit position #define SP_COMMON_INT4_HPDLOST 0x02 //bit position #define SP_COMMON_INT4_HPD_CHANGE 0x04 //bit position #define INT_STATUS1 0xF7 #define INT_STATUS1_HPD 0x40 //bit position #define INT_STATUS1_TRAINING_Finish 0x20 // bit position #define INT_STATUS1_POLLING_ERR 0x10 // bit position #define INT_SINK_CHG 0x08//bit position #define AUX_CH_STA 0xe0 #define AUX_BUSY (0x1 << 4) #define AUX_STATUS_MASK (0xf << 0) #define DP_AUX_RX_COMM 0xe3 #define BUF_DATA_CTL 0xe4 #define BUF_CLR (0x1 << 7) #define DP_AUX_CH_CTL_1 0xe5 #define AUX_LENGTH(x) (((x - 1) & 0xf) << 4) #define AUX_TX_COMM_MASK (0xf << 0) #define AUX_TX_COMM_DP_TRANSACTION (0x1 << 3) #define AUX_TX_COMM_I2C_TRANSACTION (0x0 << 3) #define AUX_TX_COMM_MOT (0x1 << 2) #define AUX_TX_COMM_WRITE (0x0 << 0) #define AUX_TX_COMM_READ (0x1 << 0) #define DP_AUX_ADDR_7_0 0xe6 #define DP_AUX_ADDR_15_8 0xe7 #define DP_AUX_ADDR_19_16 0xe8 #define DP_AUX_CH_CTL_2 0xe9 #define ADDR_ONLY (0x1 << 1) #define AUX_EN (0x1 << 0) #define BUF_DATA_0 0xf0 #define DP_INT_STA 0xf7 #define RPLY_RECEIV (0x1 << 1) #define AUX_ERR (0x1 << 0) #define SP_COMMON_INT_MASK1 0xF8 #define SP_COMMON_INT_MASK2 0xF9 #define SP_COMMON_INT_MASK3 0xFA #define SP_COMMON_INT_MASK4 0xFB #define SP_INT_MASK 0xFE #define INT_CTRL_REG 0xFF //End for dev_addr 0x72 or 0x76 /***************************************************************/ /***************************************************************/ struct anx6345_platform_data { unsigned int dvdd33_en_pin; int dvdd33_en_val; unsigned int dvdd18_en_pin; int dvdd18_en_val; unsigned int edp_rst_pin; int (*power_ctl)(struct anx6345_platform_data *pdata); bool pwron; }; struct edp_anx6345 { struct i2c_client *client; struct anx6345_platform_data *pdata; struct rk_screen screen; struct fb_monspecs specs; struct dentry *debugfs_dir; #ifdef CONFIG_HAS_EARLYSUSPEND struct early_suspend early_suspend; #endif int (*edp_anx_init)(struct i2c_client *client); }; #endif