MI PANEL API

Version 2.12


1. API 参考


1.1. 功能模块API

表1-1

API名 功能
MI_PANEL_Init 初始化PANEL
MI_PANEL_DeInit 去初始化PANEL
MI_PANEL_GetTotalNum 获取总的屏参个数
MI_PANEL_SetPowerOn 设置屏供电使能
MI_PANEL_GetPowerOn 获取屏供电状态
MI_PANEL_SetBacklight 设置背光使能
MI_PANEL_GetBacklight 获取背光使能状态
MI_PANEL_SetBacklightLevel 设置背光亮度值
MI_PANEL_GetBacklightLevel 获取背光亮度值
MI_PANEL_SetSscConfig 设置展频相关信息
MI_PANEL_SetMipiDsiConfig 设置MIPI相关信息
MI_PANEL_SetTimingConfig 设置Timing相关信息
MI_PANEL_SetDrvCurrentConfig 设置驱动能力
MI_PANEL_SetOutputPattern 设置PANEL输出pattern
MI_PANEL_SetPanelParam 设置PANEL INFO
MI_PANEL_GetPanelParam 获取当前PANEL配置信息
MI_PANEL_GetTimingConfig 获取Timing相关信息
MI_PANEL_InitDev 初始化panel设备
MI_PANEL_DeInitDev 反初始化panel设备

1.2. MI_PANEL_Init

  • 功能

    初始化 PANEL模块。

  • 语法

    MI_S32 MI_PANEL_Init(MI_PANEL_IntfType_e eIntfType);
    
  • 形参

    表1-2

    参数名称 描述 输入/输出
    eIntfType PANEL接口类型。 输入
  • 返回值

    • 0 初始化成功。

    • 非0 初始化失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_DeInit


1.3. MI_PANEL_DeInit

  • 功能

    去初始化 PANEL。

  • 语法

    MI_S32 MI_PANEL_DeInit(void);
    
  • 返回值

    • 0去初始化成功。

    • 非0 去初始化失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h

    • 库文件:libmi_panel.a

  • 注意

    暂不支持。


1.4. MI_PANEL_GetTotalNum

  • 功能

    获取总的屏参个数。

  • 语法

    MI_S32 MI_PANEL_GetTotalNum(MI_U32 *pu32TotalNum);
    
  • 形参

    表1-5

    参数名称 描述 输入/输出
    pu32TotalNum 该指针接收屏参个数 输出
  • 返回值

    • 0 获取屏参个数成功。

    • 非0获取屏参个数失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h

    • 库文件:libmi_panel.a

  • 注意

    暂不支持。


1.5. MI_PANEL_SetPowerOn

  • 功能

    设置屏供电使能。

  • 语法

    MI_S32 MI_PANEL_SetPowerOn(MI_PANEL_IntfType_e eIntfType, MI_PANEL_PowerConfig_t *pstPowerCfg);
    
  • 形参

    表1-6

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstPowerCfg 屏供电使能状态 输入
  • 返回值

    • 0 设置屏供电使能成功。

    • 非0设置屏供电使能失败,错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    设置屏供电使能之前需要初始化PANEL。

  • 相关主题

    MI_PANEL_GetPowerOn


1.6. MI_PANEL_GetPowerOn

  • 功能

    获取屏供电使能状态。

  • 语法

    MI_S32 MI_PANEL_GetPowerOn(MI_PANEL_IntfType_e eIntfType, MI_PANEL_PowerConfig_t *pstPowerCfg);

  • 语法

    表1-7

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstPowerCfg 该指针接收屏供电使能状态 输出
  • 返回值

    • 0 获取屏供电使能状态成功。

    • 非0获取屏供电使能状态失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_SetPowerOn


1.7. MI_PANEL_SetBacklight

  • 功能

    设置屏背光使能。

  • 语法

    MI_S32 MI_PANEL_SetBacklight(MI_PANEL_IntfType_e eIntfType, MI_PANEL_BackLightConfig_t *pstBackLightCfg);
    
  • 形参

    表1-8

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstBackLightCfg 屏背光使能状态 输入
  • 返回值

    • 0 设置屏背光使能成功。

    • 非0 设置屏背光使能失败,错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_GetBackLight


1.8. MI_PANEL_GetBacklight

  • 功能

    获取屏背光使能状态。

  • 语法

    MI_S32 MI_PANEL_GetBacklight(MI_PANEL_IntfType_e eIntfType, MI_PANEL_BackLightConfig_t *pstBackLightCfg);
    
  • 形参

    表1-9

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstBackLightCfg 该指针接收屏背光使能状态 输出
  • 返回值

    • 0获取屏背光使能状态成功。

    • 非0 获取屏背光使能状态失败,错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_SetBacklight


1.9. MI_PANEL_SetBacklightLevel

  • 功能

    设置背光亮度值。

  • 语法

    MI_S32 MI_PANEL_SetBacklightLevel(MI_PANEL_IntfType_e eIntfType, MI_PANEL_BackLightConfig_t *pstBackLightCfg);
    
  • 形参

    表1-10

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstBackLightCfg 背光亮度值 输入
  • 返回值

    • 0 设置屏背光亮度值成功。

    • 非0 设置屏背光亮度值失败,错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    调用前需先设置屏背光使能

  • 相关主题

    MI_PANEL_GetBacklightLevel


1.10. MI_PANEL_GetBacklightLevel

  • 功能

    获取屏背光亮度值。

  • 定义

    MI_S32 MI_PANEL_GetBacklightLevel(MI_PANEL_IntfType_e eIntfType, MI_PANEL_BackLightConfig_t *pstBackLightCfg);
    
  • 形参

    表1-11

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstBackLightCfg 该指针接收屏背光亮度值 输出
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    调用前需要先设置背光亮度值。

  • 相关主题

    MI_PANEL_SetBacklightLevel


1.11. MI_PANEL_SetSscConfig

  • 功能

    设置展频相关信息。

  • 定义

    MI_S32 MI_PANEL_SetSscConfig(MI_PANEL_IntfType_e eIntfType, MI_PANEL_SscConfig_t *pstSscCfg);
    
  • 形参

    表1-12

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstSscCfg 展频相关配置信息 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a


1.12. MI_PANEL_SetMipiDsiConfig

  • 功能

    设置MIPI接口相关配置

  • 定义

    MI_S32 MI_PANEL_SetMipiDsiConfig(MI_PANEL_IntfType_e eIntfType, MI_PANEL_MipiDsiConfig_t *pstMipiDsiCfg);
    
  • 形参

    表1-13

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstMipiDsiCfg MIPI接口相关配置 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    只有mipi panel才需要调用,同时要调用MI_PANEL_SetPanelParam


1.13. MI_PANEL_SetTimingConfig

  • 功能

    设置Timing相关信息

  • 定义

    MI_S32 MI_PANEL_SetTimingConfig(MI_PANEL_IntfType_e eIntfType, MI_PANEL_TimingConfig_t *pstTimingCfg);
    
  • 形参

    表1-14

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstTimingCfg Timing相关配置信息 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_GetTimingConfig


1.14. MI_PANEL_SetDrvCurrentConfig

  • 功能

    设置驱动能力相关信息

  • 定义

    MI_S32 MI_PANEL_SetDrvCurrentConfig(MI_PANEL_IntfType_e eIntfType, MI_PANEL_DrvCurrentConfig_t *pstDrvCurrentCfg);
    
  • 形参

    表1-15

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstDrvCurrentCfg 驱动能力相关配置信息 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a


1.15. MI_PANEL_SetOutputPattern

  • 功能

    设置输出pattern

  • 定义

    MI_S32 MI_PANEL_SetOutputPattern(MI_PANEL_IntfType_e eIntfType, MI_PANEL_TestPatternConfig_t *pstTestPatternCfg);
    
  • 形参

    表1-16

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstTestPatternCfg 输出pattern相关配置信息 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    调试使用(目前只针对LVDS)


1.16. MI_PANEL_SetPanelParam

  • 功能

    设置PANEL INFO

  • 语法

    MI_S32 MI_PANEL_SetPanelParam(MI_PANEL_IntfType_e eIntfType, MI_PANEL_ParamConfig_t *pstParamCfg);
    
  • 形参

    表1-17

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstParamCfg 屏参信息 输入
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_GetPanelParam


1.17. MI_PANEL_GetPanelParam

  • 功能

    获取屏参

  • 定义

    MI_S32 MI_PANEL_GetPanelParam(MI_PANEL_IntfType_e eIntfType, MI_PANEL_ParamConfig_t *pstParamCfg);
    
  • 形参

    表1-18

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstParamCfg 屏参信息 输出
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 注意

    需先调用MI_PANEL_SetPanelParam

  • 相关主题

    MI_PANEL_SetPanelParam


1.18. MI_PANEL_GetTimingConfig

  • 功能

    获取Timing相关信息

  • 定义

    MI_S32 MI_PANEL_GetTimingConfig(MI_PANEL_IntfType_e eIntfType, MI_PANEL_TimingConfig_t *pstTimingCfg);
    
  • 形参

    表1-19

    参数名称 描述 输入/输出
    eIntfType 接口类型 输入
    pstTimingCfg Timing相关信息 输出
  • 返回值

    • 0成功。

    • 非0失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h 、mi_panel_datatype.h

    • 库文件:libmi_panel.a

  • 相关主题

    MI_PANEL_SetTimingConfig


1.19. MI_PANEL_InitDev

  • 功能

    初始化 PANEL模块。

  • 语法

    MI_S32 MI_PANEL_InitDev(MI_PANEL_InitParam_t *pstInitParam);
    
  • 形参

    参数名称 描述 输入/输出
    pstInitParam 设备初始化参数。 输入
  • 返回值

    • 0 初始化成功。

    • 非0 初始化失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h

    • 库文件:libmi_panel.a

  • 注意

    • 此接口在Version 2.09以上版本推荐使用,用于替换原有MI_PANEL_InitDev接口。
  • 相关主题

    MI_PANEL_DeInitDev


1.20. MI_PANEL_DeInitDev

  • 功能

    去初始化 PANEL。

  • 语法

    MI_S32 MI_PANEL_DeInitDev(void);
    
  • 返回值

    • 0去初始化成功。

    • 非0 去初始化失败,详情参照错误码

  • 依赖

    • 头文件:mi_panel.h

    • 库文件:libmi_panel.a

  • 注意

    • 此接口在Version 2.09以上版本推荐使用,用于替换原有MI_PANEL_DeInit接口。
  • 相关主题

    MI_PANEL_InitDev


2. PANEL数据类型


2.1. 数据类型定义

表2-1

数据类型 定义
MI_PANEL_PowerConfig_t 定义PANEL供电使能状态结构体
MI_PANEL_BackLightConfig_t 定义PANEL背光信息结构体
MI_PANEL_SscConfig_t 定义PANEL展频配置信息结构体
MI_PANEL_MipiDsiConfig_t 定义MIPI接口配置信息结构体
MI_PANEL_MipiDsiLaneMode_e 定义MIPI接口Lane mode枚举
MI_PANEL_MipiDsiFormat_e 定义MIPI接口Format枚举
MI_PANEL_MipiDsiCtrlMode_e 定义MIPI接口CtrlMode枚举
MI_PANEL_TimingConfig_t 定义PANEL Timing信息结构体
MI_PANEL_DrvCurrentConfig_t 定义驱动能力配置结构体
MI_PANEL_TestPatternConfig_t 定义输出pattern信息结构体
MI_PANEL_ParamConfig_t 定义屏参信息结构体
MI_PANEL_IntfType_e 定义接口类型枚举
MI_PANEL_AspectRatio_e 定义AspectRatio枚举
MI_PANEL_TiBitMode_e 定义TiBitMode枚举
MI_PANEL_OutputFormatBitMode_e 定义输出FormatBitMode枚举
MI_PANEL_OutputTimingMode_e 定义panel output timing change mode枚举
MI_PANEL_InitParam_t 定义panel设备初始化参数

注:本节已涵盖各重要的数据类型,部分未列出数据类型请参见 mi_panel_datatype.h


2.2. MI_PANEL_PowerConfig_t


2.3. MI_PANEL_BackLightConfig_t


2.4. MI_PANEL_SscConfig_t

  • 说明

    定义PANEL展频配置信息结构体

  • 定义

    typedef struct
    
    {
    
        MI_BOOL bEn;
    
        MI_U16 u16Freq;
    
        MI_U16 u16Ratio;
    
    }MI_PANEL_SscConfig_t;
    
  • 成员

    表2-3

    成员名称 描述
    bEn panel展频功能使能状态
    u16Freq 展频频率(单位Khz)
    u16Ratio 展频幅度(单位1/1000)
  • 注意

    u16Freq不能小于15Khz.

  • 相关数据类型及接口

    MI_PANEL_SetSscConfig


2.5. MI_PANEL_MipiDsiConfig_t

  • 说明

    定义MIPI接口配置信息结构体

  • 定义

    typedef struct
    
    {
    
        MI_U8 u8HsTrail;
    
        MI_U8 u8HsPrpr;
    
        MI_U8 u8HsZero;
    
        MI_U8 u8ClkHsPrpr;
    
        MI_U8 u8ClkHsExit;
    
        MI_U8 u8ClkTrail;
    
        MI_U8 u8ClkZero;
    
        MI_U8 u8ClkHsPost;
    
        MI_U8 u8DaHsExit;
    
        MI_U8 u8ContDet;
    
        MI_U8 u8Lpx;
    
        MI_U8 u8TaGet;
    
        MI_U8 u8TaSure;
    
        MI_U8 u8TaGo;
    
        MI_U16 u16Hactive;
    
        MI_U16 u16Hpw;
    
        MI_U16 u16Hbp;
    
        MI_U16 u16Hfp;
    
        MI_U16 u16Vactive;
    
        MI_U16 u16Vpw;
    
        MI_U16 u16Vbp;
    
        MI_U16 u16Vfp;
    
        MI_U16 u16Bllp;
    
        MI_U16 u16Fps;
    
        MI_PANEL_MipiDsiLaneMode_e enLaneNum;
    
        MI_PANEL_MipiDsiFormat_e enformat;
    
        MI_PANEL_MipiDsiCtrlMode_e enCtrl;
    
        MI_U8 *pu8CmdBuf;
    
        MI_U32 u32CmdBufSize;
    
        MI_U8 u8SyncCalibrate;
    
        MI_U16 u16VirHsyncSt;
    
        MI_U16 u16VirHsyncEnd;
    
        MI_U16 u16VsyncRef;
    
        MI_U16 u16DataClkSkew;
    
        MI_U8 u8PolCh0;
    
        MI_U8 u8PolCh1;
    
        MI_U8 u8PolCh2;
    
        MI_U8 u8PolCh3;
    
        MI_U8 u8PolCh4;
    
    }MI_PANEL_MipiDsiConfig_t;
    
  • 相关数据类型及接口

    MI_PANEL_MipiDsiLaneMode_e

    MI_PANEL_MipiDsiFormat_e

    MI_PANEL_MipiDsiCtrlMode_e

    MI_PANEL_SetMipiDsiConfig


2.6. MI_PANEL_MipiDsiLaneMode_e

  • 说明

    定义MIPI接口Lane mode枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_MIPI_DSI_LANE_NONE = 0,
    
        E_MI_PNL_MIPI_DSI_LANE_1 = 1,
    
        E_MI_PNL_MIPI_DSI_LANE_2 = 2,
    
        E_MI_PNL_MIPI_DSI_LANE_3 = 3,
    
        E_MI_PNL_MIPI_DSI_LANE_4 = 4,
    
    } MI_PANEL_MipiDsiLaneMode_e;
    
  • 相关数据类型及接口

    MI_PANEL_MipiDsiConfig_t

    MI_PANEL_SetMipiDsiConfig


2.7. MI_PANEL_MipiDsiFormat_e

  • 说明

    定义MIPI接口Format枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_MIPI_DSI_RGB565 = 0,
    
        E_MI_PNL_MIPI_DSI_RGB666 = 1,
    
        E_MI_PNL_MIPI_DSI_LOOSELY_RGB666 = 2,
    
        E_MI_PNL_MIPI_DSI_RGB888 = 3,
    
    } MI_PANEL_MipiDsiFormat_e;
    
  • 相关数据类型及接口

    MI_PANEL_MipiDsiConfig_t

    MI_PANEL_SetMipiDsiConfig


2.8. MI_PANEL_MipiDsiCtrlMode_e

  • 说明

    定义MIPI接口CtrlMode枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_MIPI_DSI_CTRL_CMD_MODE = 0,
    
        E_MI_PNL_MIPI_DSI_CTRL_SYNC_PULSE = 1,
    
        E_MI_PNL_MIPI_DSI_CTRL_SYNC_EVENT = 2,
    
        E_MI_PNL_MIPI_DSI_BURST_MODE = 3,
    
    } MI_PANEL_MipiDsiCtrlMode_e;
    
  • 相关数据类型及接口

    MI_PANEL_MipiDsiConfig_t

    MI_PANEL_SetMipiDsiConfig


2.9. MI_PANEL_TimingConfig_t

  • 说明

    定义PANEL Timing信息结构体

  • 定义

    typedef struct
    
    {
    
        MI_U16 u16HSyncWidth;
    
        MI_U16 u16HSyncBackPorch;
    
        MI_U16 u16HSyncFrontPorch;
    
        MI_U16 u16VSyncWidth;
    
        MI_U16 u16VSyncBackPorch;
    
        MI_U16 u16VSyncFrontPorch;
    
        MI_U16 u16HStart;
    
        MI_U16 u16VStart;
    
        MI_U16 u16Height;
    
        MI_U16 u16Width;
    
        MI_U16 u16Htotal;
    
        MI_U16 u16Vtotal;
    
        MI_U16 u16Dclk;
    
    }MI_PANEL_TimingConfig_t;
    
  • 相关数据类型及接口

    MI_PANEL_SetTimingConfig

    MI_PANEL_GetTimingConfig


2.10. MI_PANEL_DrvCurrentConfig_t

  • 说明

    定义驱动能力配置结构体

  • 定义

    typedef struct
    
    {
    
        MI_U16 u16DrvCurrent;
    
    }MI_PANEL_DrvCurrentConfig_t;
    
  • 相关数据类型及接口

    MI_PANEL_SetDrvCurrentConfig


2.11. MI_PANEL_TestPatternConfig_t

  • 说明

    定义输出pattern结构体

  • 定义

    typedef struct
    
    {
    
        MI_BOOL bEn;
    
        MI_U16 u16R;
    
        MI_U16 u16G;
    
        MI_U16 u16B;
    
    }MI_PANEL_TestPatternConfig_t;
    
  • 相关数据类型及接口

    MI_PANEL_SetOutputPattern


2.12. MI_PANEL_ParamConfig_t

  • 说明

    定义屏参结构体

  • 定义

    typedef struct
    
    {
    
        const char *pPanelName; ///< PanelName
    
        MI_U8 u8Dither; ///< PANEL_DITHER, keep the setting
    
        MI_PANEL_IntfType_e eIntfType; ///< PANEL_LINK
    
        ///////////////////////////////////////////////
    
        // Board related setting
    
        ///////////////////////////////////////////////
    
        MI_U8 u8DualPort; ///< VOP_21[8], MOD_4A[1], PANEL_DUAL_PORT, refer to
        u8DoubleClk
    
        MI_U8 u8SwapPort; ///< MOD_4A[0], PANEL_SWAP_PORT, refer to "LVDS output
        app note" A/B channel swap
    
        MI_U8 u8SwapOdd_ML; ///< PANEL_SWAP_ODD_ML
    
        MI_U8 u8SwapEven_ML; ///< PANEL_SWAP_EVEN_ML
    
        MI_U8 u8SwapOdd_RB; ///< PANEL_SWAP_ODD_RB
    
        MI_U8 u8SwapEven_RB; ///< PANEL_SWAP_EVEN_RB
    
        MI_U8 u8SwapLVDS_POL; ///< MOD_40[5], PANEL_SWAP_LVDS_POL, for differential
        P/N swap
    
        MI_U8 u8SwapLVDS_CH; ///< MOD_40[6], PANEL_SWAP_LVDS_CH, for pair swap
    
        MI_U8 u8PDP10BIT; ///< MOD_40[3], PANEL_PDP_10BIT ,for pair swap
    
        MI_U8 u8LVDS_TI_MODE; ///< MOD_40[2], PANEL_LVDS_TI_MODE, refer to "LVDS
        output app note"
    
        ///////////////////////////////////////////////
    
        // For TTL Only
    
        ///////////////////////////////////////////////
    
        MI_U8 u8DCLKDelay; ///< PANEL_DCLK_DELAY
    
        MI_U8 u8InvDCLK; ///< MOD_4A[4], PANEL_INV_DCLK
    
        MI_U8 u8InvDE; ///< MOD_4A[2], PANEL_INV_DE
    
        MI_U8 u8InvHSync; ///< MOD_4A[12], PANEL_INV_HSYNC
    
        MI_U8 u8InvVSync; ///< MOD_4A[3], PANEL_INV_VSYNC
    
        ///////////////////////////////////////////////
    
        // Output driving current setting
    
        ///////////////////////////////////////////////
    
        // driving current setting (0x00=4mA, 0x01=6mA, 0x02=8mA, 0x03=12mA)
    
        MI_U8 u8DCKLCurrent; ///< define PANEL_DCLK_CURRENT
    
        MI_U8 u8DECurrent; ///< define PANEL_DE_CURRENT
    
        MI_U8 u8ODDDataCurrent; ///< define PANEL_ODD_DATA_CURRENT
    
        MI_U8 u8EvenDataCurrent; ///< define PANEL_EVEN_DATA_CURRENT
    
        ///////////////////////////////////////////////
    
        // panel on/off timing
    
        ///////////////////////////////////////////////
    
        MI_U16 u16OnTiming1; ///< time between panel & data while turn on power
    
        MI_U16 u16OnTiming2; ///< time between data & back light while turn on
        power
    
        MI_U16 u16OffTiming1; ///< time between back light & data while turn off
        power
    
        MI_U16 u16OffTiming2; ///< time between data & panel while turn off power
    
        ///////////////////////////////////////////////
    
        // panel timing spec.
    
        ///////////////////////////////////////////////
    
        // sync related
    
        MI_U16 u16HSyncWidth; ///< VOP_01[7:0], PANEL_HSYNC_WIDTH
    
        MI_U16 u16HSyncBackPorch; ///< PANEL_HSYNC_BACK_PORCH, no register setting,
        provide value for query only
    
        MI_U16 u16VSyncWidth; ///< define PANEL_VSYNC_WIDTH
    
        MI_U16 u16VSyncBackPorch; ///< define PANEL_VSYNC_BACK_PORCH
    
        // DE related
    
        MI_U16 u16HStart; ///< VOP_04[11:0], PANEL_HSTART, DE H Start
        (PANEL_HSYNC_WIDTH + PANEL_HSYNC_BACK_PORCH)
    
        MI_U16 u16VStart; ///< VOP_06[11:0], PANEL_VSTART, DE V Start
    
        MI_U16 u16Width; ///< PANEL_WIDTH, DE width (VOP_05[11:0] = HEnd = HStart +
        Width - 1)
    
        MI_U16 u16Height; ///< PANEL_HEIGHT, DE height (VOP_07[11:0], = Vend =
        VStart + Height - 1)
    
        // DClk related
    
        MI_U16 u16MaxHTotal; ///< PANEL_MAX_HTOTAL. Reserved for future using.
    
        MI_U16 u16HTotal; ///< VOP_0C[11:0], PANEL_HTOTAL
    
        MI_U16 u16MinHTotal; ///< PANEL_MIN_HTOTAL. Reserved for future using.
    
        MI_U16 u16MaxVTotal; ///< PANEL_MAX_VTOTAL. Reserved for future using.
    
        MI_U16 u16VTotal; ///< VOP_0D[11:0], PANEL_VTOTAL
    
        MI_U16 u16MinVTotal; ///< PANEL_MIN_VTOTAL. Reserved for future using.
    
        MI_U16 u16MaxDCLK; ///< PANEL_MAX_DCLK. Reserved for future using.
    
        MI_U16 u16DCLK; ///< LPLL_0F[23:0], PANEL_DCLK
    
        MI_U16 u16MinDCLK; ///< PANEL_MIN_DCLK. Reserved for future using.
    
        ///< spread spectrum
    
        MI_U16 u16SpreadSpectrumStep; ///< move to board define, no use now.
    
        MI_U16 u16SpreadSpectrumSpan; ///< move to board define, no use now.
    
        MI_U8 u8DimmingCtl; ///< Initial Dimming Value
    
        MI_U8 u8MaxPWMVal; ///< Max Dimming Value
    
        MI_U8 u8MinPWMVal; ///< Min Dimming Value
    
        MI_U8 u8DeinterMode; ///< define PANEL_DEINTER_MODE, no use now
    
        MI_PANEL_AspectRatio_e ePanelAspectRatio; ///< Panel Aspect Ratio, provide
        information to upper layer application for aspect ratio setting.
    
        MI_U16 u16LVDSTxSwapValue;
    
        MI_PANEL_TiBitMode_e eTiBitMode; ///< MOD_4B[1:0], refer to "LVDS output
        app note"
    
        MI_PANEL_OutputFormatBitMode_e eOutputFormatBitMode;
    
        MI_U8 u8SwapOdd_RG; ///< define PANEL_SWAP_ODD_RG
    
        MI_U8 u8SwapEven_RG; ///< define PANEL_SWAP_EVEN_RG
    
        MI_U8 u8SwapOdd_GB; ///< define PANEL_SWAP_ODD_GB
    
        MI_U8 u8SwapEven_GB; ///< define PANEL_SWAP_EVEN_GB
    
        /**
    
        * Others
    
        */
    
        MI_U8 u8DoubleClk; ///< LPLL_03[7], define Double Clock ,LVDS dual mode
    
        MI_U32 u32MaxSET; ///< define PANEL_MAX_SET
    
        MI_U32 u32MinSET; ///< define PANEL_MIN_SET
    
        MI_PANEL_OutputTimingMode_e eOutTimingMode; ///<Define which panel output
        timing change mode is used to change VFreq for same panel
    
        MI_U8 u8NoiseDith; ///< PAFRC mixed with noise dither disable
    
    }MI_PANEL_ParamConfig_t;
    
  • 相关数据类型及接口

    MI_PANEL_IntfType_e

    MI_PANEL_AspectRatio_e

    MI_PANEL_TiBitMode_e

    MI_PANEL_OutputFormatBitMode_e

    MI_PANEL_OutputTimingMode_e

    MI_PANEL_GetPanelParam


2.13. MI_PANEL_IntfType_e

  • 说明

    定义PANEL Interface Type枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_INTF_TTL,                              ///< TTL  type
    
        E_MI_PNL_INTF_LVDS,                             ///< LVDS type
    
        E_MI_PNL_INTF_RSDS,                             ///< RSDS type
    
        E_MI_PNL_INTF_MINILVDS,                         ///< TCON
    
        E_MI_PNL_INTF_ANALOG_MINILVDS,                  ///< Analog TCON
    
        E_MI_PNL_INTF_DIGITAL_MINILVDS,                 ///< Digital TCON
    
        E_MI_PNL_INTF_MFC,                              ///< Ursa (TTL output to Ursa)
    
        E_MI_PNL_INTF_DAC_I,                        ///< DAC output
    
        E_MI_PNL_INTF_DAC_P,                       ///< DAC output
    
        E_MI_PNL_INTF_PDPLVDS,                    ///< For PDP(Vsync use Manually MODE)
    
        E_MI_PNL_INTF_EXT,                              ///< EXT LPLL TYPE
    
        E_MI_PNL_INTF_MIPI_DSI,                         ///< Mipi DSI
    
        E_MI_PNL_INTF_BT656,                          //BT656 interface
    
        E_MI_PNL_INTF_BT601,                            ///< BT601
    
        E_MI_PNL_INTF_BT1120,                           ///< BT1120
    
        E_MI_PNL_INTF_MCU_TYPE,                         ///< MCU Type
    
        E_MI_PNL_INTF_SRGB,                             ///< sRGB
    
        E_MI_PNL_INTF_TTL_SPI_IF,                       ///< TTL with SPI init interface
    
    }MI_PANEL_IntfType_e;
    
  • 相关数据类型及接口

    MI_PANEL_ParamConfig_t

    MI_PANEL_GetPanelParam


2.14. MI_PANEL_AspectRatio_e

  • 说明

    定义PANEL AspectRatio枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_ASPECT_RATIO_4_3 = 0, ///< set aspect ratio to 4 : 3
    
        E_MI_PNL_ASPECT_RATIO_WIDE, ///< set aspect ratio to 16 : 9
    
        E_MI_PNL_ASPECT_RATIO_OTHER, ///< resvered for other aspect ratio other
        than 4:3/ 16:9
    
    }MI_PANEL_AspectRatio_e;
    
  • 相关数据类型及接口

    MI_PANEL_ParamConfig_t

    MI_PANEL_GetPanelParam


2.15. MI_PANEL_TiBitMode_e

  • 说明

    定义PANEL TiBitMode枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_TI_10BIT_MODE = 0,
    
        E_MI_PNL_TI_8BIT_MODE = 2,
    
        E_MI_PNL_TI_6BIT_MODE = 3,
    
    } MI_PANEL_TiBitMode_e;
    
  • 相关数据类型及接口

    MI_PANEL_ParamConfig_t

    MI_PANEL_GetPanelParam


2.16. MI_PANEL_OutputFormatBitMode_e

  • 说明

    定义PANEL OutputFormatBitMode枚举

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_OUTPUT_10BIT_MODE = 0, //default is 10bit, becasue 8bit panel can
        use 10bit config and 8bit config.
    
        E_MI_PNL_OUTPUT_6BIT_MODE = 1, //but 10bit panel(like PDP panel) can only
        use 10bit config.
    
        E_MI_PNL_OUTPUT_8BIT_MODE = 2, //and some PDA panel is 6bit.
    
        E_MI_PNL_OUTPUT_565BIT_MODE = 3,
    
    } MI_PANEL_OutputFormatBitMode_e;
    
  • 相关数据类型及接口

    MI_PANEL_ParamConfig_t

    MI_PANEL_GetPanelParam


2.17. MI_PANEL_OutputTimingMode_e

  • 说明

    定义panel output timing change mode

  • 定义

    typedef enum
    
    {
    
        E_MI_PNL_CHG_DCLK = 0, ///<change output DClk to change Vfreq.
    
        E_MI_PNL_CHG_HTOTAL = 1, ///<change H total to change Vfreq.
    
        E_MI_PNL_CHG_VTOTAL = 2, ///<change V total to change Vfreq.
    
    } MI_PANEL_OutputTimingMode_e;
    
  • 相关数据类型及接口

    MI_PANEL_ParamConfig_t

    MI_PANEL_GetPanelParam


2.18. MI_PANEL_InitParam_t

  • 说明

    定义panel设备初始化参数

  • 定义

    typedef struct MI_PANEL_InitParam_s
    
    {
    
        MI_PANEL_IntfType_e eIntfType;  //PANEL接口类型枚举
    
    } MI_PANEL_InitParam_t;
    
  • 相关数据类型及接口

    MI_PANEL_InitDev


3. PANEL错误码

表3-1

错误代码 宏定义 描述
0x0 MI_SUCCESS succeeded
0xA00B2011 MI_ERR_PANEL_INVALID_PARAM 非法参数
0xA00B2006 MI_ERR_PANEL_NULL_PTR 空指针异常
0xA00B2001 MI_ERR_PANEL_INVALID_DEVID 无效设备ID
0xA00B2018 MI_ERR_PANEL_DRV_FAILED PANEL驱动返回失败
0xA00B2015 MI_ERR_PANEL_NOT_INIT PANEL未初始化
0xA00B2008 MI_ERR_PANEL_NOT_SUPPORT 不支持操作