/******************************************************************************* * mvSysAudioCodecRegWrite * * DESCRIPTION: * System interface for writing an Audio codec register. * * INPUT: * codecHandle: Handle passed by OS glue by which an audio codec is * identified. * regOffset: Offset of codec register to be written. * regData: Register data to write. * * OUTPUT: * None. * * RETURN: * MV_OK on success, * MV_ERROR otherwise. * *******************************************************************************/ MV_STATUS mvSysAudioCodecRegWrite(MV_VOID *codecHandle, MV_U32 regOffset, MV_U32 regData) { MV_TWSI_SLAVE slave; slave.slaveAddr.address = mvBoardA2DTwsiAddrGet(0); slave.slaveAddr.type = mvBoardA2DTwsiAddrTypeGet(0); slave.validOffset = MV_TRUE; slave.offset = regOffset; slave.moreThen256 = MV_FALSE; return mvTwsiWrite(mvBoardA2DTwsiChanNumGet(0), &slave, (MV_U8*)®Data, 1); }
/******************************************************************************* * mvRtcCharWrite - Write a char from the RTC. * * DESCRIPTION: * This function writes a char to the RTC offset. * * INPUT: * offset - offset * * OUTPUT: * data - char write to addr address. * * RETURN: * None. * *******************************************************************************/ static MV_VOID mvRtcCharWrite(MV_U32 offset, MV_U8 data) { MV_TWSI_SLAVE twsiSlave; twsiSlave.slaveAddr.type = mvBoardRtcTwsiAddrTypeGet(); twsiSlave.slaveAddr.address = mvBoardRtcTwsiAddrGet(); twsiSlave.validOffset = MV_TRUE; twsiSlave.offset = offset; twsiSlave.moreThen256 = MV_FALSE; mvTwsiWrite (MV_BOARD_RTC_I2C_CHANNEL, &twsiSlave, &data, 1); return; }
int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len) { MV_TWSI_SLAVE twsiSlave; DP(puts("i2c_write\n")); twsiSlave.slaveAddr.type = ADDR7_BIT; twsiSlave.slaveAddr.address = chip; if(alen != 0){ twsiSlave.validOffset = MV_TRUE; twsiSlave.offset = addr; if(alen == 2) { twsiSlave.moreThen256 = MV_TRUE; } else { twsiSlave.moreThen256 = MV_FALSE; } } i2c_init(CONFIG_SYS_I2C_SPEED,0); /* set the i2c frequency */ return mvTwsiWrite (i2c_current_bus, &twsiSlave, buffer, len); }