Difference between revisions of "N900"

From eLinux.org
Jump to: navigation, search
(Status: Added rx51_battery driver)
Line 292: Line 292:
| bq24150a || Battery charger
| bq24150a || Battery charger
|bgcolor="lime"| [http://www.ti.com/product/bq24150a documentation]
|bgcolor="lime"| [http://www.ti.com/product/bq24150a documentation]
|bgcolor="yellow"| [https://lkml.org/lkml/2011/12/7/626 WIP]
|bgcolor="yellow"| [https://lkml.org/lkml/2012/11/2/429 WIP]
|bgcolor="red"| No
|bgcolor="red"| No
|bgcolor="yellow"| WIP
|bgcolor="yellow"| WIP

Revision as of 07:16, 3 November 2012


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
* OMAP 3 Camera OMAP3 Camera Chip Connection Bus code Yes 2.6.39-rc1 N/A
* OMAP DSS Video HW abstraction layer code Yes Yes N/A
* OMAP DRM KMS video driver N/A Yes 3.3-rc1 N/A
* TMS320 C64x DSP (also called IVA 2+) datasheet Yes Yes N/A (Userspace: gst-dsp)
* PowerVR SGX530 OpenGL ES and OpenVG acceleration No No No No No
* OMAP Boot Tags? Provides boot information from bootloader (NOLO)  ?  ?  ?  ?  ?
* OMAP Watchdog Watchdog code Yes Port to new Watchdog API Yes Yes
 ??? 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
* Watchdog part of TI TWL4030 Yes Port to new Watchdog API Yes Yes
GPIO Camera button N/A Yes Yes Yes Yes
Taos TSL2563 Ambient light sensor datasheet Yes 2.6.33 Yes Yes
LP5523 LED driver documentation 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
Omap SSI Synchronous Serial Interface code RFCv5 (2011-06-10) No No No
* TI NaviLink NL5350 GPS (via Phonet modem protocol) reveng Userspace gps2.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 3.5-rc1
ADP 1653 Flash Torch code Yes 3.1-rc1 Yes No
rx51_battery Battery design capacity, battery temperature code WIP No WIP No
bq24150a 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 N/A Yes 3.7-rc1 Yes 3.7-rc1
AV/Jack/GPIO Nokia AV accessory detection, Tvout and Headset button support old code Yes No Yes No

Some patches are in meego obs repository: https://build.pub.meego.com/package/files?package=kernel-adaptation-n900&project=CE%3AAdaptation%3AN900


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.


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: PATCH v2: 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 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


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:

Patches missing mainline to get modem support: