/******************************************************************************* * mvSysSflashDataWrite * * DESCRIPTION: * System interface for writing SPI flash data. * * INPUT: * flashHandle: Handle passed by OS glue by which an SPI flash is * identified. * dataBuff: Buffer holding the data to be written. * dataLen: Number of bytes to write. * transType: Bitmask describing the transaction type, see * SYS_SFLASH_TRANS_XX for details. * * OUTPUT: * None. * * RETURN: * MV_OK on success, * MV_ERROR otherwise. * *******************************************************************************/ MV_STATUS mvSysSflashDataWrite(MV_VOID *flashHandle, MV_U8* dataBuff, MV_U32 dataLen, MV_U8 transType) { MV_STATUS ret; if (!(mvSysSflashCmd.transType & SYS_SFLASH_TRANS_START)) return MV_ERROR; ret = mvSpiWriteThenWrite (0, mvSysSflashCmd.buf, mvSysSflashCmd.bufLen, dataBuff, dataLen); if (transType & SYS_SFLASH_TRANS_END) memset(&mvSysSflashCmd,0,sizeof(mvSysSflashCmd)); return ret; }
/******************************************************************************* * mvSysTdmSpiWrite - telephony register write via SPI interface * * DESCRIPTION: * * INPUT: * None * OUTPUT: * None * RETURN: * None * *******************************************************************************/ MV_VOID mvSysTdmSpiWrite(MV_U16 lineId, MV_U8* cmdBuff, MV_U8 cmdSize, MV_U8* dataBuff, MV_U8 dataSize) { #if defined(MV_TDM_SUPPORT) && !defined(ZARLINK_SLIC_SUPPORT) if((cmdSize > 3) || (dataSize > MAX_DATA_LENGTH)) { mvOsPrintf("Error, exceeded max size of command(%d) or data(%d)\n", cmdSize, dataSize); return; } mvTdmSpiWrite(cmdBuff, cmdSize, dataBuff, dataSize, lineId); #else /* MV_COMM_UNIT_SUPPORT || ZARLINK_SLIC_SUPPORT */ /* Set SPI parameters(lineId = devId) */ mvSpiParamsSet(mvBoardTdmSpiIdGet(), mvBoardTdmSpiCsGet(lineId), SPI_TYPE_SLIC); if(MV_OK != mvSpiWriteThenWrite (mvBoardTdmSpiIdGet(), cmdBuff, cmdSize, dataBuff, dataSize)) printk("SPI write failed !!!\n"); #endif /* MV_TDM_SUPPORT */ }