/*============================================================================*/ tmErrorCode_t setHwRegisterFieldTable ( tmHdmiTxobject_t *pDis, const tmHdmiTxRegMaskVal_t *pTable ) { tmErrorCode_t err; /* Error code */ Int i; /* Table index */ /* Set register, mask and value from table until terminator is reached */ for (i = 0; pTable[i].Reg > 0; i++) { err = setHwRegisterField(pDis, pTable[i].Reg, pTable[i].Mask, pTable[i].Val); RETIF(err != TM_OK, err) } return TM_OK; }
/*============================================================================*/ tmErrorCode_t tmbslTDA9989EdidRequestBlockData(tmUnitSelect_t txUnit, UInt8 *pRawEdid, Int numBlocks, /* Only relevant if pRawEdid valid */ Int lenRawEdid /* Only relevant if pRawEdid valid */ ) { tmHdmiTxobject_t *pDis; /* Pointer to Device Instance Structure */ tmErrorCode_t err; /* Error code */ UInt8 regval; /* Byte value write to register */ /* Check unit parameter and point to TX unit object */ err = checkUnitSetDis(txUnit, &pDis); RETIF(err != TM_OK, err) #ifdef TMFL_TDA9989_PIXEL_CLOCK_ON_DDC if ((pDis->vinFmt == HDMITX_VFMT_16_1920x1080p_60Hz) || (pDis->vinFmt == HDMITX_VFMT_31_1920x1080p_50Hz)) { err = setHwRegisterField(pDis, E_REG_P02_PLL_SERIAL_3_RW, E_MASKREG_P02_PLL_SERIAL_3_srl_ccir, 0x01); RETIF_REG_FAIL(err) }