资源简介
MTK平台st7796s驱动代码,主要在MTK6735平台验证,HVGA
代码片段和文件信息
#ifdef BUILD_LK
#include
#include
#else
#include
#if defined(BUILD_UBOOT)
#include
#else
#include
#endif
#endif
#include “lcm_drv.h“
#if defined(BUILD_LK)
#define LCM_PRINT printf
#elif defined(BUILD_UBOOT)
#define LCM_PRINT printf
#else
#define LCM_PRINT printk
#endif
// ---------------------------------------------------------------------------
// Local Constants
// ---------------------------------------------------------------------------
#define frame_WIDTH (320)
#define frame_HEIGHT (480)
#define LCM_ID (0x69)
#define REGFLAG_DELAY 0XFE
#define REGFLAG_END_OF_TABLE 0xFF // END OF REGISTERS MARKER
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifdef BUILD_LK
#define LCM_PRINT printf
#else
#define LCM_PRINT printk
#endif
static unsigned int lcm_esd_test = FALSE; ///only for ESD test
// ---------------------------------------------------------------------------
// Local Variables
// ---------------------------------------------------------------------------
static LCM_UTIL_FUNCS lcm_util = {0};
#define SET_RESET_PIN(v) (lcm_util.set_reset_pin((v)))
#define UDELAY(n) (lcm_util.udelay(n))
#define MDELAY(n) (lcm_util.mdelay(n))
// ---------------------------------------------------------------------------
// Local Functions
// ---------------------------------------------------------------------------
#define dsi_set_cmdq_V2(cmd count ppara force_update) lcm_util.dsi_set_cmdq_V2(cmd count ppara force_update)
#define dsi_set_cmdq(pdata queue_size force_update) lcm_util.dsi_set_cmdq(pdata queue_size force_update)
#define wrtie_cmd(cmd) lcm_util.dsi_write_cmd(cmd)
#define write_regs(addr pdata byte_nums) lcm_util.dsi_write_regs(addr pdata byte_nums)
#define read_reg(cmd) lcm_util.dsi_dcs_read_lcm_reg(cmd)
#define read_reg_v2(cmd buffer buffer_size) lcm_util.dsi_dcs_read_lcm_reg_v2(cmd buffer buffer_size)
struct LCM_setting_table {
unsigned char cmd;
unsigned char count;
unsigned char para_list[64];
};
// ---------------------------------------------------------------------------
// LCM Driver Implementations
// ---------------------------------------------------------------------------
static void lcm_set_util_funcs(const LCM_UTIL_FUNCS *util)
{
memcpy(&lcm_util util sizeof(LCM_UTIL_FUNCS));
}
static void lcm_get_params(LCM_PARAMS *params)
{
memset(params 0 sizeof(LCM_PARAMS));
params->type = LCM_TYPE_DSI;
params->width = frame_WIDTH;
params->height = frame_HEIGHT;
params->dsi.mode = CMD_MODE;
//params->dsi.mode = SYNC_PULSE_VDO_MODE;
// enable tearing-free
params->dbi.te_mode = LCM_DBI_TE_MODE_VSYNC_ONLY;
params->dbi.te_edge_polarity = LCM_POLARITY_RISING;
params->dsi.LANE_NUM = LCM_ONE_LANE;
//The following def
评论
共有 条评论