N900 Hardware Bus I2c: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>speedevil |
imported>joerg_rw →Bus 2: fixed |
||
| (12 intermediate revisions by 3 users not shown) | |||
| Line 12: | Line 12: | ||
* 0x32 [[N900 Hardware LED]] | * 0x32 [[N900 Hardware LED]] | ||
* 0x60 [[N900 headphone amplifier]] | * 0x60 [[N900 headphone amplifier]] | ||
* 0x63 [[N900 FM radio | * 0x63 [[N900 FM radio transmitter|FM radio transmitter]] | ||
* 0x55 [[N900 Hardware Charge Meter]] | * 0x55 [[N900 Hardware Charge Meter]] | ||
* 0x6B [[N900 Hardware Battery Charger]] | * 0x6B [[N900 Hardware Battery Charger]] | ||
* 0x10 [[N900 | * 0x10 [[N900 Front camera|Front VGA Camera (control)]] | ||
===Bus 3=== | ===Bus 3=== | ||
* 0x0c [[N900 Hardware Autofocus|Lens focus ]] | * 0x0c [[N900 Hardware Autofocus|Lens focus ]] | ||
* 0x1d [[N900 accelerometer|Accelerometer]] | * 0x1d [[N900 accelerometer|Accelerometer]] | ||
* 0x3e [[N900 camera sensor| | * 0x22 [[N900 FM radio receiver|FM Receiver]] | ||
* 0x3e [[N900 camera sensor|Main Camera (control)]] | |||
===Bus ?=== | ===Bus ?=== | ||
* 0x? [[N900 Hardware GPS|GPS]] | * 0x? [[N900 Hardware GPS|GPS]] | ||
edit: GPS is connected to RAPUYAMA and available to application processor only via libisi / cellmo-proxy | |||
==Software== | ==Software== | ||
Latest revision as of 12:42, 5 July 2016
I2C is a simple serial bus, used in many devices.
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 transmitter
- 0x55 N900 Hardware Charge Meter
- 0x6B N900 Hardware Battery Charger
- 0x10 Front VGA Camera (control)
Bus 3
- 0x0c Lens focus
- 0x1d Accelerometer
- 0x22 FM Receiver
- 0x3e Main Camera (control)
Bus ?
- 0x? GPS
edit: GPS is connected to RAPUYAMA and available to application processor only via libisi / cellmo-proxy
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).