-
大小: 8KB文件類型: .c金幣: 1下載: 0 次發(fā)布日期: 2021-06-07
- 語言: 其他
- 標(biāo)簽:
資源簡介
MTK平臺st7796s驅(qū)動(dòng)代碼,主要在MTK6735平臺驗(yàn)證,HVGA
代碼片段和文件信息
#ifdef?BUILD_LK
????#include?
????#include?
#else
????#include?
????#if?defined(BUILD_UBOOT)
????????#include?
????#else
????????#include?
????#endif
#endif
#include?“l(fā)cm_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
評論
共有 條評論