|
enum | _i3c_master_flags {
kI3C_MasterBetweenFlag = I3C_MSTATUS_BETWEEN_MASK,
kI3C_MasterNackDetectFlag = I3C_MSTATUS_NACKED_MASK,
kI3C_MasterSlaveStartFlag = I3C_MSTATUS_SLVSTART_MASK,
kI3C_MasterControlDoneFlag = I3C_MSTATUS_MCTRLDONE_MASK,
kI3C_MasterCompleteFlag = I3C_MSTATUS_COMPLETE_MASK,
kI3C_MasterRxReadyFlag = I3C_MSTATUS_RXPEND_MASK,
kI3C_MasterTxReadyFlag = I3C_MSTATUS_TXNOTFULL_MASK,
kI3C_MasterArbitrationWonFlag = I3C_MSTATUS_IBIWON_MASK,
kI3C_MasterErrorFlag = I3C_MSTATUS_ERRWARN_MASK,
kI3C_MasterSlave2MasterFlag = I3C_MSTATUS_NOWMASTER_MASK,
kI3C_MasterBetweenFlag = I3C_MSTATUS_BETWEEN_MASK,
kI3C_MasterNackDetectFlag = I3C_MSTATUS_NACKED_MASK,
kI3C_MasterSlaveStartFlag = I3C_MSTATUS_SLVSTART_MASK,
kI3C_MasterControlDoneFlag = I3C_MSTATUS_MCTRLDONE_MASK,
kI3C_MasterCompleteFlag = I3C_MSTATUS_COMPLETE_MASK,
kI3C_MasterRxReadyFlag = I3C_MSTATUS_RXPEND_MASK,
kI3C_MasterTxReadyFlag = I3C_MSTATUS_TXNOTFULL_MASK,
kI3C_MasterArbitrationWonFlag = I3C_MSTATUS_IBIWON_MASK,
kI3C_MasterErrorFlag = I3C_MSTATUS_ERRWARN_MASK,
kI3C_MasterSlave2MasterFlag = I3C_MSTATUS_NOWMASTER_MASK
} |
| I3C master peripheral flags. More...
|
|
enum | _i3c_master_error_flags {
kI3C_MasterErrorNackFlag = I3C_MERRWARN_NACK_MASK,
kI3C_MasterErrorWriteAbortFlag = I3C_MERRWARN_WRABT_MASK,
kI3C_MasterErrorTermFlag = I3C_MERRWARN_TERM_MASK,
kI3C_MasterErrorParityFlag = I3C_MERRWARN_HPAR_MASK,
kI3C_MasterErrorCrcFlag = I3C_MERRWARN_HCRC_MASK,
kI3C_MasterErrorReadFlag = I3C_MERRWARN_OREAD_MASK,
kI3C_MasterErrorWriteFlag = I3C_MERRWARN_OWRITE_MASK,
kI3C_MasterErrorMsgFlag = I3C_MERRWARN_MSGERR_MASK,
kI3C_MasterErrorInvalidReqFlag = I3C_MERRWARN_INVREQ_MASK,
kI3C_MasterErrorTimeoutFlag = I3C_MERRWARN_TIMEOUT_MASK,
kI3C_MasterErrorNackFlag = I3C_MERRWARN_NACK_MASK,
kI3C_MasterErrorWriteAbortFlag = I3C_MERRWARN_WRABT_MASK,
kI3C_MasterErrorTermFlag = I3C_MERRWARN_TERM_MASK,
kI3C_MasterErrorParityFlag = I3C_MERRWARN_HPAR_MASK,
kI3C_MasterErrorCrcFlag = I3C_MERRWARN_HCRC_MASK,
kI3C_MasterErrorReadFlag = I3C_MERRWARN_OREAD_MASK,
kI3C_MasterErrorWriteFlag = I3C_MERRWARN_OWRITE_MASK,
kI3C_MasterErrorMsgFlag = I3C_MERRWARN_MSGERR_MASK,
kI3C_MasterErrorInvalidReqFlag = I3C_MERRWARN_INVREQ_MASK,
kI3C_MasterErrorTimeoutFlag = I3C_MERRWARN_TIMEOUT_MASK
} |
| I3C master error flags to indicate the causes. More...
|
|
enum | i3c_master_state_t {
kI3C_MasterStateIdle = 0U,
kI3C_MasterStateSlvReq = 1U,
kI3C_MasterStateMsgSdr = 2U,
kI3C_MasterStateNormAct = 3U,
kI3C_MasterStateDdr = 4U,
kI3C_MasterStateDaa = 5U,
kI3C_MasterStateIbiAck = 6U,
kI3C_MasterStateIbiRcv = 7U,
kI3C_MasterStateIdle = 0U,
kI3C_MasterStateSlvReq = 1U,
kI3C_MasterStateMsgSdr = 2U,
kI3C_MasterStateNormAct = 3U,
kI3C_MasterStateDdr = 4U,
kI3C_MasterStateDaa = 5U,
kI3C_MasterStateIbiAck = 6U,
kI3C_MasterStateIbiRcv = 7U
} |
| I3C working master state. More...
|
|
enum | i3c_master_enable_t {
kI3C_MasterOff = 0U,
kI3C_MasterOn = 1U,
kI3C_MasterCapable = 2U,
kI3C_MasterOff = 0U,
kI3C_MasterOn = 1U,
kI3C_MasterCapable = 2U
} |
| I3C master enable configuration. More...
|
|
enum | i3c_master_hkeep_t {
kI3C_MasterHighKeeperNone = 0U,
kI3C_MasterHighKeeperWiredIn = 1U,
kI3C_MasterPassiveSDA = 2U,
kI3C_MasterPassiveSDASCL = 3U,
kI3C_MasterHighKeeperNone = 0U,
kI3C_MasterHighKeeperWiredIn = 1U,
kI3C_MasterPassiveSDA = 2U,
kI3C_MasterPassiveSDASCL = 3U
} |
| I3C high keeper configuration. More...
|
|
enum | i3c_bus_request_t {
kI3C_RequestNone = 0U,
kI3C_RequestEmitStartAddr = 1U,
kI3C_RequestEmitStop = 2U,
kI3C_RequestIbiAckNack = 3U,
kI3C_RequestProcessDAA = 4U,
kI3C_RequestForceExit = 6U,
kI3C_RequestAutoIbi = 7U,
kI3C_RequestNone = 0U,
kI3C_RequestEmitStartAddr = 1U,
kI3C_RequestEmitStop = 2U,
kI3C_RequestIbiAckNack = 3U,
kI3C_RequestProcessDAA = 4U,
kI3C_RequestForceExit = 6U,
kI3C_RequestAutoIbi = 7U
} |
| Emits the requested operation when doing in pieces vs. More...
|
|
enum | i3c_bus_type_t {
kI3C_TypeI3CSdr = 0U,
kI3C_TypeI2C = 1U,
kI3C_TypeI3CDDR = 2U,
kI3C_TypeI3CSdr = 0U,
kI3C_TypeI2C = 1U,
kI3C_TypeI3CDDR = 2U
} |
| Bus type with EmitStartAddr. More...
|
|
enum | i3c_ibi_response_t {
kI3C_IbiRespAck = 0U,
kI3C_IbiRespNack = 1U,
kI3C_IbiRespAckMandatory = 2U,
kI3C_IbiRespManual = 3U,
kI3C_IbiRespAck = 0U,
kI3C_IbiRespNack = 1U,
kI3C_IbiRespAckMandatory = 2U,
kI3C_IbiRespManual = 3U
} |
| IBI response. More...
|
|
enum | i3c_direction_t {
kI3C_Write = 0U,
kI3C_Read = 1U,
kI3C_Write = 0U,
kI3C_Read = 1U
} |
| Direction of master and slave transfers. More...
|
|
enum | i3c_tx_trigger_level_t {
kI3C_TxTriggerOnEmpty = 0U,
kI3C_TxTriggerUntilOneQuarterOrLess = 1U,
kI3C_TxTriggerUntilOneHalfOrLess = 2U,
kI3C_TxTriggerUntilOneLessThanFull = 3U,
kI3C_TxTriggerOnEmpty = 0U,
kI3C_TxTriggerUntilOneQuarterOrLess = 1U,
kI3C_TxTriggerUntilOneHalfOrLess = 2U,
kI3C_TxTriggerUntilOneLessThanFull = 3U
} |
| Watermark of TX int/dma trigger level. More...
|
|
enum | i3c_rx_trigger_level_t {
kI3C_RxTriggerOnNotEmpty = 0U,
kI3C_RxTriggerUntilOneQuarterOrMore = 1U,
kI3C_RxTriggerUntilOneHalfOrMore = 2U,
kI3C_RxTriggerUntilThreeQuarterOrMore = 3U,
kI3C_RxTriggerOnNotEmpty = 0U,
kI3C_RxTriggerUntilOneQuarterOrMore = 1U,
kI3C_RxTriggerUntilOneHalfOrMore = 2U,
kI3C_RxTriggerUntilThreeQuarterOrMore = 3U
} |
| Watermark of RX int/dma trigger level. More...
|
|
enum | _i3c_master_transfer_flags {
kI3C_TransferDefaultFlag = 0x00U,
kI3C_TransferNoStartFlag = 0x01U,
kI3C_TransferRepeatedStartFlag = 0x02U,
kI3C_TransferNoStopFlag = 0x04U,
kI3C_TransferDefaultFlag = 0x00U,
kI3C_TransferNoStartFlag = 0x01U,
kI3C_TransferRepeatedStartFlag = 0x02U,
kI3C_TransferNoStopFlag = 0x04U
} |
| Transfer option flags. More...
|
|
enum | _i3c_master_flags {
kI3C_MasterBetweenFlag = I3C_MSTATUS_BETWEEN_MASK,
kI3C_MasterNackDetectFlag = I3C_MSTATUS_NACKED_MASK,
kI3C_MasterSlaveStartFlag = I3C_MSTATUS_SLVSTART_MASK,
kI3C_MasterControlDoneFlag = I3C_MSTATUS_MCTRLDONE_MASK,
kI3C_MasterCompleteFlag = I3C_MSTATUS_COMPLETE_MASK,
kI3C_MasterRxReadyFlag = I3C_MSTATUS_RXPEND_MASK,
kI3C_MasterTxReadyFlag = I3C_MSTATUS_TXNOTFULL_MASK,
kI3C_MasterArbitrationWonFlag = I3C_MSTATUS_IBIWON_MASK,
kI3C_MasterErrorFlag = I3C_MSTATUS_ERRWARN_MASK,
kI3C_MasterSlave2MasterFlag = I3C_MSTATUS_NOWMASTER_MASK,
kI3C_MasterBetweenFlag = I3C_MSTATUS_BETWEEN_MASK,
kI3C_MasterNackDetectFlag = I3C_MSTATUS_NACKED_MASK,
kI3C_MasterSlaveStartFlag = I3C_MSTATUS_SLVSTART_MASK,
kI3C_MasterControlDoneFlag = I3C_MSTATUS_MCTRLDONE_MASK,
kI3C_MasterCompleteFlag = I3C_MSTATUS_COMPLETE_MASK,
kI3C_MasterRxReadyFlag = I3C_MSTATUS_RXPEND_MASK,
kI3C_MasterTxReadyFlag = I3C_MSTATUS_TXNOTFULL_MASK,
kI3C_MasterArbitrationWonFlag = I3C_MSTATUS_IBIWON_MASK,
kI3C_MasterErrorFlag = I3C_MSTATUS_ERRWARN_MASK,
kI3C_MasterSlave2MasterFlag = I3C_MSTATUS_NOWMASTER_MASK
} |
| I3C master peripheral flags. More...
|
|
enum | _i3c_master_error_flags {
kI3C_MasterErrorNackFlag = I3C_MERRWARN_NACK_MASK,
kI3C_MasterErrorWriteAbortFlag = I3C_MERRWARN_WRABT_MASK,
kI3C_MasterErrorTermFlag = I3C_MERRWARN_TERM_MASK,
kI3C_MasterErrorParityFlag = I3C_MERRWARN_HPAR_MASK,
kI3C_MasterErrorCrcFlag = I3C_MERRWARN_HCRC_MASK,
kI3C_MasterErrorReadFlag = I3C_MERRWARN_OREAD_MASK,
kI3C_MasterErrorWriteFlag = I3C_MERRWARN_OWRITE_MASK,
kI3C_MasterErrorMsgFlag = I3C_MERRWARN_MSGERR_MASK,
kI3C_MasterErrorInvalidReqFlag = I3C_MERRWARN_INVREQ_MASK,
kI3C_MasterErrorTimeoutFlag = I3C_MERRWARN_TIMEOUT_MASK,
kI3C_MasterErrorNackFlag = I3C_MERRWARN_NACK_MASK,
kI3C_MasterErrorWriteAbortFlag = I3C_MERRWARN_WRABT_MASK,
kI3C_MasterErrorTermFlag = I3C_MERRWARN_TERM_MASK,
kI3C_MasterErrorParityFlag = I3C_MERRWARN_HPAR_MASK,
kI3C_MasterErrorCrcFlag = I3C_MERRWARN_HCRC_MASK,
kI3C_MasterErrorReadFlag = I3C_MERRWARN_OREAD_MASK,
kI3C_MasterErrorWriteFlag = I3C_MERRWARN_OWRITE_MASK,
kI3C_MasterErrorMsgFlag = I3C_MERRWARN_MSGERR_MASK,
kI3C_MasterErrorInvalidReqFlag = I3C_MERRWARN_INVREQ_MASK,
kI3C_MasterErrorTimeoutFlag = I3C_MERRWARN_TIMEOUT_MASK
} |
| I3C master error flags to indicate the causes. More...
|
|
enum | i3c_master_state_t {
kI3C_MasterStateIdle = 0U,
kI3C_MasterStateSlvReq = 1U,
kI3C_MasterStateMsgSdr = 2U,
kI3C_MasterStateNormAct = 3U,
kI3C_MasterStateDdr = 4U,
kI3C_MasterStateDaa = 5U,
kI3C_MasterStateIbiAck = 6U,
kI3C_MasterStateIbiRcv = 7U,
kI3C_MasterStateIdle = 0U,
kI3C_MasterStateSlvReq = 1U,
kI3C_MasterStateMsgSdr = 2U,
kI3C_MasterStateNormAct = 3U,
kI3C_MasterStateDdr = 4U,
kI3C_MasterStateDaa = 5U,
kI3C_MasterStateIbiAck = 6U,
kI3C_MasterStateIbiRcv = 7U
} |
| I3C working master state. More...
|
|
enum | i3c_master_enable_t {
kI3C_MasterOff = 0U,
kI3C_MasterOn = 1U,
kI3C_MasterCapable = 2U,
kI3C_MasterOff = 0U,
kI3C_MasterOn = 1U,
kI3C_MasterCapable = 2U
} |
| I3C master enable configuration. More...
|
|
enum | i3c_master_hkeep_t {
kI3C_MasterHighKeeperNone = 0U,
kI3C_MasterHighKeeperWiredIn = 1U,
kI3C_MasterPassiveSDA = 2U,
kI3C_MasterPassiveSDASCL = 3U,
kI3C_MasterHighKeeperNone = 0U,
kI3C_MasterHighKeeperWiredIn = 1U,
kI3C_MasterPassiveSDA = 2U,
kI3C_MasterPassiveSDASCL = 3U
} |
| I3C high keeper configuration. More...
|
|
enum | i3c_bus_request_t {
kI3C_RequestNone = 0U,
kI3C_RequestEmitStartAddr = 1U,
kI3C_RequestEmitStop = 2U,
kI3C_RequestIbiAckNack = 3U,
kI3C_RequestProcessDAA = 4U,
kI3C_RequestForceExit = 6U,
kI3C_RequestAutoIbi = 7U,
kI3C_RequestNone = 0U,
kI3C_RequestEmitStartAddr = 1U,
kI3C_RequestEmitStop = 2U,
kI3C_RequestIbiAckNack = 3U,
kI3C_RequestProcessDAA = 4U,
kI3C_RequestForceExit = 6U,
kI3C_RequestAutoIbi = 7U
} |
| Emits the requested operation when doing in pieces vs. More...
|
|
enum | i3c_bus_type_t {
kI3C_TypeI3CSdr = 0U,
kI3C_TypeI2C = 1U,
kI3C_TypeI3CDDR = 2U,
kI3C_TypeI3CSdr = 0U,
kI3C_TypeI2C = 1U,
kI3C_TypeI3CDDR = 2U
} |
| Bus type with EmitStartAddr. More...
|
|
enum | i3c_ibi_response_t {
kI3C_IbiRespAck = 0U,
kI3C_IbiRespNack = 1U,
kI3C_IbiRespAckMandatory = 2U,
kI3C_IbiRespManual = 3U,
kI3C_IbiRespAck = 0U,
kI3C_IbiRespNack = 1U,
kI3C_IbiRespAckMandatory = 2U,
kI3C_IbiRespManual = 3U
} |
| IBI response. More...
|
|
enum | i3c_direction_t {
kI3C_Write = 0U,
kI3C_Read = 1U,
kI3C_Write = 0U,
kI3C_Read = 1U
} |
| Direction of master and slave transfers. More...
|
|
enum | i3c_tx_trigger_level_t {
kI3C_TxTriggerOnEmpty = 0U,
kI3C_TxTriggerUntilOneQuarterOrLess = 1U,
kI3C_TxTriggerUntilOneHalfOrLess = 2U,
kI3C_TxTriggerUntilOneLessThanFull = 3U,
kI3C_TxTriggerOnEmpty = 0U,
kI3C_TxTriggerUntilOneQuarterOrLess = 1U,
kI3C_TxTriggerUntilOneHalfOrLess = 2U,
kI3C_TxTriggerUntilOneLessThanFull = 3U
} |
| Watermark of TX int/dma trigger level. More...
|
|
enum | i3c_rx_trigger_level_t {
kI3C_RxTriggerOnNotEmpty = 0U,
kI3C_RxTriggerUntilOneQuarterOrMore = 1U,
kI3C_RxTriggerUntilOneHalfOrMore = 2U,
kI3C_RxTriggerUntilThreeQuarterOrMore = 3U,
kI3C_RxTriggerOnNotEmpty = 0U,
kI3C_RxTriggerUntilOneQuarterOrMore = 1U,
kI3C_RxTriggerUntilOneHalfOrMore = 2U,
kI3C_RxTriggerUntilThreeQuarterOrMore = 3U
} |
| Watermark of RX int/dma trigger level. More...
|
|
enum | _i3c_master_transfer_flags {
kI3C_TransferDefaultFlag = 0x00U,
kI3C_TransferNoStartFlag = 0x01U,
kI3C_TransferRepeatedStartFlag = 0x02U,
kI3C_TransferNoStopFlag = 0x04U,
kI3C_TransferDefaultFlag = 0x00U,
kI3C_TransferNoStartFlag = 0x01U,
kI3C_TransferRepeatedStartFlag = 0x02U,
kI3C_TransferNoStopFlag = 0x04U
} |
| Transfer option flags. More...
|
|
|
void | I3C_MasterSetBaudRate (I3C_Type *base, uint32_t baudRate_Hz, uint32_t sourceClock_Hz) |
| Sets the I3C bus frequency for master transactions. More...
|
|
static bool | I3C_MasterGetBusIdleState (I3C_Type *base) |
| Returns whether the bus is idle. More...
|
|
status_t | I3C_MasterStart (I3C_Type *base, i3c_bus_type_t type, uint8_t address, i3c_direction_t dir, uint32_t rxSize) |
| Sends a START signal and slave address on the I2C/I3C bus. More...
|
|
status_t | I3C_MasterRepeatedStart (I3C_Type *base, i3c_bus_type_t type, uint8_t address, i3c_direction_t dir, uint32_t rxSize) |
| Sends a repeated START signal and slave address on the I2C/I3C bus. More...
|
|
status_t | I3C_MasterSend (I3C_Type *base, const void *txBuff, size_t txSize, uint32_t flags) |
| Performs a polling send transfer on the I2C/I3C bus. More...
|
|
status_t | I3C_MasterReceive (I3C_Type *base, void *rxBuff, size_t rxSize, uint32_t flags) |
| Performs a polling receive transfer on the I2C/I3C bus. More...
|
|
status_t | I3C_MasterStop (I3C_Type *base) |
| Sends a STOP signal on the I2C/I3C bus. More...
|
|
status_t | I3C_MasterTransferBlocking (I3C_Type *base, i3c_bus_type_t type, i3c_master_transfer_t *transfer) |
| Performs a master polling transfer on the I2C/I3C bus. More...
|
|