N900 Hardware Bus I2c
m (→Bus 2: direct link) |
m (→Bus 2: direct link) |
||
Line 8: | Line 8: | ||
===Bus 2=== | ===Bus 2=== | ||
* 0x18 0x19 [[N900 Hardware Audio Codec|Audio codec]] | * 0x18 0x19 [[N900 Hardware Audio Codec|Audio codec]] | ||
- | * 0x29 [[N900 | + | * 0x29 [[N900 light meter]] |
* 0x30 [[N900 Hardware Flash Torch]] | * 0x30 [[N900 Hardware Flash Torch]] | ||
* 0x32 [[N900 Hardware LED]] | * 0x32 [[N900 Hardware LED]] |
Revision as of 14:47, 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 light meter
- 0x30 N900 Hardware Flash Torch
- 0x32 N900 Hardware LED
- 0x60 N900 headphone amplifier
- 0x63 FM radio 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).