Clocks are generated by the PMC and LPD clock controllers. The clock generators are described in System Perspective.
The I2C controller receives two clocks.
APB Programming Interface Clock
The APB programming interface is driven by the low-speed interconnect clock. Each register includes the three fields [SRCSEL], [DIVISOR], and [CLKACT].
Control registers:
- PMC_I2C: PMC_LSBUS_CLK
- LPD_I2C[0, 1]: LPD_LSBUS_CLK
Reference Clock
The reference clock is used for the controller logic, registers, and memories. It is also an input to the baud rate generator. Each I2C controller has its own reference clock that comes from the PMC or LPD clock generator. Each register includes the three fields [SRCSEL], [DIVISOR], and [CLKACT].
Clock control registers:
- PMC_I2C_REF_CLK controlled by the CRP I2C_REF_CTRL register
- LPD_I2C0_REF_CLK controlled by the CRL I2C0_REF_CTRL register
- LPD_I2C1_REF_CLK controlled by the CRL I2C1_REF_CTRL register