GRLIB I2CMST Model

The I2CMST model is available in the I2CMST plugin.

Loading the Plugin

import I2CMST

Configuration

@I2CMST Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LocalName

*char

Local name (in component, if applicable)

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @I2CMST

new

Create new instance of I2CMST

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

I2CMST Reference

Properties

Name Type Description

CMD

uint32_t

I2C-master command register

CMDColdResetValue

uint32_t

I2C-master command register

CMDForcedBits

uint32_t

I2C-master command register

CMDForcedFlippedBits

uint32_t

I2C-master command register

CMDReadMask

uint32_t

I2C-master command register

CMDResetMask

uint32_t

I2C-master command register

CMDResetValue

uint32_t

I2C-master command register

CMDWriteMask

uint32_t

I2C-master command register

CTRL

uint32_t

I2C-master control register

CTRLColdResetValue

uint32_t

I2C-master control register

CTRLForcedBits

uint32_t

I2C-master control register

CTRLForcedFlippedBits

uint32_t

I2C-master control register

CTRLReadMask

uint32_t

I2C-master control register

CTRLResetMask

uint32_t

I2C-master control register

CTRLResetValue

uint32_t

I2C-master control register

CTRLWriteMask

uint32_t

I2C-master control register

Class

*void

Class object

Component

*void

Pointer to component object if part of component

FILT

uint32_t

I2C-master dyanamic filter register

FILTColdResetValue

uint32_t

I2C-master dyanamic filter register

FILTForcedBits

uint32_t

I2C-master dyanamic filter register

FILTForcedFlippedBits

uint32_t

I2C-master dyanamic filter register

FILTReadMask

uint32_t

I2C-master dyanamic filter register

FILTResetMask

uint32_t

I2C-master dyanamic filter register

FILTResetValue

uint32_t

I2C-master dyanamic filter register

FILTWriteMask

uint32_t

I2C-master dyanamic filter register

LatestBusState

int32_t

Internal: Bus state reported between transfer events

LatestResponseByte

uint8_t

Internal: Bus state response between transfer events

LocalName

*char

Local name (in component, if applicable)

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

PRESCALE

uint32_t

I2C-master Clock prescale register

PRESCALEColdResetValue

uint32_t

I2C-master Clock prescale register

PRESCALEForcedBits

uint32_t

I2C-master Clock prescale register

PRESCALEForcedFlippedBits

uint32_t

I2C-master Clock prescale register

PRESCALEReadMask

uint32_t

I2C-master Clock prescale register

PRESCALEResetMask

uint32_t

I2C-master Clock prescale register

PRESCALEResetValue

uint32_t

I2C-master Clock prescale register

PRESCALEWriteMask

uint32_t

I2C-master Clock prescale register

RX

uint32_t

I2C-master receive register

RXColdResetValue

uint32_t

I2C-master receive register

RXForcedBits

uint32_t

I2C-master receive register

RXForcedFlippedBits

uint32_t

I2C-master receive register

RXReadMask

uint32_t

I2C-master receive register

RXResetMask

uint32_t

I2C-master receive register

RXResetValue

uint32_t

I2C-master receive register

RXWriteMask

uint32_t

I2C-master receive register

STAT

uint32_t

I2C-master status register

STATColdResetValue

uint32_t

I2C-master status register

STATForcedBits

uint32_t

I2C-master status register

STATForcedFlippedBits

uint32_t

I2C-master status register

STATReadMask

uint32_t

I2C-master status register

STATResetMask

uint32_t

I2C-master status register

STATResetValue

uint32_t

I2C-master status register

STATWriteMask

uint32_t

I2C-master status register

TX

uint32_t

I2C-master transmit register

TXColdResetValue

uint32_t

I2C-master transmit register

TXForcedBits

uint32_t

I2C-master transmit register

TXForcedFlippedBits

uint32_t

I2C-master transmit register

TXReadMask

uint32_t

I2C-master transmit register

TXResetMask

uint32_t

I2C-master transmit register

TXResetValue

uint32_t

I2C-master transmit register

TXWriteMask

uint32_t

I2C-master transmit register

TimeSource

*void

Time source object

bus

temu_IfaceRef/ <unknown>

I2C bus.

config.infiniteBusSpeed

uint64_t

Handle transfer-done events without delay

config.irq

uint8_t

Interrupt number

config.transferTimeInNS

uint64_t

Number of nanoseconds spent in 'Transport In Progress' mode.

irqCtrl

temu_IfaceRef/ <unknown>

IRQ controller.

memAccess

temu_IfaceRef/ <unknown>

Memory Interface for DMA containing underlying buffers.

Interfaces

Name Type Description

ApbIface

ApbIface

APB P&P interface.

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

Registers

temu::RegisterIface

Commands

Name Description

delete

Dispose instance of I2CMST

Limitations

  • It is possible for a device to lock up the bus. On hardware, there is a timeout mechanism between the last start condition and when a controller is alowed to send a new start condition without having seen a stop condition on the bus. This timeout mechanism is currently not implemented.