AM62x MCU+ SDK  10.01.00
PANEL

The Panel driver provides API to control I2C based display bridge driver present in the board. The display bridge can be a DPI/DSI based bridge that can convert DPI/DSI signals to HDMI output or any other output format.

Features Supported

  • Configurable I2C address for bridge.
  • Configurable I2C address for specific GPIO pin control for bridge.

SysConfig Features

Note
It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.
  • Option to specify I2C address for the bridge and bridge pin control.
Panel I2C Configuration
  • Configuration for SII9022A bridge.
SII9022A bridge Configuration

Features NOT Supported

  • DSI bridge.

Example Usage

Include the below file to access the APIs

#include <board/panel/panel_i2c.h>
BridgeSii9022a_Object gBridgeSii9022aObj =
{
.modeInfo = {
.standard = FVID2_STD_1080P_60,
.modeCode = 16,
.pixClk = 14850,
.vFreq = 60,
.pixels = 2200,
.lines = 1125,
.embSyncPrms = {
.hBitToHSync = 88,
.field2Offset = 0,
.hWidth = 44,
.vBitToVSync = 4,
.vWidth = 5.
},
.extSyncPrms = {
.deDelay = 192,
.deTop = 41,
.deCnt = 1920,
.deLine = 1080,
}
}
};
/* PANEL Driver handles - opened during Board_panelOpen() */
Panel_Handle gPanelHandle[CONFIG_PANEL_NUM_INSTANCES];
Panel_Params gPanelParams[CONFIG_PANEL_NUM_INSTANCES] =
{
{
.deviceI2cInstId = HDMI_I2C_CONFIG,
.deviceI2cAddr = 0x3B,
.inpClk = 0U,
.hotPlugGpioIntrLine = 0U,
.clkEdge = FALSE,
.outputFormat = BRIDGE_SII9022A_HDMI_RGB,
},
.vidOutParams = {
.standard = FVID2_STD_1080P_60,
.videoDataFormat = FVID2_DF_RGB24_888,
.videoIfWidth = FVID2_VIFW_24BIT,
}
},
};
Panel_PinCtrl gPinCtrlConfig[CONFIG_PANEL_NUM_INSTANCES] =
{
{
.pinCtrlI2cInstance = HDMI_I2C_CONFIG,
.pinCtrlI2cAddr = 0x23,
.numPins = 1,
.pinConf = {
{
.pinIoNum = 21,
.pinType = TCA6424_MODE_OUTPUT,
}
},
},
};
/* PANEL Config */
Panel_Config gPanelConfig[CONFIG_PANEL_NUM_INSTANCES] =
{
{
.fxns = &gPanelBridgeSii9022aFxns,
.object = (void *)&gBridgeSii9022aObj,
.pinConfig = &gPinCtrlConfig[0],
},
};
uint32_t gPanelConfigNum = CONFIG_PANEL_NUM_INSTANCES;

Instance Open Example

gPanelHandle[CONFIG_PANEL0] = NULL;
gPanelHandle[CONFIG_PANEL0] = Panel_open(CONFIG_PANEL0, &gPanelParams[CONFIG_PANEL0]);
if (!gPanelHandle[CONFIG_PANEL0])
{
}

Instance Close Example

Panel_close(gPanelHandle[CONFIG_PANEL0]);

API

APIs for PANEL

FVID2_VIFM_SCH_DS_AVID_VSYNC
#define FVID2_VIFM_SCH_DS_AVID_VSYNC
Definition: fvid2_dataTypes.h:995
FVID2_STD_1080P_60
#define FVID2_STD_1080P_60
1920x1080 60FPS progressive HD standard.
Definition: fvid2_dataTypes.h:682
Panel_BridgeParams::deviceI2cInstId
uint32_t deviceI2cInstId
Definition: panel.h:171
FVID2_VIFW_24BIT
#define FVID2_VIFW_24BIT
24-bit interface.
Definition: fvid2_dataTypes.h:954
TCA6424_OUT_STATE_HIGH
#define TCA6424_OUT_STATE_HIGH
Configure IO pin output as HIGH.
Definition: ioexp_tca6424.h:82
Panel_PinCtrl::pinCtrlI2cInstance
uint32_t pinCtrlI2cInstance
Definition: panel.h:237
NULL
#define NULL
Define NULL if not defined.
Definition: csl_types.h:100
Panel_open
Panel_Handle Panel_open(uint32_t instanceId, Panel_Params *params)
Open panel driver.
CONFIG_PANEL_TYPE_I2C
#define CONFIG_PANEL_TYPE_I2C
Panel type supported.
Definition: panel.h:72
Panel_Config::panelType
uint32_t panelType
Definition: panel.h:279
FVID2_DF_RGB24_888
#define FVID2_DF_RGB24_888
RGB24 24-bit - 8-bits R, 8-bits G, 8-bits B.
Definition: fvid2_dataTypes.h:367
TCA6424_MODE_OUTPUT
#define TCA6424_MODE_OUTPUT
Configure IO pin as output.
Definition: ioexp_tca6424.h:71
Panel_Params::bridgeParams
Panel_BridgeParams bridgeParams
Definition: panel.h:254
Panel_Params
Parameters passed during Panel_open()
Definition: panel.h:253
Panel_close
void Panel_close(Panel_Handle handle)
Close panel driver.
Panel_PinCtrl
Configuration paramters for panel pin control.
Definition: panel.h:236
DebugP_assert
#define DebugP_assert(expression)
Function to call for assert check.
Definition: DebugP.h:175
Panel_Handle
void * Panel_Handle
Handle to the FLash driver returned by Panel_open()
Definition: panel.h:85
Panel_Config
Panel driver configuration, these are filled by SysCfg based on the panel device that is selected.
Definition: panel.h:278
FALSE
#define FALSE
Definition: csl_types.h:62