7. I
2
C Interface > Tsi578 as I
2
C Slave
155
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
7.5.4
External I
2
C Register Map
lists the register map that is visible to external I
2
C devices. The lowest peripheral address
maps to the LSB of the register, while the highest peripheral address maps to the MSB of the register.
The external master can set the peripheral address to any location in the 256-byte range. If that byte
maps to a register, and the byte is read or written, then the specific byte within the register is read or
written. These reads and writes are not through the internal address bus but are instead local to the I
2
C
Interface. If the peripheral address does not map to a register, then a read returns 0 and a write has no
effect except to increment the peripheral address.
When a byte is read or written, the peripheral address is automatically incremented to the next value,
with three exceptions listed in the table (addresses 0x07, 0x17, and 0xFF).
Table 17: Externally Visible I
2
C Register Map
Tsi578 Peripheral
Address Range
Mapped Register
Description
0x00–0x03
R/W
EXI2C_REG_WADDR
Specifies the 4-byte aligned internal register address for the register bus
write access performed when EXI2C_REG_WDATA is written.
0x04–0x07
R/W
EXI2C_REG_WDATA
Specifies the data to write to the internal register address held in
EXI2C_REG_WADDR.
Side effects: When address 0x07 (the MSB) is written, the data in this
register is written to the internal register address held in
EXI2C_REG_WADDR, and the peripheral address is returned to 0x04
(the LSB). This allows consecutive internal registers to be written in one
transaction without resetting the peripheral address.
Note: If 0x07 is read, the peripheral address increments to 0x08; if
written, the peripheral address does not increment.
0x08–0x0F
Read-Only
Reserved
This range does not map to any registers.
0x10–0x13
R/W
EXI2C_REG_RADDR
Specifies the 4-byte aligned internal register address for the register bus
read access performed when EXI2C_REG_RDATA is read.
0x14–0x17
Read-Only
EXI2C_REG_RDATA
Returns the data read from the internal register address held in
EXI2C_REG_RADDR.
Side effects: When address 0x14 (the LSB) is read, the data in this
register is loaded from the internal register address held in
EXI2C_REG_RADDR, before the data is returned on the I2C bus. When
peripheral address 0x17 (the MSB) is read, the peripheral address is
returned to 0x14 (the LSB). This allows consecutive internal registers to
be read in one transaction without resetting the peripheral address.
Note: If 0x17 is written, the peripheral address increments to 0x18; if
written, the peripheral address does not increment.
0x18–0x1F
Read-Only
Reserved
This range does not map to any registers.