Difference between revisions of "N900"
m (update display DT status) |
m (twl4030-madc and omapdss DT support has been merged by torvalds) |
||
(41 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
== Kernel Status == | == Kernel Status == | ||
+ | |||
+ | also see: [[N900/Changelog]] | ||
Colors: | Colors: | ||
Line 17: | Line 19: | ||
!colspan="2"| Driver | !colspan="2"| Driver | ||
!colspan="2"| Board | !colspan="2"| Board | ||
− | ! | + | !colspan="2"| Device Tree |
!rowspan="2"| Firmware | !rowspan="2"| Firmware | ||
|- | |- | ||
! Patch !! Mainline | ! Patch !! Mainline | ||
! Patch !! Mainline | ! Patch !! Mainline | ||
+ | ! Driver !! DTS | ||
|- | |- | ||
| OMAP3430 || || System-on-chip | | OMAP3430 || || System-on-chip | ||
Line 27: | Line 30: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
Line 33: | Line 37: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
Line 38: | Line 43: | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.architecture/index.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.architecture/index.html ARM infocenter] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| * * NEON || || Media Extensions | | * * NEON || || Media Extensions | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Bcfjicfj.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Bcfjicfj.html ARM infocenter] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| * * Thumb || || Code compression | | * * Thumb || || Code compression | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.architecture/index.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.architecture/index.html ARM infocenter] | ||
|bgcolor="lime" colspan="2"| 2.6.12 | |bgcolor="lime" colspan="2"| 2.6.12 | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| * * Thumb2 || || Code compression | | * * Thumb2 || || Code compression | ||
Line 54: | 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 | ||
|- | |- | ||
| * * 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="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A (Userspace: Java VM?) |
|- | |- | ||
| * * VFP || || Floating-point coprocessor | | * * VFP || || Floating-point coprocessor | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Chdjdaaj.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Chdjdaaj.html ARM infocenter] | ||
|bgcolor="lime" colspan="2"| 2.6.12 | |bgcolor="lime" colspan="2"| 2.6.12 | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| * M-Shield || omap-aes omap-sham || AES, SHA1 and MD5 acceleration [[#M-Shield|(needs updated X-Loader)]] | | * M-Shield || omap-aes omap-sham || AES, SHA1 and MD5 acceleration [[#M-Shield|(needs updated X-Loader)]] | ||
Line 70: | Line 76: | ||
|bgcolor="lime" colspan="2"| 2.6.37-rc1 | |bgcolor="lime" colspan="2"| 2.6.37-rc1 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |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"| No | + | |bgcolor="red" colspan="2"| No |
|- | |- | ||
| * OMAP DSS || ??? || Video HW abstraction layer | | * OMAP DSS || ??? || Video HW abstraction layer | ||
Line 82: | 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 | ||
Line 88: | Line 101: | ||
|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="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
− | |bgcolor="red"| No | + | |bgcolor="red" colspan="2"| No |
|- | |- | ||
| * 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"| No | + | |bgcolor="red" colspan="2"| No |
|- | |- | ||
| * * || || DSP patches for Maemo/N900 | | * * || || DSP patches for Maemo/N900 | ||
Line 100: | Line 113: | ||
|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 | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| * 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="red"| No | + | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] |
− | |bgcolor=" | + | |bgcolor="red"| No, not possible |
− | |bgcolor="red"| No | + | |bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes] |
+ | |bgcolor="red"| No, not possible | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
Line 114: | Line 128: | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=67c0f55468443ef8a1edc6ee92f9a92e4915be24 3.8] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=67c0f55468443ef8a1edc6ee92f9a92e4915be24 3.8] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|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 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|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 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|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 | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
Line 137: | Line 155: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/520 3.13] | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/10/22/520 3.13] |
|- | |- | ||
| * || twl4030-vibra || Vibrator | | * || twl4030-vibra || Vibrator | ||
Line 143: | Line 161: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| 2.6.39-rc1 | |bgcolor="lime" colspan="2"| 2.6.39-rc1 | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/520 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/520 3.13] | ||
|- | |- | ||
Line 149: | Line 168: | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
Line 155: | Line 175: | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b2c4e4b2696287671723ef986f0db23cf4f52f15 3.8] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b2c4e4b2696287671723ef986f0db23cf4f52f15 3.8] | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
|- | |- | ||
− | | * || | + | | * || twl4030_keypad || Keypad |
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
|bgcolor="lime" colspan="2"| 2.6.33 | |bgcolor="lime" colspan="2"| 2.6.33 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/122 3.14] |
+ | |bgcolor="lime"| 3.15 | ||
|- | |- | ||
− | | * || | + | | * || twl4030_pwrbutton || Power Button |
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
|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/2013/11/8/458 3.14] |
+ | |bgcolor="lime"| 3.14 | ||
|- | |- | ||
− | | GPIO || | + | | * || twl4030_madc || Analog Digital Converter |
+ | |bgcolor="lime"| part of TI TWL4030 | ||
+ | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| [https://lkml.org/lkml/2014/3/15/155 3.15] | ||
+ | |bgcolor="yellow"| [http://marc.info/?l=linux-omap&m=139518444704345&w=2 PATCHv1 (2014-03-18)] | ||
+ | |- | ||
+ | | GPIO || gpio-keys || Camera button | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/509 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/509 3.13] | ||
|- | |- | ||
Line 179: | Line 210: | ||
|bgcolor="lime" colspan="2"| 2.6.33 | |bgcolor="lime" colspan="2"| 2.6.33 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/23/47 3.14] |
+ | |bgcolor="lime"| 3.15 | ||
|- | |- | ||
| LP5523 || leds-lp5523 || LED driver | | LP5523 || leds-lp5523 || LED driver | ||
Line 185: | Line 217: | ||
|bgcolor="lime" colspan="2"| 2.6.37-rc2 | |bgcolor="lime" colspan="2"| 2.6.37-rc2 | ||
|bgcolor="lime" colspan="2"| 3.1-rc1 | |bgcolor="lime" colspan="2"| 3.1-rc1 | ||
− | |bgcolor="lime"| | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/497 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 197: | Line 230: | ||
|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="yellow"| [https://lkml.org/lkml/ | + | |bgcolor="yellow"| [https://lkml.org/lkml/2014/4/5/103 PATCHv2 (2014-04-06)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
| WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | | WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | ||
Line 203: | Line 237: | ||
|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="yellow"| [http://www.spinics.net/lists/linux-omap/msg104474.html PATCHv1 (2014-03-13)] | ||
|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] | ||
|- | |- | ||
| * || || Packet injection support | | * || || Packet injection support | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime" | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/10/26/148 3.14] |
− | + | |bgcolor="cyan" colspan="4"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
| Si4713 || radio-si4713 si4713-i2c || FM transmitter | | Si4713 || radio-si4713 si4713-i2c || FM transmitter | ||
Line 216: | Line 250: | ||
|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="yellow"| [https://lkml.org/lkml/2014/4/6/29 RFC (2014-04-06)] | ||
|bgcolor="red"| No | |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 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f95a48834cb9c581eec952215666a323136f339f 3.13-rc1] | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f95a48834cb9c581eec952215666a323136f339f 3.13-rc1] | ||
+ | |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 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/500 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/500 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/2013/1/19/170 Yes] | |bgcolor="lime"| [https://lkml.org/lkml/2013/1/19/170 Yes] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |bgcolor="yellow"| [https://lkml.org/lkml/ | + | |bgcolor="yellow"| [https://lkml.org/lkml/2014/4/5/92 PATCH (2014-04-06)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
| * || || All sound alsa switches and channels | | * || || All sound alsa switches and channels | ||
Line 241: | Line 279: | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |bgcolor="cyan" colspan=" | + | |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 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/509 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/509 3.13] | ||
|- | |- | ||
Line 252: | Line 291: | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
|bgcolor="lime" colspan="2"| 2.6.28 | |bgcolor="lime" colspan="2"| 2.6.28 | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
| HSI || hsi || Modem Bus Framework | | HSI || hsi || Modem Bus Framework | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b1a808ff436343956a6ae63178ea1810c5e5a3a1 3.4-rc2] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b1a808ff436343956a6ae63178ea1810c5e5a3a1 3.4-rc2] | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="4"| N/A |
|- | |- | ||
− | | | + | | Omap SSI || omap-ssi || Synchronous Serial Interface |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-03-28)] |
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor="yellow"| [https://lkml | + | |bgcolor="yellow"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-03-28)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
− | | | + | | Modem || n900-modem || modem PM etc. |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="yellow" colspan="2"| [https://lkml | + | |bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-04-28)] |
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor="yellow"| [https://lkml | + | |bgcolor="yellow"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-04-28)] |
+ | |bgcolor="red"| No | ||
|- | |- | ||
− | | * | + | | * ssi-protocol || ssi_protocol || HSI client driver used by N900 |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-03-28)] |
− | |||
|bgcolor="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
+ | |bgcolor="yellow"| [https://lkml.org/lkml/2014/3/28/492 PATCHv3 (2014-03-28)] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|- | |- | ||
− | | | + | | * 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="gray" colspan="2"| No | |bgcolor="gray" colspan="2"| No | ||
− | |bgcolor=" | + | |bgcolor="red" colspan="2"| No |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| * TI NaviLink NL5350 || || GPS (via Phonet modem protocol) | | * 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=" | + | |bgcolor="cyan" colspan="6"| Userspace [http://luke.dashjr.org/tmp/code/gps2.c gps2.c] |
|- | |- | ||
| * || || A-GPS | | * || || A-GPS | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="6"| Client SUPL application: http://www.tajuma.com/supl/index.html |
|- | |- | ||
| rx51_battery || rx51_battery || Battery design capacity, battery temperature | | rx51_battery || rx51_battery || Battery design capacity, battery temperature | ||
Line 302: | Line 338: | ||
|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="yellow"|[https://lkml.org/lkml/2014/3/1/122 PATCHv2 (2014-03-01)] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
|- | |- | ||
Line 308: | Line 345: | ||
|bgcolor="lime" colspan="2"| 2.6.28 | |bgcolor="lime" colspan="2"| 2.6.28 | ||
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2011/11/25/190 3.3-rc1] | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2011/11/25/190 3.3-rc1] | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/498 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/498 3.13] | ||
|- | |- | ||
Line 314: | Line 352: | ||
|bgcolor="lime" colspan="2"| 2.6.37-rc1 | |bgcolor="lime" colspan="2"| 2.6.37-rc1 | ||
|bgcolor="lime" colspan="2"| 2011-04-20 | |bgcolor="lime" colspan="2"| 2011-04-20 | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/189 3.14] |
+ | |bgcolor="lime"| 3.15 | ||
|- | |- | ||
| bq24150a || bq2415x_charger || Battery charger | | bq24150a || bq2415x_charger || Battery charger | ||
|bgcolor="lime"| [http://www.ti.com/product/bq24150a documentation] | |bgcolor="lime"| [http://www.ti.com/product/bq24150a documentation] | ||
|bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=0bc98cc6155205b615a9d29a2d54d1b839521c04 3.8] | |bgcolor="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=0bc98cc6155205b615a9d29a2d54d1b839521c04 3.8] | ||
− | |bgcolor=" | + | |bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/11/19/106 3.14] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138531187226431&w=2 3.14] |
+ | |bgcolor="lime"| 3.15 | ||
|- | |- | ||
| OneNAND || ??? || Flash memory | | OneNAND || ??? || Flash memory | ||
Line 326: | Line 366: | ||
|bgcolor="lime" colspan="2"| 2.6.15 | |bgcolor="lime" colspan="2"| 2.6.15 | ||
|bgcolor="lime" colspan="2"| Yes | |bgcolor="lime" colspan="2"| Yes | ||
+ | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/496 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/496 3.13] | ||
|- | |- | ||
Line 333: | Line 374: | ||
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=3b5112011508c3d92938438db506c6794e8a61a5 3.5-rc1] | |bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=3b5112011508c3d92938438db506c6794e8a61a5 3.5-rc1] | ||
|bgcolor="yellow"| [http://www.spinics.net/lists/devicetree/msg15747.html WIP (2013-12-13)] | |bgcolor="yellow"| [http://www.spinics.net/lists/devicetree/msg15747.html WIP (2013-12-13)] | ||
+ | |bgcolor="red"| No | ||
|- | |- | ||
| ADP 1653 || adp1653 || Flash Torch | | ADP 1653 || adp1653 || Flash Torch | ||
Line 338: | Line 380: | ||
|bgcolor="lime" colspan="2"| 3.1-rc1 | |bgcolor="lime" colspan="2"| 3.1-rc1 | ||
|bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2013/2/17/61 WIP] | |bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2013/2/17/61 WIP] | ||
− | |bgcolor="red"| No, depends on omap3isp | + | |bgcolor="red" colspan="2"| No, depends on omap3isp |
|- | |- | ||
| 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 | ||
− | |bgcolor="red"| No, depends on omap3isp | + | |bgcolor="red" colspan="2"| No, depends on omap3isp |
|bgcolor="lime"| No firmware needed | |bgcolor="lime"| No firmware needed | ||
|- | |- | ||
| 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] | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |bgcolor="red"| No, depends on omap3isp | + | |bgcolor="red" colspan="2"| No, depends on omap3isp |
|bgcolor="lime"| Firmware was integrated into driver (it was only data structure) | |bgcolor="lime"| Firmware was integrated into driver (it was only data structure) | ||
|- | |- | ||
Line 363: | Line 405: | ||
|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 | ||
− | |bgcolor="red"| No, depends on omap3isp | + | |bgcolor="red" colspan="2"| No, depends on omap3isp |
|- | |- | ||
| 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 | ||
− | |bgcolor="red"| No | + | |bgcolor="red" colspan="2"| No |
|bgcolor="yellow"| [https://api.merproject.org/public/source/nemo:devel:hw:ti:omap3:n900/bcm-bt-firmware/bcm-bt-firmware-0.21rc3.tar.bz2 bcmfw.bin] | |bgcolor="yellow"| [https://api.merproject.org/public/source/nemo:devel:hw:ti:omap3:n900/bcm-bt-firmware/bcm-bt-firmware-0.21rc3.tar.bz2 bcmfw.bin] | ||
|- | |- | ||
| * || 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 | ||
− | |bgcolor="red"| No | + | |bgcolor="red" colspan="2"| No |
|- | |- | ||
| 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"| 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 | ||
Line 390: | Line 432: | ||
|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="red"| No | + | |bgcolor="red" colspan="2"| No |
|} | |} | ||
Line 443: | Line 485: | ||
* 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 == | ||
Line 495: | Line 537: | ||
* Git repository is on: https://gitorious.org/0xffff/0xffff | * Git repository is on: https://gitorious.org/0xffff/0xffff | ||
* Packages are available in Debian & Ubuntu (apt-get install 0xffff) | * Packages are available in Debian & Ubuntu (apt-get install 0xffff) | ||
+ | * Gentoo Ebuild is available in ixit overlay (emerge -av sys-apps/0xffff::ixit ) |
Revision as of 13:44, 7 April 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 | No | ||||
* 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 | PATCHv1 (2014-03-18) | |||
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 | PATCHv2 (2014-04-06) | No | |||
WL1251 | wl1251_spi wl1251 | 802.11b/g WiFi | code | 2.6.31 | 2009-11-22 | 3.15-rc1 | PATCHv1 (2014-03-13) | 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 | Yes | No | PATCH (2014-04-06) | No | ||
* | 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 | PATCHv3 (2014-03-28) | No | PATCHv3 (2014-03-28) | No | |||
Modem | n900-modem | modem PM etc. | code | PATCHv3 (2014-04-28) | No | PATCHv3 (2014-04-28) | No | |||
* ssi-protocol | ssi_protocol | HSI client driver used by N900 | code | PATCHv3 (2014-03-28) | No | PATCHv3 (2014-03-28) | No | |||
* cmt_speech | cmt_speech | HSI client driver used by N900 | code | Yes | No | No | No | |||
* 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 | No |
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
This is the TODO list to get the hci_h4p driver into the mainline kernel:
Use hdev->setup callback for firmware loading and initial setup Note 1: Since they are all HCI commands anyway, you can nicely use the sync interface we added for that Note 2: Example: btusb.c Review MAC address setup (driver, which loads config from eeprom?) https://lkml.org/lkml/2013/10/24/375
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 )