示例#1
0
/*******************************************************************************
* 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;
}
示例#2
0
/*******************************************************************************
* 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 */
}