//#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
|