Difference between revisions of "N900"
(→Status) |
(→Status) |
||
Line 159: | Line 159: | ||
|- | |- | ||
| Si4713 || FM transmitter | | Si4713 || FM transmitter | ||
− | |bgcolor=" | + | |bgcolor="lime"| [http://www.silabs.com/Support%20Documents/TechnicalDocs/AN332.pdf datasheet] |
|bgcolor="lime"| Yes | |bgcolor="lime"| Yes | ||
|bgcolor="lime"| 2.6.32 | |bgcolor="lime"| 2.6.32 |
Revision as of 07:33, 9 April 2012
Contents
Status
chip | purpose | docs | impl | merge | board impl | board merge |
---|---|---|---|---|---|---|
OMAP3430 | System-on-chip | code | Yes | Yes | Yes | Yes |
* Cortex A8 | CPU | ARM infocenter | Yes | Yes | N/A | |
* * ARMv7 | Instruction set | ARM infocenter | Yes | Yes | N/A | |
* * NEON | Media Extensions | ARM infocenter | Yes | Yes | N/A | |
* * Thumb | Code compression | ARM infocenter | Yes | by 2.6.12 ? | N/A | |
* * Thumb2 | Code compression | ARM infocenter | Yes | Yes | N/A | |
* * ThumbEE | Instruction Set for JIT compilers | ARM infocenter | Yes | Yes | N/A (Userspace: Java VM?) | |
* * VFP | Floating-point coprocessor | ARM infocenter | Yes | by 2.6.12 ? | N/A | |
* M-Shield | AES acceleration | code | Yes | 2.6.37-rc1 | N/A | |
* IVA 2+ accelerator | Video encoder/decoder | ? | Yes | Yes | N/A (Userspace: ?) | |
* OMAP 3 Camera | OMAP3 Camera Chip Connection Bus | code | Yes | 2.6.39-rc1 | N/A | |
* OMAP DSS | KMS video driver | N/A | Yes | 3.3-rc1 | N/A | |
* TMS320 C64x | DSP | datasheet | Yes | Yes | N/A (Userspace: gst-dsp) | |
??? | eMMC & SD/MMC card | code | Yes | Yes | Yes | Yes |
TI TWL4030 | multifunction (I2C) | TPS65950 TRM | N/A | |||
* | Audio | part of TI TWL4030 | Yes | Yes | Yes | Yes |
* | Vibrator | part of TI TWL4030 | Yes | Yes | Yes | 2.6.39-rc1 |
* | Real-Time Clock | part of TI TWL4030 | Yes | Yes | N/A | |
GPIO | Camera button | N/A | Yes | Yes | Yes | Yes |
Taos TSL2563 | Ambient light sensor | datasheet | Yes | 2.6.33 | Yes | Yes |
LP5523 | LED | code | Yes | 2.6.37-rc2 | Yes | 3.1-rc1 |
Sony ACX565AKM | LCD panel | code | Yes | 2.6.35 | Yes | 2.6.36 |
TI TSC2005 | Touchscreen controller | datasheet | 2.6.39-rc1 | 2.6.39-rc1 | Yes | 3.3-rc1 |
WL1251 | 802.11b/g WiFi | code | Yes | 2.6.31 | Yes | 2009-11-22 |
Si4713 | FM transmitter | datasheet | Yes | 2.6.32 | Yes | Yes |
TPA6130a2 | Headphone amplifier | datasheet | Yes | 2.6.33 | Yes | Yes |
TLV320AIC3X | Digital audio data serial | code | Yes | 2.6.25 | Yes | Yes |
GPIO | Proximity sensor | N/A | Yes | Yes | Yes | Yes |
GPIO | Keyboard | N/A (layout: code) | Yes | 2.6.33 | Yes | Yes |
Phonet | Modem protocol | code | Yes | 2.6.28 | N/A | |
HSI | Modem Bus Framework | code | Yes | 3.4-rc2 | N/A | |
* TI NaviLink NL5350 | GPS (via Phonet modem protocol) | reveng | Userspace gsp2.c | |||
* | A-GPS | No | Client/server SUPL application: http://www.tajuma.com/supl/index.html | |||
isp1704 | USB charger detector | code | Yes | 2.6.37-rc1 | Yes | 2011-04-20 |
bq27200 | Battery monitor chip | documentation | Yes | 2.6.28 | patch | 3.3-rc1 |
OneNAND | Flash memory | code | Yes | 2.6.15 | Yes | Yes |
LIS302DL | Accelerometers | datasheet | Yes | 2.6.32 | patch | No |
ADP 1653 | Flash Torch | code | Yes | 3.1-rc1 | Yes | No |
bq24150 | Battery charger | documentation | WIP | No | WIP | No |
STM VS6555 | Webcam | datasheet | Yes | No | Yes | No |
ET8EK8 | Main Camera | datasheet | Yes | No | Yes | No |
AD5820 | Autofocus | code | Yes | No | Yes | No |
BCM2048 | Bluetooth | old code | Yes | No | Yes | No |
* | FM/RDS receiver | old code | Yes | No | Yes | No |
IR Diode on GPIO | Infrared/CIR transmitter | old code | Yes | No | Yes | No |
AV/Jack/GPIO | Nokia AV accessory detection, Tvout and Headset button support | old code | Yes | No | Yes | No |
SSI McSAAB IMP? | Modem Bus | old code | No | No | No | No |
* PowerVR SGX530 | OpenGL ES and OpenVG acceleration | No | No | No | No | No |
Camera
Camera (front & back) drivers are available from this git: [1]. The code is not in the mainline kernel, because it uses a camera firmware, which can be avoided by changing the driver.
U-Boot
Instead of booting the kernel directly from NOLO (which restricts you to using ONE kernel), U-Boot can be used as second bootloader. The Boot Process will end up like this: NOLO -> U-Boot -> Kernel. The Maemo kernel is appended to U-Boot, since U-Boot will be at the location where the Maemo kernel is located normally.
The U-Boot patches to support the N900 are not yet mainline, but have been proposed for inclusion recently: Nokia RX-51 support
Git repository with N900 patches based on U-Boot master is here: https://gitorious.org/u-boot-shr/u-boot (branch pali)
Thread on talk.maemo.org where is last new version: http://talk.maemo.org/showthread.php?t=81613
Charging
Charging is currently done with a shell script, which and "i2c-dev" kernel module. There are plans to move this into the kernel, so that charging happens automatically once you plug your N900 into a USB port. You can find discussions and some code here. Recently (3.3-rc1) the kernel got a new Charge Manager Framework (Announcement), which will help with this task. You can find its documentation under: Documentation/power/charger-manager.txt
Modem
The modem is connected via a bus called SSI, which is an old version of HSI. In linux multiple things are involved to get it working:
- SSI driver (not yet mainline, WIP)
- Status 2012-01-09: http://marc.info/?l=linux-omap&m=132611324318625&w=2
- HSI framework needed by the SSI driver (mainline since 3.4-rc2)
- PhoNet for userspace communication (mainline since 2.6.28)
Patches missing mainline to get modem support:
- HSI: omap_ssi: OMAP SSI driver
- HSI: omap_ssi: OMAP SSI kernel configuration
- board data for rx51, get e.g. from meego's board code