微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MTK LCM 驱动 的 LCM_PARAMS->LCM_DSI_PARAMS 结构体各个成员参数的意义?

MTK LCM 驱动 的 LCM_PARAMS->LCM_DSI_PARAMS 结构体各个成员参数的意义?

时间:10-02 整理:3721RD 点击:
mtk LCM 驱动 的 LCM_PARAMS->LCM_DSI_PARAMS 结构体各个成员参数的意义是什么?
typedef struct
{
    LCM_TYPE type;
    LCM_CTRL ctrl;  //! how to control LCM registers
    LCM_INTERFACE_ID lcm_if;
    /* common parameters */
    unsigned int width;
    unsigned int height;
    unsigned int io_select_mode; //DBI or DPI should select IO mode according to chip spec
    /* particular parameters */
    LCM_DBI_PARAMS dbi;
    LCM_DPI_PARAMS dpi;
    LCM_DSI_PARAMS dsi;
    unsigned int physical_width;
    unsigned int physical_height;
} LCM_PARAMS;

就是下面结构体成员的 含义。 哪位 工程师 能够 赐教一番, 不胜感激。
typedef struct
{
    LCM_DSI_MODE_CON         mode;
    unsigned int                DSI_WMEM_CONTI;
    unsigned int                DSI_RMEM_CONTI;        
    unsigned int                VC_NUM;
    LCM_LANE_NUM                LANE_NUM;
    LCM_DSI_DATA_FORMAT        data_format;
    /* intermediate buffers parameters */
    unsigned int                 intermediat_buffer_num; // 2..3
    LCM_PS_TYPE                        PS;        
    unsigned int                word_count;
    unsigned int                packet_size;
    unsigned int                vertical_sync_active;
    unsigned int                vertical_backporch;
    unsigned int                vertical_frontporch;
    unsigned int                vertical_active_line;
    unsigned int                horizontal_sync_active;
    unsigned int                horizontal_backporch;
    unsigned int                horizontal_frontporch;
    unsigned int                horizontal_blanking_pixel;
    unsigned int                horizontal_active_pixel;
    unsigned int                horizontal_bllp;
    unsigned int                line_byte;
    unsigned int                horizontal_sync_active_byte;
    unsigned int                horizontal_backporch_byte;
    unsigned int                horizontal_frontporch_byte;
    unsigned int                rgb_byte;
    unsigned int                horizontal_sync_active_word_count;        
    unsigned int                horizontal_backporch_word_count;
    unsigned int                horizontal_frontporch_word_count;
    unsigned char                HS_TRAIL;
    unsigned char                HS_ZERO;
    unsigned char                HS_PRPR;
    unsigned char                LPX;
    unsigned char                TA_SACK;
    unsigned char                TA_GET;
    unsigned char                TA_SURE;        
    unsigned char                TA_GO;
    unsigned char                CLK_TRAIL;
    unsigned char                CLK_ZERO;        
    unsigned char                LPX_WAIT;
    unsigned char                CONT_DET;
    unsigned char                CLK_HS_PRPR;
    unsigned char                CLK_HS_POST;
    unsigned char       DA_HS_EXIT;
    unsigned char       CLK_HS_EXIT;
    unsigned int                pll_select;
    unsigned int                pll_div1;
    unsigned int                pll_div2;        
    unsigned int        fbk_div;
    unsigned int                fbk_sel;
    unsigned int                rg_bir;
    unsigned int                rg_bic;
    unsigned int                rg_bp;
    unsigned int                PLL_CLOCK;
    unsigned int                dsi_clock;
    unsigned int                ssc_disable;
    unsigned int                ssc_range;
    unsigned int                compatibility_for_nvk;
    unsigned int                cont_clock;
    unsigned int                ufoe_enable;
                unsigned int                ufoe_vlc_disable;
                unsigned int                ufoe_vlc_cfg;
    unsigned int                lcm_int_te_monitor;
    unsigned int                lcm_int_te_period;
    unsigned int                lcm_ext_te_monitor;
    unsigned int                lcm_ext_te_enable;
    unsigned int                noncont_clock;
    unsigned int                noncont_clock_period;
} LCM_DSI_PARAMS;

第一个结构体,是LCD的通用结构体
这个代码里,有三种借口
    LCM_DBI_PARAMS dbi;
     LCM_DPI_PARAMS dpi;
     LCM_DSI_PARAMS dsi;
每种接口有自己独特的特点,所以对每一种接口专门开辟了一个结构体。

下面的就是Dsi接口的一些平台端的时序
    unsigned char                HS_TRAIL;
     unsigned char                HS_ZERO;
     unsigned char                HS_PRPR;
     unsigned char                LPX;
     unsigned char                TA_SACK;
     unsigned char                TA_GET;
     unsigned char                TA_SURE;        
     unsigned char                TA_GO;
     unsigned char                CLK_TRAIL;
     unsigned char                CLK_ZERO;        
     unsigned char                LPX_WAIT;
     unsigned char                CONT_DET;
     unsigned char                CLK_HS_PRPR;
     unsigned char                CLK_HS_POST;

这些时序分别代表什么呢?

这些请去看MIPI的时序定义吧。

有没有相关资料, 或者博客文?多谢

// Bit rate calculation
    params->dsi.pll_div1    = 1;        // div1=0,1,2,3;div1_real=1,2,4,4
    params->dsi.pll_div2    = 0;        // div2=0,1,2,3;div2_real=1,2,4,4
    params->dsi.fbk_sel     = 1;        // fbk_sel=0,1,2,3;fbk_sel_real=1,2,4,4
    params->dsi.fbk_div     = 15;
@dkwude:求教下,这几个参数的意义,不胜感激!

这几个参数是计算mipi 每线clock的
Type2: 配置倍频与分频参数:dsi.pll_fbk_div(倍频), dsi.pll_div1 & dsi.pll_div2 (分频)---(适用于89/72等前期版本)
BRPL = fref(26M) X (fbk_div+1)*2/(div1_real*div2_real)

嗯嗯,学习了,非常感谢!

请教一下这个params->dsi.mode   = BURST_VDO_MODE和params->dsi.mode   = SYNC_PULSE_VDO_MODE有什么区别,不胜感激

学习了,非常感谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top