\n

I2C

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x400 byte (0x0)
mem_usage : registers
protection :

Registers

CTL0

DATA

STAT0

STAT1

CKCFG

RT

CTL1

SADDR0

SADDR1


CTL0

Control register 0
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CTL0 CTL0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I2CEN SMBEN SMBSEL ARPEN PECEN GCEN DISSTRC START STOP ACKEN POAP PECTRANS SALT SRESET

I2CEN : I2C peripheral enable
bits : 0 - 0 (1 bit)

SMBEN : SMBus/I2C mode switch
bits : 1 - 1 (1 bit)

SMBSEL : SMBusType Selection
bits : 3 - 3 (1 bit)

ARPEN : ARP protocol in SMBus switch
bits : 4 - 4 (1 bit)

PECEN : PEC Calculation Switch
bits : 5 - 5 (1 bit)

GCEN : Whether or not to response to a General Call (0x00)
bits : 6 - 6 (1 bit)

DISSTRC : Whether to stretch SCL low when data is not ready in slave mode
bits : 7 - 7 (1 bit)

START : Generate a START condition on I2C bus
bits : 8 - 8 (1 bit)

STOP : Generate a STOP condition on I2C bus
bits : 9 - 9 (1 bit)

ACKEN : Whether or not to send an ACK
bits : 10 - 10 (1 bit)

POAP : Position of ACK and PEC when receiving
bits : 11 - 11 (1 bit)

PECTRANS : PEC Transfer
bits : 12 - 12 (1 bit)

SALT : SMBus alert
bits : 13 - 13 (1 bit)

SRESET : Software reset
bits : 15 - 15 (1 bit)


DATA

Transfer buffer register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DATA DATA read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TRB

TRB : Transmission or reception data buffer register
bits : 0 - 7 (8 bit)


STAT0

Transfer status register 0
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

STAT0 STAT0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SBSEND ADDSEND BTC ADD10SEND STPDET RBNE TBE BERR LOSTARB AERR OUERR PECERR SMBTO SMBALT

SBSEND : START condition sent out in master mode
bits : 0 - 0 (1 bit)
access : read-only

ADDSEND : Address is sent in master mode or received and matches in slave mode
bits : 1 - 1 (1 bit)
access : read-only

BTC : Byte transmission completed
bits : 2 - 2 (1 bit)
access : read-only

ADD10SEND : Header of 10-bit address is sent in master mode
bits : 3 - 3 (1 bit)
access : read-only

STPDET : STOP condition detected in slave mode
bits : 4 - 4 (1 bit)
access : read-only

RBNE : I2C_DATA is not Empty during receiving
bits : 6 - 6 (1 bit)
access : read-only

TBE : I2C_DATA is Empty during transmitting
bits : 7 - 7 (1 bit)
access : read-only

BERR : A bus error occurs indication a unexpected START or STOP condition on I2C bus
bits : 8 - 8 (1 bit)
access : read-write

LOSTARB : Arbitration Lost in master mode
bits : 9 - 9 (1 bit)
access : read-write

AERR : Acknowledge error
bits : 10 - 10 (1 bit)
access : read-write

OUERR : Over-run or under-run situation occurs in slave mode
bits : 11 - 11 (1 bit)
access : read-write

PECERR : PEC error when receiving data
bits : 12 - 12 (1 bit)
access : read-write

SMBTO : Timeout signal in SMBus mode
bits : 14 - 14 (1 bit)
access : read-write

SMBALT : SMBus Alert status
bits : 15 - 15 (1 bit)
access : read-write


STAT1

Transfer status register 1
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

STAT1 STAT1 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASTER I2CBSY TRS RXGC DEFSMB HSTSMB DUMODF ECV

MASTER : A flag indicating whether I2C block is in master or slave mode
bits : 0 - 0 (1 bit)

I2CBSY : Busy flag
bits : 1 - 1 (1 bit)

TRS : Whether the I2C is a transmitter or a receiver
bits : 2 - 2 (1 bit)

RXGC : General call address (00h) received
bits : 4 - 4 (1 bit)

DEFSMB : Default address of SMBusDevice
bits : 5 - 5 (1 bit)

HSTSMB : SMBus Host Header detected in slave mode
bits : 6 - 6 (1 bit)

DUMODF : Dual Flag in slave mode
bits : 7 - 7 (1 bit)

ECV : Packet Error Checking Value that calculated by hardware when PEC is enabled
bits : 8 - 15 (8 bit)


CKCFG

Clock configure register
address_offset : 0x1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CKCFG CKCFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CLKC DTCY FAST

CLKC : I2C Clock control in master mode
bits : 0 - 11 (12 bit)

DTCY : Duty cycle in fast mode
bits : 14 - 14 (1 bit)

FAST : I2C speed selection in master mode
bits : 15 - 15 (1 bit)


RT

Rise time register
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

RT RT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RISETIME

RISETIME : Maximum rise time in master mode
bits : 0 - 5 (6 bit)


CTL1

Control register 1
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CTL1 CTL1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I2CCLK ERRIE EVIE BUFIE DMAON DMALST

I2CCLK : I2C Peripheral clock frequency
bits : 0 - 5 (6 bit)

ERRIE : Error interrupt enable
bits : 8 - 8 (1 bit)

EVIE : Event interrupt enable
bits : 9 - 9 (1 bit)

BUFIE : Buffer interrupt enable
bits : 10 - 10 (1 bit)

DMAON : DMA mode switch
bits : 11 - 11 (1 bit)

DMALST : Flag indicating DMA last transfer
bits : 12 - 12 (1 bit)


SADDR0

Slave address register 0
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SADDR0 SADDR0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDRESS0 ADDRESS7_1 ADDRESS9_8 ADDFORMAT

ADDRESS0 : Bit 0 of a 10-bit address
bits : 0 - 0 (1 bit)

ADDRESS7_1 : 7-bit address or bits 7:1 of a 10-bit address
bits : 1 - 7 (7 bit)

ADDRESS9_8 : Highest two bits of a 10-bit address
bits : 8 - 9 (2 bit)

ADDFORMAT : Address mode for the I2C slave
bits : 15 - 15 (1 bit)


SADDR1

Slave address register 1
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SADDR1 SADDR1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DUADEN ADDRESS2

DUADEN : Dual-Address mode switch
bits : 0 - 0 (1 bit)

ADDRESS2 : Second I2C address for the slave in Dual-Address mode
bits : 1 - 7 (7 bit)



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.