//#include "stdio.h" #include "timing_delay.h" #include "gpio_i2c.h" #include "board_uart.h" #ifndef __LT8911EXB_H_ #define __LT8911EXB_H_ #define _uart_debug_ //#define _read_edid_ // read eDP panel EDID //#define _Test_Pattern_ #define _LT8911_RSTN_LOW GPIO_WriteLow(GPIOA , GPIO_PIN_1); #define _LT8911_RSTN_High GPIO_WriteHigh(GPIOA , GPIO_PIN_1); #define _eDP_2G7_ #define _link_train_enable_ #define _1080P_eDP_Panel_ //bool ScrambleMode = 0; #ifdef _1080P_eDP_Panel_ #define eDP_lane 2 #define PCR_PLL_PREDIV 0x40 // ¸ù¾Ýǰ¶ËMIPIÐźŵÄTiming£¬ÐÞ¸ÄÒÔϲÎÊý£º //According to the timing of the Mipi signal, modify the following parameters: static int MIPI_Timing[] = // hfp, hs, hbp, hact, htotal, vfp, vs, vbp, vact, vtotal, pixel_CLK/10000 { 48,32,147,1920,2187,3,6,51,1080,1140,14960 }; #define _8bit_ // eDP panel Color Depth£¬16.7M color #endif #define _Nvid 0 // 0: 0x0080,default static int Nvid_Val[] = { 0x0080, 0x0800 }; #define _MIPI_Lane_ 4 // 3 /2 / 1 #define _MIPI_data_PN_Swap_En 0xF0 #define _MIPI_data_PN_Swap_Dis 0x00 #define _MIPI_data_PN_ _MIPI_data_PN_Swap_Dis #define _No_swap_ 0x00 // 3210 default #define _MIPI_data_3210_ 0 // default #define _MIPI_data_0123_ 21 #define _MIPI_data_2103_ 20 #define _MIPI_data_sequence_ _No_swap_ #define _eDP_data_No_swap_ 0xe4 // default #define _eDP_data_sequence_ _eDP_data_No_swap_ // default, no swap #define _eDP_data_PN_Swap_En 0xF0 // Please refer to the notes below #define _eDP_data_PN_Swap_Dis 0x00 #define _eDP_data_PN_ _eDP_data_PN_Swap_Dis // defailt ; disable extern bool ScrambleMode; extern bool flag_mipi_on; #ifdef _read_edid_ // read eDP panel EDID extern u8 EDID_DATA[128]; extern u16 EDID_Timing[11]; extern bool EDID_Reply; #endif enum { hfp = 0, hs, hbp, hact, htotal, vfp, vs, vbp, vact, vtotal, pclk_10khz }; enum { _Level0_ = 0, // 27.8 mA 0x83/0x00 _Level1_, // 26.2 mA 0x82/0xe0 _Level2_, // 24.6 mA 0x82/0xc0 _Level3_, // 23 mA 0x82/0xa0 _Level4_, // 21.4 mA 0x82/0x80 _Level5_, // 18.2 mA 0x82/0x40 _Level6_, // 16.6 mA 0x82/0x20 _Level7_, // 15mA 0x82/0x00 // level 1 _Level8_, // 12.8mA 0x81/0x00 // level 2 _Level9_, // 11.2mA 0x80/0xe0 // level 3 _Level10_, // 9.6mA 0x80/0xc0 // level 4 _Level11_, // 8mA 0x80/0xa0 // level 5 _Level12_ // 6mA 0x80/0x80 // level 6 }; extern u8 Swing_Setting1[]; extern u8 Swing_Setting2[]; extern u8 Level; // normal extern void LT8911EXB_GPIO_Init(void); extern void Reset_LT8911EXB( void ); extern void LT8911EX_ChipID( void ); extern void LT8911EXB_MIPI_Video_Timing( void ); extern void LT8911EXB_eDP_Video_cfg( void ); extern void LT8911EXB_init( void ); extern void LT8911EXB_read_edid( void ); extern void LT8911EX_TxSwingPreSet( void ); extern void DpcdWrite( u32 Address, u8 Data ); extern void LT8911EX_link_train( void ); extern void LT8911EXB_LinkTrainResultCheck( void ); extern void LT8911EXB_video_check( void ); extern u8 DpcdRead( u32 Address ); extern void PCR_Status( void ); #endif