• 大小: 8KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: 其他
  • 标签:

资源简介

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

评论

共有 条评论