MI PANEL API


REVISION HISTORY

Revision No.
Description
Date
2.03
  • Initial release
  • 04/12/2018
    2.04
  • Added new API: MI_PANEL_SetSscConfig
  • 06/06/2019
    2.05
  • Added new mipi dsi config parameters: MI_U8 u8SyncCalibrate, MI_U16 u16VirHsyncSt, MI_U16 u16VirHsyncEnd, MI_U16 u16VsyncRef, MI_U16 u16DataClkSkew
  • 08/09/2019
    2.06
  • Added new mipi dsi config parameters: MI_U8 u8PolCh0, MI_U8 u8PolCh1, MI_U8 u8PolCh2, MI_U8 u8PolCh3, MI_U8 u8PolCh4
  • 10/14/2019
    2.07
  • Added output pixel format enum: E_MI_PNL_OUTPUT_565BIT_MODE
  • 12/09/2019
    2.08
  • Redefined SSC parameter: MI_PANEL_SscConfig_t
  • 03/13/2020
    2.09
  • Added new API: MI_PANEL_InitDev, MI_PANEL_DeInitDev
  • 04/26/2020
    2.10
  • Added interface type to API
  • Removed needless API
  • 06/18/2020
    2.11
  • Added BT656 interface enum
  • 07/03/2020
    2.12
  • Added new interface type
  • 09/03/2020
    2.13
  • Declare that these functions are not supported: MI_PANEL_SetPowerOn, MI_PANEL_GetPowerOn, MI_PANEL_SetBacklight, MI_PANEL_GetBacklight, MI_PANEL_SetBacklightLevel, MI_PANEL_GetBacklightLevel
  • 06/25/2021
    2.14
  • Added new interface type: E_MI_PNL_INTF_BT1120_DDR
  • 12/08/2021
    2.15
  • Modify MI_PANEL_DeInit and MI_PANEL_DeinitDev input param
  • 02/28/2022
    2.16
  • Added panel supported interfaces
  • 06/10/2022

    1. API 参考


    该功能模块提供以下 API:

    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.1. MI_PANEL_Init

    • 功能

      初始化 PANEL。

    • 语法

      MI_S32 MI_PANEL_Init(MI_PANEL_IntfType_e eIntfType);
      
    • 形参

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 相关主题

      MI_PANEL_DeInit


    1.2. MI_PANEL_DeInit

    • 功能

      去初始化 PANEL。

    • 语法

      MI_S32 MI_PANEL_DeInit(MI_PANEL_IntfType_e eIntfType);
      
    • 形参

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      暂不支持。


    1.3. MI_PANEL_GetTotalNum

    • 功能

      获取总的屏参个数。

    • 语法

      MI_S32 MI_PANEL_GetTotalNum(MI_U32 *pu32TotalNum);
      
    • 形参

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      暂不支持。


    1.4. MI_PANEL_SetPowerOn

    • 功能

      设置屏供电使能。

    • 语法

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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

      • 目前不支持,建议app直接控制GPIO。

    • 相关主题

      MI_PANEL_GetPowerOn


    1.5. MI_PANEL_GetPowerOn

    • 功能

      获取屏供电使能状态。

    • 语法

      MI_S32 MI_PANEL_GetPowerOn(MI_PANEL_IntfType_e eIntfType, MI_PANEL_PowerConfig_t *pstPowerCfg);

    • 语法

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      • 目前不支持,建议app直接控制GPIO。
    • 相关主题

      MI_PANEL_SetPowerOn


    1.6. MI_PANEL_SetBacklight

    • 功能

      设置屏背光使能。

    • 语法

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      • 目前不支持,建议app直接控制GPIO。
    • 相关主题

      MI_PANEL_GetBackLight


    1.7. MI_PANEL_GetBacklight

    • 功能

      获取屏背光使能状态。

    • 语法

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      • 目前不支持,建议app直接控制GPIO。
    • 相关主题

      MI_PANEL_SetBacklight


    1.8. MI_PANEL_SetBacklightLevel

    • 功能

      设置背光亮度值。

    • 语法

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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

      • 目前不支持,建议app直接控制PWM。

    • 相关主题

      MI_PANEL_GetBacklightLevel


    1.9. MI_PANEL_GetBacklightLevel

    • 功能

      获取屏背光亮度值。

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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

      • 目前不支持,建议app直接控制PWM。

    • 相关主题

      MI_PANEL_SetBacklightLevel


    1.10. MI_PANEL_SetSscConfig

    • 功能

      设置展频相关信息。

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so


    1.11. MI_PANEL_SetMipiDsiConfig

    • 功能

      设置MIPI接口相关配置

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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


    1.12. MI_PANEL_SetTimingConfig

    • 功能

      设置Timing相关信息

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 相关主题

      MI_PANEL_GetTimingConfig


    1.13. MI_PANEL_SetDrvCurrentConfig

    • 功能

      设置驱动能力相关信息

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so


    1.14. MI_PANEL_SetOutputPattern

    • 功能

      设置输出pattern

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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


    1.15. MI_PANEL_SetPanelParam

    • 功能

      设置PANEL参数。

    • 语法

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 相关主题

      MI_PANEL_GetPanelParam


    1.16. MI_PANEL_GetPanelParam

    • 功能

      获取PANEL参数。

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

      需先调用MI_PANEL_SetPanelParam

    • 相关主题

      MI_PANEL_SetPanelParam


    1.17. MI_PANEL_GetTimingConfig

    • 功能

      获取Timing相关信息

    • 定义

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

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 相关主题

      MI_PANEL_SetTimingConfig


    1.18. MI_PANEL_InitDev

    • 功能

      初始化PANEL设备。

    • 语法

      MI_S32 MI_PANEL_InitDev(MI_PANEL_InitParam_t *pstInitParam);
      
    • 形参

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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

      MI_PANEL_DeInitDev


    1.19. MI_PANEL_DeInitDev

    • 功能

      去初始化PANEL设备。

    • 语法

      MI_S32 MI_PANEL_DeInitDev(MI_PANEL_InitParam_t *pstInitParam);
      
    • 形参

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

      • 0:成功。

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

    • 依赖

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

      • 库文件:libmi_panel.a / libmi_panel.so

    • 注意

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

      MI_PANEL_InitDev


    2. PANEL数据类型


    PANEL相关数据类型定义如下:

    数据类型 定义
    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.1. MI_PANEL_PowerConfig_t


    2.2. MI_PANEL_BackLightConfig_t


    2.3. 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.4. 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.5. 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.6. 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.7. 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.8. 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.9. MI_PANEL_DrvCurrentConfig_t

    • 说明

      定义驱动能力配置结构体

    • 定义

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

      MI_PANEL_SetDrvCurrentConfig


    2.10. 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.11. 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.12. 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
          E_MI_PNL_INTF_BT1120_DDR,
      }MI_PANEL_IntfType_e;
      
    • 注意

      • E_MI_PNL_INTF_BT1120 为单边沿采样;E_MI_PNL_INTF_BT1120_DDR为双边沿采样。

      • 目前PANEL支持的接口类型:E_MI_DISP_INTF_TTL、E_MI_DISP_INTF_SRGB、E_MI_DISP_INTF_MCU。

    • 相关数据类型及接口

      MI_PANEL_ParamConfig_t

      MI_PANEL_GetPanelParam


    2.13. 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.14. 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.15. 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.16. 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.17. 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

    错误代码 宏定义 描述
    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 不支持操作