Datasheet

Table Of Contents
Master or Slave (Default to Master mode)
Standard mode, Fast mode or Fast mode plus
Default slave address 0x055
Supports 10-bit addressing in Master mode
16-element transmit buffer
16-element receive buffer
Can be driven from DMA
Can generate interrupts
4.4.1.1. Standard
The I2C controller was designed for I2C Bus specification, version 6.0, dated April 2014.
4.4.1.2. Clocking
The I2C controller is connected to clk_sys. The I2C clock is generated by dividing down this clock, controlled by registers
inside the block.
4.4.1.3. IOs
Each controller must connect its clock SCL and data SDA to one pair of GPIOs. The I2C standard requires that drivers drive a
signal low, or when not driven the signal will be pulled high. This applies to SCL and SDA. The GPIO pads should be
configured for:
pull-up enabled
slew rate limited
schmitt trigger enabled
NOTE
There should also be external pull-ups on the board as the internal pad pull-ups may not be strong enough to pull up
external circuits.
4.4.2. IP Configuration
I2C configuration details (each instance is fully independent):
32-bit APB access
Supports Standard mode, Fast mode or Fast mode plus (not High speed)
Default slave address of 0x055
Master or Slave mode
Master by default (Slave mode disabled at reset)
10-bit addressing supported in master mode (7-bit by default)
16 entry transmit buffer
16 entry receive buffer
RP2040 Datasheet
4.4. I2C 463