From 94101a2cd9baed60360f68096033dc75cbb1dcb3 Mon Sep 17 00:00:00 2001 From: android <android@lingyun.com> Date: Wed, 10 Jul 2024 19:27:36 +0800 Subject: [PATCH] Add STM8S003F3 eDP LCD drvier --- mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/inc/LT8911EXB.h | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 115 insertions(+), 0 deletions(-) diff --git a/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/inc/LT8911EXB.h b/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/inc/LT8911EXB.h new file mode 100644 index 0000000..49a4c34 --- /dev/null +++ b/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/inc/LT8911EXB.h @@ -0,0 +1,115 @@ +//#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 -- Gitblit v1.9.1