Difference between revisions of "N900"
(→Modem) |
(→Status) |
||
Line 44: | Line 44: | ||
| * * ThumbEE || Instruction Set for JIT compilers | | * * ThumbEE || Instruction Set for JIT compilers | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/CIHBCDGA.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/CIHBCDGA.html ARM infocenter] | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="lime"| Yes |
+ | |bgcolor="lime"| Yes | ||
+ | |bgcolor="cyan" colspan="2"| N/A (Userspace: Java VM?) | ||
|- | |- | ||
| * * VFP || Floating-point coprocessor | | * * VFP || Floating-point coprocessor | ||
Line 203: | Line 205: | ||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
|- | |- | ||
− | | * TI NaviLink NL5350 || GPS | + | | * TI NaviLink NL5350 || GPS (via Phonet modem protocol) |
|bgcolor="yellow"| [http://wiki.maemo.org/N900_Hardware_GPS reveng] | |bgcolor="yellow"| [http://wiki.maemo.org/N900_Hardware_GPS reveng] | ||
− | |bgcolor="cyan" colspan="4"| Userspace | + | |bgcolor="cyan" colspan="4"| Userspace [http://luke.dashjr.org/tmp/code/gps2.c gsp2.c] |
|- | |- | ||
| isp1704 || USB charger detector | | isp1704 || USB charger detector | ||
Line 257: | Line 259: | ||
|- | |- | ||
| ET8EK8 || Main Camera | | ET8EK8 || Main Camera | ||
− | |bgcolor=" | + | |bgcolor="lime"| [http://www.retiisi.org.uk/~sakke/foo/SMIA95_AF_camera%20module_APL_090511.doc datasheet] |
|bgcolor="lime"| Yes | |bgcolor="lime"| Yes | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 289: | Line 291: | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|bgcolor="lime"| [http://mxr.maemo.org/fremantle/source/kernel/arch/arm/mach-omap2/board-rx51-peripherals.c Yes] | |bgcolor="lime"| [http://mxr.maemo.org/fremantle/source/kernel/arch/arm/mach-omap2/board-rx51-peripherals.c Yes] | ||
+ | |bgcolor="red"| No | ||
+ | |- | ||
+ | | AV/Jack/GPIO || Nokia AV accessory detection, Tvout and Headset button support | ||
+ | |bgcolor="yellow"| [http://mxr.maemo.org/fremantle/source/kernel/drivers/misc/nokia-av.c old code] | ||
+ | |bgcolor="lime"| [http://mxr.maemo.org/fremantle/source/kernel/drivers/misc/nokia-av.c Yes] | ||
+ | |bgcolor="red"| No | ||
+ | |bgcolor="lime"| [http://mxr.maemo.org/fremantle/source/kernel/arch/arm/mach-omap2/board-rx51-audio.c Yes] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|- | |- |
Revision as of 03:58, 4 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 | code | 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 | |||
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