Difference between revisions of "N900"
m (change "queued for 3.14" to "3.14" in bq24150a row, changes have been merged) |
m (→Kernel Status: update tsc2005 dt status) |
||
(45 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
== Kernel Status == | == Kernel Status == | ||
+ | |||
+ | also see: [[N900/Changelog]] | ||
Colors: | Colors: | ||
Line 57: | Line 59: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4748a7240284b0f68bd47a66365c2cd561939830 3.13-rc1] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4748a7240284b0f68bd47a66365c2cd561939830 3.13-rc1] | ||
− | |bgcolor=" | + | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139302413627536&w=2 3.14-rc6] |
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|- | |- | ||
Line 76: | Line 78: | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138505988009856&w=2 3.13-rc3] | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138505988009856&w=2 3.13-rc3] | ||
+ | |- | ||
+ | | * IOMMU || omap-iommu || OMAP3 IO Memory Management Unit | ||
+ | |bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
+ | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="cyan" colspan="2"| N/A | ||
+ | |bgcolor="lime" colspan="2"| 3.15 | ||
|- | |- | ||
| * OMAP 3 Camera ISP || omap3-isp || OMAP3 Camera Chip Connection Bus | | * OMAP 3 Camera ISP || omap3-isp || OMAP3 Camera Chip Connection Bus | ||
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | |bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| 2.6.39-rc1 (broken) |
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
|bgcolor="red" colspan="2"| No | |bgcolor="red" colspan="2"| No | ||
Line 87: | Line 95: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
− | |bgcolor=" | + | |bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15] |
|- | |- | ||
| * OMAP DRM || ??? || KMS video driver | | * OMAP DRM || ??? || KMS video driver | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=drivers/staging/omapdrm 3.3-rc1] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=drivers/staging/omapdrm 3.3-rc1] | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
− | |||
|- | |- | ||
| * TMS320 C64x || tidspbridge || DSP (also called IVA 2+) | | * TMS320 C64x || tidspbridge || DSP (also called IVA 2+) | ||
|bgcolor="lime"| [http://www.ti.com/lit/ug/spru395b/spru395b.pdf datasheet] | |bgcolor="lime"| [http://www.ti.com/lit/ug/spru395b/spru395b.pdf datasheet] | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| Yes ([https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=930ba4a374b96560ef9fde2145cdc454a164ddcc broken since 3.13-rc2]) |
|bgcolor="cyan" colspan="2"| N/A (Userspace: gst-dsp) | |bgcolor="cyan" colspan="2"| N/A (Userspace: gst-dsp) | ||
|bgcolor="red" colspan="2"| No | |bgcolor="red" colspan="2"| No | ||
Line 108: | Line 115: | ||
|- | |- | ||
| * PowerVR SGX530 || pvrsrvkm omaplfb || OpenGL ES and OpenVG acceleration | | * PowerVR SGX530 || pvrsrvkm omaplfb || OpenGL ES and OpenVG acceleration | ||
− | |bgcolor=" | + | |bgcolor="yellow"| kernel code (userspace is closed) |
− | |bgcolor=" | + | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] |
− | |bgcolor="red"| No | + | |bgcolor="red"| No, not possible |
− | |bgcolor=" | + | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] |
− | |bgcolor="red"| No | + | |bgcolor="red"| No, not possible |
|bgcolor="red"| No | |bgcolor="red"| No | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 123: | Line 130: | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
− | | * OMAP MMC/SD/SDIO || | + | | * OMAP MMC/SD/SDIO || omap_hsmmc || eMMC |
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | |bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
Line 130: | Line 137: | ||
|bgcolor="lime"| [http://www.spinics.net/lists/arm-kernel/msg288286.html 3.13-rc3] | |bgcolor="lime"| [http://www.spinics.net/lists/arm-kernel/msg288286.html 3.13-rc3] | ||
|- | |- | ||
− | | * OMAP MMC/SD/SDIO || | + | | * OMAP MMC/SD/SDIO || omap_hsmmc || SD/MMC card |
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | |bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
Line 137: | Line 144: | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/494 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/494 3.13] | ||
|- | |- | ||
− | | TI TWL4030 || | + | | TI TWL4030 || twl-core || multifunction (I2C) |
|bgcolor="lime"| [http://www.ti.com/litv/pdf/swcu050g TPS65950 TRM] | |bgcolor="lime"| [http://www.ti.com/litv/pdf/swcu050g TPS65950 TRM] | ||
|bgcolor="cyan" colspan="4"| N/A | |bgcolor="cyan" colspan="4"| N/A | ||
Line 175: | Line 182: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/122 3.14] | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/122 3.14] | ||
− | |bgcolor=" | + | |bgcolor="lime"| 3.15 |
|- | |- | ||
| * || twl4030_pwrbutton || Power Button | | * || twl4030_pwrbutton || Power Button | ||
Line 182: | Line 189: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/8/458 3.14] | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/8/458 3.14] | ||
− | |bgcolor=" | + | |bgcolor="lime"| 3.14 |
|- | |- | ||
| * || twl4030_madc || Analog Digital Converter | | * || twl4030_madc || Analog Digital Converter | ||
Line 188: | Line 195: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/3/15/155 3.15] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139518444704345&w=2 3.16] |
|- | |- | ||
− | | GPIO || | + | | GPIO || gpio-keys || Camera button |
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
Line 203: | Line 210: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/23/47 3.14] | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/23/47 3.14] | ||
− | |bgcolor=" | + | |bgcolor="lime"| 3.15 |
|- | |- | ||
| LP5523 || leds-lp5523 || LED driver | | LP5523 || leds-lp5523 || LED driver | ||
Line 212: | Line 219: | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/166 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/166 3.13] | ||
|- | |- | ||
− | | Sony ACX565AKM || | + | | Sony ACX565AKM || panel-sony-acx565akm || LCD panel |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
|bgcolor="lime" colspan="2"| 2.6.35 | |bgcolor="lime" colspan="2"| 2.6.35 | ||
|bgcolor="lime" colspan="2"| 2.6.36 | |bgcolor="lime" colspan="2"| 2.6.36 | ||
− | |bgcolor=" | + | |bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15] |
|- | |- | ||
| TI TSC2005 || tsc2005 || Touchscreen controller | | TI TSC2005 || tsc2005 || Touchscreen controller | ||
Line 222: | Line 229: | ||
|bgcolor="lime" colspan="2"| 2.6.39-rc1 | |bgcolor="lime" colspan="2"| 2.6.39-rc1 | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=3dad5356aa47097cf67027cf0a07298b4f5baef6 3.3-rc1] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=3dad5356aa47097cf67027cf0a07298b4f5baef6 3.3-rc1] | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] |
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] |
|- | |- | ||
| WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | | WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | ||
Line 229: | Line 236: | ||
|bgcolor="lime" colspan="2"| 2.6.31 | |bgcolor="lime" colspan="2"| 2.6.31 | ||
|bgcolor="lime" colspan="2"| 2009-11-22 | |bgcolor="lime" colspan="2"| 2009-11-22 | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/12/5/649 3.15-rc1] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://www.spinics.net/lists/linux-omap/msg104474.html 3.16] |
|bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity wl1251-fw.bin wl1251-nvs.bin] | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity wl1251-fw.bin wl1251-nvs.bin] | ||
|- | |- | ||
Line 242: | Line 249: | ||
|bgcolor="lime" colspan="2"| 2.6.32 | |bgcolor="lime" colspan="2"| 2.6.32 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor=" | + | |bgcolor="yellow"| [https://lkml.org/lkml/2014/4/6/29 RFC (2014-04-06)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
− | | TPA6130a2 || | + | | TPA6130a2 || snd-soc-tpa6130a2 || Headphone amplifier |
|bgcolor="lime"| [http://www.ti.com/lit/gpn/tpa6130a2 datasheet] | |bgcolor="lime"| [http://www.ti.com/lit/gpn/tpa6130a2 datasheet] | ||
|bgcolor="lime" colspan="2"| 2.6.33 | |bgcolor="lime" colspan="2"| 2.6.33 | ||
Line 251: | Line 259: | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
− | | TLV320AIC3X || | + | | TLV320AIC3X || snd-soc-tlv320aic3x || Digital audio data serial |
|bgcolor="lime"| [http://www.ti.com/product/tlv320aic33#technicaldocuments ti.com] | |bgcolor="lime"| [http://www.ti.com/product/tlv320aic33#technicaldocuments ti.com] | ||
|bgcolor="lime" colspan="2"| 2.6.25 | |bgcolor="lime" colspan="2"| 2.6.25 | ||
Line 258: | Line 266: | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
− | | Board || | + | | Board || snd-soc-rx51 || Sound SoC Wiring |
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/omap/rx51.c Yes] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/omap/rx51.c Yes] | ||
− | |bgcolor="lime"| [https://lkml.org/lkml/ | + | |bgcolor="red" colspan="2"| No |
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/308 3.16] |
− | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/302 3.16] | |
− | |||
|- | |- | ||
| * || || All sound alsa switches and channels | | * || || All sound alsa switches and channels | ||
Line 272: | Line 279: | ||
|bgcolor="cyan" colspan="4"| N/A | |bgcolor="cyan" colspan="4"| N/A | ||
|- | |- | ||
− | | GPIO || | + | | GPIO || gpio-keys || Proximity sensor |
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
Line 289: | Line 296: | ||
|bgcolor="cyan" colspan="4"| N/A | |bgcolor="cyan" colspan="4"| N/A | ||
|- | |- | ||
− | | | + | | Omap SSI || omap-ssi || Synchronous Serial Interface |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime" colspan="2"| [ | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/165 3.16] |
|- | |- | ||
− | | | + | | Modem || n900-modem || modem PM etc. |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/166 3.16] |
|- | |- | ||
− | | * | + | | * ssi-protocol || ssi_protocol || HSI client driver used by N900 |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime"| [https:// | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |||
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
− | | | + | | * cmt-speech || cmt_speech || HSI client driver used by N900 |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/source/d5da1f5357345ad270a491ce285c78dcf901a7ff:drivers/hsi/clients/cmt_speech.c Yes] |
− | |||
− | |||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |||
− | |||
− | |||
− | |||
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor=" | + | |bgcolor="cyan" colspan="2"| N/A |
− | |||
|- | |- | ||
| * TI NaviLink NL5350 || || GPS (via Phonet modem protocol) | | * TI NaviLink NL5350 || || GPS (via Phonet modem protocol) | ||
Line 336: | Line 335: | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=04930baf28f08cd275e4afbf5a335b42335705df 3.8] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=04930baf28f08cd275e4afbf5a335b42335705df 3.8] | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7605c0b0d384ec98f80abc6ac2148a6cd993026c 3.8] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7605c0b0d384ec98f80abc6ac2148a6cd993026c 3.8] | ||
− | |bgcolor=" | + | |bgcolor="yellow"|[https://lkml.org/lkml/2014/3/1/122 PATCHv2 (2014-03-01)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
| bq27200 || bq27x00_battery || Battery monitor chip | | bq27200 || bq27x00_battery || Battery monitor chip | ||
Line 350: | Line 350: | ||
|bgcolor="lime" colspan="2"| 2011-04-20 | |bgcolor="lime" colspan="2"| 2011-04-20 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/189 3.14] | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/189 3.14] | ||
− | |bgcolor=" | + | |bgcolor="lime"| 3.15 |
|- | |- | ||
| bq24150a || bq2415x_charger || Battery charger | | bq24150a || bq2415x_charger || Battery charger | ||
Line 357: | Line 357: | ||
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/11/19/106 3.14] | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/11/19/106 3.14] | ||
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138531187226431&w=2 3.14] | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138531187226431&w=2 3.14] | ||
− | |bgcolor=" | + | |bgcolor="lime"| 3.15 |
|- | |- | ||
| OneNAND || ??? || Flash memory | | OneNAND || ??? || Flash memory | ||
Line 381: | Line 381: | ||
| STM VS6555 || smiapp || Front Webcam | | STM VS6555 || smiapp || Front Webcam | ||
|bgcolor="lime"| [http://natisbad.org/N900/ref/VS6555.pdf datasheet] | |bgcolor="lime"| [http://natisbad.org/N900/ref/VS6555.pdf datasheet] | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=ccfc97bdb5ae8b8edc55169ac6924e08449836ac 3.4-rc4] (broken) |
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 389: | Line 389: | ||
| ET8EK8 || et8ek8 || Main Camera | | ET8EK8 || et8ek8 || Main Camera | ||
|bgcolor="lime"| [http://www.retiisi.org.uk/~sakke/foo/SMIA95_AF_camera%20module_APL_090511.doc datasheet] | |bgcolor="lime"| [http://www.retiisi.org.uk/~sakke/foo/SMIA95_AF_camera%20module_APL_090511.doc datasheet] | ||
− | |bgcolor=" | + | |bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900/source/8a80ef98885813ab38672f80b2f9548f969963a1:drivers/media/i2c/smia/et8ek8.c Yes] (broken) |
|bgcolor="red"| No | |bgcolor="red"| No | ||
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] | ||
Line 406: | Line 406: | ||
| BCM2048 || hci_h4p || Bluetooth | | BCM2048 || hci_h4p || Bluetooth | ||
|bgcolor="yellow"| old code | |bgcolor="yellow"| old code | ||
− | |bgcolor=" | + | |bgcolor="greenyellow" colspan="2"| [https://lkml.org/lkml/2014/1/21/401 3.15 (staging)] |
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/6aef8b21ec95e61f89cd372326d8adafafe9e244 Yes] | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/6aef8b21ec95e61f89cd372326d8adafafe9e244 Yes] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 414: | Line 414: | ||
| * || radio-bcm2048 || FM/RDS receiver | | * || radio-bcm2048 || FM/RDS receiver | ||
|bgcolor="yellow"| old code | |bgcolor="yellow"| old code | ||
− | |bgcolor=" | + | |bgcolor="greenyellow" colspan="2"| [https://www.linuxtv.org/patch/20393/ 3.14 (staging)] |
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/61455fd64f72297f63189122d3746435366e1851 Yes] | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/61455fd64f72297f63189122d3746435366e1851 Yes] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 421: | Line 421: | ||
| IR Diode on PWM GPIO || ir-rx51 || Infrared/CIR transmitter | | IR Diode on PWM GPIO || ir-rx51 || Infrared/CIR transmitter | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75258.html 3.7-rc1] [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/media/rc/Kconfig?id=a62a6e98c370ccca37d353a5f763b532411a4c14 (broken since v3.8-rc4)] |
|bgcolor="lime" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75257.html 3.7-rc1] | |bgcolor="lime" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75257.html 3.7-rc1] | ||
|bgcolor="red" colspan="2"| No | |bgcolor="red" colspan="2"| No | ||
|- | |- | ||
| omap3-rom-rng || omap3-rom-rng || OMAP3 ROM Random Number Generator support | | omap3-rom-rng || omap3-rom-rng || OMAP3 ROM Random Number Generator support | ||
− | |bgcolor=" | + | |bgcolor="greenyellow"| code |
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c6b7c2108bdb0c6a17044830028a649dbaca913 3.13-rc2] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c6b7c2108bdb0c6a17044830028a649dbaca913 3.13-rc2] | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2065e2b5bb3ec986f0f3ba044a81a136767d0b4 3.13-rc1] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2065e2b5bb3ec986f0f3ba044a81a136767d0b4 3.13-rc1] | ||
− | |bgcolor=" | + | |bgcolor="lime" colspan="1"| [http://www.spinics.net/lists/linux-omap/msg105059.html 3.16] |
+ | |bgcolor="cyan" colspan="1"| currently not needed | ||
|} | |} | ||
Line 482: | Line 483: | ||
* cmt - this driver handles the modem's GPIO pins and is needed by ssi-protocol and cmt-speech. | * cmt - this driver handles the modem's GPIO pins and is needed by ssi-protocol and cmt-speech. | ||
− | [[User:Sre|sre]] is currently working on getting the modem supported in the mainline kernel | + | [[User:Sre|sre]] is currently working on getting the modem supported in the mainline kernel. |
== Bluetooth Status in Mainline Kernel == | == Bluetooth Status in Mainline Kernel == | ||
− | + | The bluetooth driver is currently available in drivers/staging/nokia_h4p. There is a TODO file in that directory, which lists the code refactoring needed to get the driver out of staging. | |
+ | |||
+ | Apart from the things listed in that TODO file, the driver also seems to reinvent the wheel concerning the uart port. Most code in the driver simply configures the omap serial port and duplicates code in drivers/tty/serial/omap-serial.c. | ||
+ | |||
+ | [[User:Sre|sre]] thinks, that the hci protocol extension code should be put into a file similar to drivers/bluetooth/hci_ll.c, which could be called drivers/bluetooth/hci_nokia.c (hci with nokia extensions). This would result in the protocol being available as hci_uart_proto for usage in a hci-uart driver. | ||
− | + | A second driver would be needed, which would be similar to drivers/bluetooth/hci_ldisc.c with the following differences: | |
− | + | * support for additional gpios | |
− | + | * support to be instanciated from DT instead of hciattach | |
− | + | * support for loading bluetooth hardware address from DT | |
− | + | * support for automatical loading of bt firmware (see btusb.c) | |
== M-Shield == | == M-Shield == |
Revision as of 12:08, 10 June 2014
The Nokia N900 is a Linux based smartphone from Nokia, which has been released in November 2009. It's sold with Maemo using a patched 2.6.28 kernel (adding board support and lots of drivers). Since then board support has been added to the mainline kernel and most hardware can be used with a current kernel. Details can be seen in the table below.
Contents
Kernel Status
also see: N900/Changelog
Colors:
- Green = Available
- Yellow = Work in Progress (WIP), for docs: no documentation, but kernel code available
- Red = Missing
- Gray = Deprecated
- Cyan = Not Available (N/A)
Chip | Driver name | Purpose | Docs | Driver | Board | Device Tree | Firmware | |||
---|---|---|---|---|---|---|---|---|---|---|
Patch | Mainline | Patch | Mainline | Driver | DTS | |||||
OMAP3430 | System-on-chip | OMAP34xx TRM | Yes | Yes | < 3.13 | 3.13 | ||||
* Cortex A8 | CPU | ARM infocenter | Yes | N/A | < 3.13 | 3.13 | ||||
* * ARMv7 | Instruction set | ARM infocenter | Yes | N/A | ||||||
* * NEON | Media Extensions | ARM infocenter | Yes | N/A | ||||||
* * Thumb | Code compression | ARM infocenter | 2.6.12 | N/A | ||||||
* * Thumb2 | Code compression | ARM infocenter | Yes | 3.13-rc1 | 3.14-rc6 | N/A | ||||
* * ThumbEE | Instruction Set for JIT compilers | ARM infocenter | Yes | N/A (Userspace: Java VM?) | ||||||
* * VFP | Floating-point coprocessor | ARM infocenter | 2.6.12 | N/A | ||||||
* M-Shield | omap-aes omap-sham | AES, SHA1 and MD5 acceleration (needs updated X-Loader) | code | 2.6.37-rc1 | Yes | 3.13 | 3.13-rc3 | |||
* IOMMU | omap-iommu | OMAP3 IO Memory Management Unit | OMAP34xx TRM | Yes | N/A | 3.15 | ||||
* OMAP 3 Camera ISP | omap3-isp | OMAP3 Camera Chip Connection Bus | OMAP34xx TRM | 2.6.39-rc1 (broken) | N/A | No | ||||
* OMAP DSS | ??? | Video HW abstraction layer | OMAP34xx TRM | Yes | N/A | 3.15 | ||||
* OMAP DRM | ??? | KMS video driver | N/A | 3.3-rc1 | N/A | |||||
* TMS320 C64x | tidspbridge | DSP (also called IVA 2+) | datasheet | Yes (broken since 3.13-rc2) | N/A (Userspace: gst-dsp) | No | ||||
* * | DSP patches for Maemo/N900 | code | Yes | No | N/A | |||||
* PowerVR SGX530 | pvrsrvkm omaplfb | OpenGL ES and OpenVG acceleration | kernel code (userspace is closed) | Yes | No, not possible | Yes | No, not possible | No | No | |
* OMAP Watchdog | omap_wdt | Watchdog | OMAP34xx TRM | 3.8 | Yes | < 3.13 | 3.13 | |||
* OMAP MMC/SD/SDIO | omap_hsmmc | eMMC | OMAP34xx TRM | Yes | Yes | < 3.13 | 3.13-rc3 | |||
* OMAP MMC/SD/SDIO | omap_hsmmc | SD/MMC card | OMAP34xx TRM | Yes | Yes | < 3.13 | 3.13 | |||
TI TWL4030 | twl-core | multifunction (I2C) | TPS65950 TRM | N/A | < 3.13 | 3.13 | ||||
* | ??? | Audio | part of TI TWL4030 | Yes | Yes | 3.13 | ||||
* | twl4030-vibra | Vibrator | part of TI TWL4030 | Yes | 2.6.39-rc1 | < 3.13 | 3.13 | |||
* | rtc-twl | Real-Time Clock | part of TI TWL4030 | Yes | N/A | < 3.13 | 3.13 | |||
* | twl4030_wdt | Watchdog | part of TI TWL4030 | 3.8 | Yes | < 3.13 | 3.13 | |||
* | twl4030_keypad | Keypad | part of TI TWL4030 | 2.6.33 | Yes | 3.14 | 3.15 | |||
* | twl4030_pwrbutton | Power Button | part of TI TWL4030 | Yes | Yes | 3.14 | 3.14 | |||
* | twl4030_madc | Analog Digital Converter | part of TI TWL4030 | Yes | Yes | 3.15 | 3.16 | |||
GPIO | gpio-keys | Camera button | N/A | Yes | Yes | < 3.13 | 3.13 | |||
Taos TSL2563 | tsl2563 | Ambient light sensor | datasheet | 2.6.33 | Yes | 3.14 | 3.15 | |||
LP5523 | leds-lp5523 | LED driver | documentation | 2.6.37-rc2 | 3.1-rc1 | 3.13 | 3.13 | |||
Sony ACX565AKM | panel-sony-acx565akm | LCD panel | code | 2.6.35 | 2.6.36 | 3.15 | ||||
TI TSC2005 | tsc2005 | Touchscreen controller | datasheet | 2.6.39-rc1 | 3.3-rc1 | 3.16 | 3.16 | |||
WL1251 | wl1251_spi wl1251 | 802.11b/g WiFi | code | 2.6.31 | 2009-11-22 | 3.15-rc1 | 3.16 | wl1251-fw.bin wl1251-nvs.bin | ||
* | Packet injection support | code | 3.14 | N/A | ||||||
Si4713 | radio-si4713 si4713-i2c | FM transmitter | datasheet | 2.6.32 | Yes | RFC (2014-04-06) | No | |||
TPA6130a2 | snd-soc-tpa6130a2 | Headphone amplifier | datasheet | 2.6.33 | Yes | 3.13-rc1 | 3.13 | |||
TLV320AIC3X | snd-soc-tlv320aic3x | Digital audio data serial | ti.com | 2.6.25 | Yes | 3.13 | 3.13 | |||
Board | snd-soc-rx51 | Sound SoC Wiring | N/A | Yes | No | 3.16 | 3.16 | |||
* | All sound alsa switches and channels | In maemo fremantle kernel | No | No | N/A | |||||
GPIO | gpio-keys | Proximity sensor | N/A | Yes | Yes | < 3.13 | 3.13 | |||
Phonet | phonet | Modem protocol | code | 2.6.28 | N/A | |||||
HSI | hsi | Modem Bus Framework | code | 3.4-rc2 | N/A | |||||
Omap SSI | omap-ssi | Synchronous Serial Interface | code | 3.16 | No | 3.16 | 3.16 | |||
Modem | n900-modem | modem PM etc. | code | 3.16 | No | 3.16 | 3.16 | |||
* ssi-protocol | ssi_protocol | HSI client driver used by N900 | code | 3.16 | No | N/A | ||||
* cmt-speech | cmt_speech | HSI client driver used by N900 | code | Yes | No | No | N/A | |||
* TI NaviLink NL5350 | GPS (via Phonet modem protocol) | reveng | Userspace gps2.c | |||||||
* | A-GPS | No | Client SUPL application: http://www.tajuma.com/supl/index.html | |||||||
rx51_battery | rx51_battery | Battery design capacity, battery temperature | code | 3.8 | 3.8 | PATCHv2 (2014-03-01) | No | |||
bq27200 | bq27x00_battery | Battery monitor chip | documentation | 2.6.28 | 3.3-rc1 | < 3.13 | 3.13 | |||
isp1707a | isp1704_charger | USB charger detector | datasheet | 2.6.37-rc1 | 2011-04-20 | 3.14 | 3.15 | |||
bq24150a | bq2415x_charger | Battery charger | documentation | 3.8 | 3.14 | 3.14 | 3.15 | |||
OneNAND | ??? | Flash memory | code | 2.6.15 | Yes | < 3.13 | 3.13 | |||
LIS302DL | lis3lv02d_i2c lis3lv02d | Accelerometers | datasheet | 2.6.32 | 3.5-rc1 | WIP (2013-12-13) | No | |||
ADP 1653 | adp1653 | Flash Torch | datasheet | 3.1-rc1 | WIP | No, depends on omap3isp | ||||
STM VS6555 | smiapp | Front Webcam | datasheet | 3.4-rc4 (broken) | Yes | No | No, depends on omap3isp | No firmware needed | ||
ET8EK8 | et8ek8 | Main Camera | datasheet | Yes (broken) | No | Yes | No | No, depends on omap3isp | Firmware was integrated into driver (it was only data structure) | |
AD5820 | ad5820 | Autofocus | datasheet for AD5821, which may be similar | Yes | No | Yes | No | No, depends on omap3isp | ||
BCM2048 | hci_h4p | Bluetooth | old code | 3.15 (staging) | Yes | No | No | bcmfw.bin | ||
* | radio-bcm2048 | FM/RDS receiver | old code | 3.14 (staging) | Yes | No | No | |||
IR Diode on PWM GPIO | ir-rx51 | Infrared/CIR transmitter | N/A | 3.7-rc1 (broken since v3.8-rc4) | 3.7-rc1 | No | ||||
omap3-rom-rng | omap3-rom-rng | OMAP3 ROM Random Number Generator support | code | 3.13-rc2 | 3.13-rc1 | 3.16 | currently not needed |
Kernel git repository for N900
There is git repository for upstream linux kernel with all N900 patches.
https://gitorious.org/linux-n900/linux-n900
This git repository is used for development. All other git repositories on internet are older and does not contains all patches.
Kernel Compilation
export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabi- make rx51_defconfig make zImage modules
DT Kernel Compilation
Make sure this is enabled in the kernel configuration:
CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y CONFIG_PINCTRL_SINGLE=y CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_FIXED_VOLTAGE=y
Compile Kernel, Modules and DTB file:
export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabi- make zImage make modules make omap3-n900.dtb
Create combined kernel image by appending the DTB file:
cat arch/arm/boot/zImage arch/arm/boot/dts/omap3-n900.dtb > zImage
Install Modules:
make INSTALL_MOD_PATH=/mnt/target modules_install
Modem Status in Mainline Kernel
Missing drivers to have a working modem in the mainline kernel:
- omap-ssi - the modem is attached via ssi, this driver adds support for the ssi hardware of the omap processor.
- ssi-protocol - this adds support for the protocol used to to communicate with the modem (AKA McSAAB).
- cmt-speech - this adds support for the protocol used to exchange peech data with the modem
- cmt - this driver handles the modem's GPIO pins and is needed by ssi-protocol and cmt-speech.
sre is currently working on getting the modem supported in the mainline kernel.
Bluetooth Status in Mainline Kernel
The bluetooth driver is currently available in drivers/staging/nokia_h4p. There is a TODO file in that directory, which lists the code refactoring needed to get the driver out of staging.
Apart from the things listed in that TODO file, the driver also seems to reinvent the wheel concerning the uart port. Most code in the driver simply configures the omap serial port and duplicates code in drivers/tty/serial/omap-serial.c.
sre thinks, that the hci protocol extension code should be put into a file similar to drivers/bluetooth/hci_ll.c, which could be called drivers/bluetooth/hci_nokia.c (hci with nokia extensions). This would result in the protocol being available as hci_uart_proto for usage in a hci-uart driver.
A second driver would be needed, which would be similar to drivers/bluetooth/hci_ldisc.c with the following differences:
- support for additional gpios
- support to be instanciated from DT instead of hciattach
- support for loading bluetooth hardware address from DT
- support for automatical loading of bt firmware (see btusb.c)
M-Shield
For M-Shield AES, SHA1 and MD5 acceleration is needed updated signed bootloader X-Loader. Without it M-Shield crashing.
More info on: http://maemo.org/community/maemo-developers/n900_aes_and_sha1-md5_hw_acceleration_drivers/
U-Boot
Instead of booting the kernel directly from NOLO (which restricts you to using exactly one kernel), U-Boot can be used as second bootloader. The Maemo kernel can be appended to U-Boot to keep the existing Maemo installation working (U-Boot must be located at the location of the Maemo kernel). The resulting boot process will end up like this: NOLO -> U-Boot -> Kernel.
Pali Rohár has been working on getting the N900 support into the mainline U-Boot:
description | date | status |
---|---|---|
Board Support | 2012-10-29 | mainline |
Bootmenu Support | 2013-03-07 | mainline |
Now all N900 patches are in upstream U-Boot mainline project (part of U-Boot 2013.04). Source code is on http://git.denx.de/?p=u-boot.git
Debian packaging for Maemo is in this git repository: https://gitorious.org/u-boot-shr/u-boot (branch maemo).
There's also a thread on talk.maemo.org, where the latest released & tested version can be found: http://talk.maemo.org/showthread.php?t=81613
More info about U-Boot on N900 is in first post.
Flashing
There is an open source flasher application called 0xFFFF, which is working with the Nokia N900.
- Git repository is on: https://gitorious.org/0xffff/0xffff
- Packages are available in Debian & Ubuntu (apt-get install 0xffff)
- Gentoo Ebuild is available in ixit overlay (emerge -av sys-apps/0xffff::ixit )