Intel® PXA26x Processor Family Developer’s Manual 9-7
Inter-Integrated Circuit Bus Interfac e Un i t
8. Repeated START (Repeat Step 1) or STOP
9.4.1 Serial Clock Line (SCL) Generation
When the I2C unit is in master-transmit or master-rec eive mode, it generates the I2C clock output.
The SCL clock is generated by setting the ICR[FM] bit for either 100KBit/sec or 400Kbit/sec
operation.
9.4.2 Data and Addressing Management
The I2C Data Buffer Register (IDBR) and the I2C Slave Address Register (IS AR) ma nage data and
slave addressing. The IDBR (see Section9.9.2, “I2C Data Buffer Register- IDBR”) contains one
byte of data or a 7-bit slave address and the R/nW bit. The ISAR contains the processor
programmable slave address. The I2C unit puts received data in the IDBR after a full byte is
received and acknowledged. To trans mit data, the CPU writes to the IDBR, and the I2C unit passes
the information to the serial bus when the ICR[TB] bit is set. See Section9.9.3, “I2C Control
Register- ICR”.
When the I2C unit is in master- or slave-tran sm it mode:
Software writes data to the IDBR over the internal bus. This initiates a master transaction or
sends the next data byte after the ISR[ITE] bit is set.
I2C unit transmits data from the IDBR when the ICR[TB] bit is set.
When enabled, an IDBR transmit empty interrupt is signalled when a byte is trans ferr ed on th e
I2C bus and the acknowledge cycle is complete.
When the I2C unit is ready to transfer the next byte before the CPU has written the IDBR and
a STOP condition is not in place, the I2C unit inserts wait states until the CPU writes a new
value into the IDBR and sets the ICR[TB] bit.
When the I2C unit is in master- or slave-receive mode:
The processor reads IDBR data over the internal bus after the IDBR receive full interrupt is
signalled.
I2C unit transfers data from the shift register to the IDBR after the acknowledge cycle
completes.
I2C unit inserts wait states until the IDBR is read. Refer to Section9.4.3, “Inter-Int e gr ated
Circuit Acknowledge” for acknowledge pulse information in receiver mode.
After the CPU reads the IDBR, the I2C unit writes the ICR[ACKNAK] bit and the ICR[TB]
bit, allowing the next byte transfer to proceed.

9.4.2.1 Addressing a Slave Device

As a master device, the I2C unit must compose and send the first byte of a transaction. This byte
consists of the slave address for the intended device and a R/nW bit for tran saction definition. The
MSB is transmitted first. The slave address and the R/nW bit are written to the IDBR (see
Figure 9-4 on page 9-8).