N900 Hardware Bus I2c
Hardware
Bus 1.
- 0x48 Gaia/chipset
dummy/1-004a dummy/1-0049 dummy/1-004b
Bus 2.
smia-sensor/2-0010
- 0x18 0x19 Audio codec
- 0x30 N900 Hardware Flash Torch
- 0x63 FM receiver
- 0x60 N900 Headphone Amplifier
- 0x32 N900 Hardware LED
Bus 3.
- 0x0c Lens focus control
- 0x3e Front Camera (control)
- 0x1d Accelerometer
/sys/bus/i2c/drivers# ls -d */*-*
Software
The n900 software driving I2C comes in three flavours.
Firstly, there are a large number of kernel drivers.
Then, there are a small number of devices 'bit banged' through I2C ioctls - BME for example does this.
Finally, there are probably some I2C components in the Rapuyama and assorted cellphone/GPS hardware. These are not visible to the casual developer. (you have to open the n900 and probe stuff, or hack the phone firmware).