N900 Hardware Bus I2c
m (→Bus 3: link fix) |
m (→Bus 2: fix link) |
||
Line 11: | Line 11: | ||
* 0x30 [[N900 Hardware Flash Torch]] | * 0x30 [[N900 Hardware Flash Torch]] | ||
* 0x32 [[N900 Hardware LED]] | * 0x32 [[N900 Hardware LED]] | ||
- | * 0x60 [[N900 | + | * 0x60 [[N900 headphone amplifier]] |
* 0x63 [[N900 Hardware FM Receiver|FM receiver]] | * 0x63 [[N900 Hardware FM Receiver|FM receiver]] | ||
* 0x55 [[N900 Hardware Charge Meter]] | * 0x55 [[N900 Hardware Charge Meter]] |
Revision as of 14:35, 16 June 2010
I2C is a simple serial bus, used in many devices.
Contents |
Hardware
Bus 1
- 0x48 0x49 0x4a 0x4b Gaia/chipset
Bus 2
- 0x18 0x19 Audio codec
- 0x29 N900 Hardware Light Meter
- 0x30 N900 Hardware Flash Torch
- 0x32 N900 Hardware LED
- 0x60 N900 headphone amplifier
- 0x63 FM receiver
- 0x55 N900 Hardware Charge Meter
- 0x6B N900 Hardware Battery Charger
- 0x10 VGA Camera (control)
Bus 3
- 0x0c Lens focus
- 0x1d Accelerometer
- 0x3e Front Camera (control)
Software
The N900 software driving I2C comes in three flavors.
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 with the charge meter and battery charger.
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).