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