Difference between revisions of "N900"
(→Kernel Status: Add info about C-states and MPU OPP) |
m (ir-rx51 has DT support since 4.8-rc1) |
||
(29 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
!rowspan="2"| Purpose | !rowspan="2"| Purpose | ||
!rowspan="2"| Docs | !rowspan="2"| Docs | ||
− | ! | + | !rowspan="2"| Driver |
− | |||
!colspan="2"| Device Tree | !colspan="2"| Device Tree | ||
!rowspan="2"| Firmware | !rowspan="2"| Firmware | ||
|- | |- | ||
− | |||
− | |||
! Driver !! DTS | ! Driver !! DTS | ||
|- | |- | ||
| OMAP3430 || || System-on-chip | | OMAP3430 || || System-on-chip | ||
|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 | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 35: | Line 31: | ||
| * Cortex A8 || || CPU | | * Cortex A8 || || CPU | ||
|bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344k/index.html ARM infocenter] | |bgcolor="lime"| [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344k/index.html ARM infocenter] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 42: | Line 37: | ||
| * * ARMv7 || || Instruction set | | * * ARMv7 || || Instruction set | ||
|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 | + | |bgcolor="lime"| Yes |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| 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 | + | |bgcolor="lime"| Yes |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| 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 | + | |bgcolor="lime"| 2.6.12 |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
| * * Thumb2 || || Code compression | | * * Thumb2 || || 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 | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139302413627536&w=2 3.14-rc6] | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139302413627536&w=2 3.14-rc6] | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
Line 64: | Line 58: | ||
| * * 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 | + | |bgcolor="lime"| Yes |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| 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 | + | |bgcolor="lime"| 2.6.12 |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
− | | * cpuidle || || | + | | * cpuidle || || CPUidle C-states for RX-51 |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=98f42221501353067251fbf11e732707dbb68ce3 v4.6-rc1] |
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
− | | * | + | | * cpufreq || || CPUfreq MPU OPP values (with overclock) for RX-51 |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="cyan"| N/A |
− | |bgcolor=" | + | |bgcolor="cyan"| N/A |
− | |bgcolor=" | + | |bgcolor="yellow"| CPUfreq without overclock |
|- | |- | ||
− | | * M-Shield || omap-aes | + | | * M-Shield AES || omap-aes || AES HW acceleration [[#M-Shield|(needs updated X-Loader)]] |
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.37-rc1 |
− | |||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
− | |bgcolor=" | + | |bgcolor="red"| [http://marc.info/?l=linux-omap&m=138505988009856&w=2 3.13-rc3] ([https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=69540a7c277d96382257216436f41abc040cc878 disabled]) |
+ | |- | ||
+ | | * M-Shield SHA1/MD5 || omap-sham || SHA1 and MD5 HW acceleration | ||
+ | |bgcolor="yellow"| code | ||
+ | |bgcolor="lime"| 2.6.35-rc1 | ||
+ | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=eddca85b1a9ab451772791d03af1f016e9c4ea0b 4.2-rc1] | ||
+ | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=69540a7c277d96382257216436f41abc040cc878 4.1-rc2] | ||
|- | |- | ||
| * IOMMU || omap-iommu || OMAP3 IO Memory Management Unit | | * 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"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime" colspan="2"| 3.15 | |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="yellow | + | |bgcolor="yellow"| 2.6.39-rc1 (broken) |
− | |bgcolor=" | + | |bgcolor="lime" colspan="2"| [http://article.gmane.org/gmane.linux.ports.arm.omap/124357 4.1-rc1] |
− | |||
|- | |- | ||
| * OMAP DSS || omapdss || Video HW abstraction layer | | * OMAP DSS || omapdss || Video HW abstraction layer | ||
|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 | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15] | |bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15] | ||
|- | |- | ||
| * OMAP DRM || omapdrm || KMS video driver | | * OMAP DRM || omapdrm || KMS video driver | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [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="2"| 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="red | + | |bgcolor="red"| No ([https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f190be7f39a5e480ddc5e0f49bbe670feb328c32 removed in v3.17-rc1] [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=930ba4a374b96560ef9fde2145cdc454a164ddcc broken since 3.13-rc2]) |
− | |||
|bgcolor="red" colspan="2"| No | |bgcolor="red" colspan="2"| No | ||
|- | |- | ||
| * * || || DSP patches for Maemo/N900 | | * * || || DSP patches for Maemo/N900 | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor=" | + | |bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900 WIP] |
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
| * PowerVR SGX530 || pvrsrvkm omaplfb || OpenGL ES and OpenVG acceleration | | * PowerVR SGX530 || pvrsrvkm omaplfb || OpenGL ES and OpenVG acceleration | ||
|bgcolor="yellow"| kernel code (userspace is closed) | |bgcolor="yellow"| kernel code (userspace is closed) | ||
− | + | |bgcolor="red"| Code exists, upstreaming not possible | |
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |||
− | |bgcolor="red"| | ||
− | |bgcolor=" | ||
− | |||
|- | |- | ||
| * OMAP Watchdog || omap_wdt || Watchdog | | * OMAP Watchdog || omap_wdt || Watchdog | ||
|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 | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=67c0f55468443ef8a1edc6ee92f9a92e4915be24 3.8] |
− | |||
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 144: | Line 132: | ||
| * OMAP MMC/SD/SDIO || omap_hsmmc || eMMC | | * 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 | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |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] | ||
Line 151: | Line 138: | ||
| * OMAP MMC/SD/SDIO || omap_hsmmc || SD/MMC card | | * 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 | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |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] | ||
|- | |- | ||
− | |* temp || | + | | * || || omap_hsmmc slot-name |
+ | |bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM] | ||
+ | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=db863d8966818d3af3e415b5f60fcfeceba803c6 4.7-rc1] [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=10c1f7d32bf451d4309850c15ab1fdadccf92620 4.7-rc1] | ||
+ | |bgcolor="cyan" colspan="2"| currently not needed | ||
+ | |- | ||
+ | |* temp || ti-soc-thermal || OMAP34xx temperature sensor | ||
|bgcolor="greenyellow"| code | |bgcolor="greenyellow"| code | ||
− | |bgcolor=" | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=9c5c87e5936e792ddca5cb876d523b6e5d6042e6 v4.4-rc1] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=9c5c87e5936e792ddca5cb876d523b6e5d6042e6 v4.4-rc1] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=12e47442c2a1322c2762072fd6ea07462f1b04ec v4.6-rc1] |
− | |||
|- | |- | ||
| TI TWL4030 || twl-core || multifunction (I2C) | | 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 | + | |bgcolor="cyan"| N/A |
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 171: | Line 161: | ||
| * || ??? || Audio | | * || ??? || Audio | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime" colspan="2"| [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 | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |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 184: | Line 172: | ||
| * || rtc-twl || Real-Time Clock | | * || rtc-twl || Real-Time Clock | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 191: | Line 178: | ||
| * || twl4030_wdt || Watchdog | | * || twl4030_wdt || Watchdog | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b2c4e4b2696287671723ef986f0db23cf4f52f15 3.8] |
− | |||
|bgcolor="lime"| < 3.13 | |bgcolor="lime"| < 3.13 | ||
|bgcolor="lime"| 3.13 | |bgcolor="lime"| 3.13 | ||
Line 198: | Line 184: | ||
| * || twl4030_keypad || Keypad | | * || twl4030_keypad || Keypad | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.33 |
− | |||
|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="lime"| 3.15 | |bgcolor="lime"| 3.15 | ||
Line 205: | Line 190: | ||
| * || twl4030_pwrbutton || Power Button | | * || twl4030_pwrbutton || Power Button | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 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="lime"| 3.14 | |bgcolor="lime"| 3.14 | ||
Line 212: | Line 196: | ||
| * || twl4030_madc || Analog Digital Converter | | * || twl4030_madc || Analog Digital Converter | ||
|bgcolor="lime"| part of TI TWL4030 | |bgcolor="lime"| part of TI TWL4030 | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/3/15/155 3.15] | |bgcolor="lime"| [https://lkml.org/lkml/2014/3/15/155 3.15] | ||
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139518444704345&w=2 3.16] | |bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139518444704345&w=2 3.16] | ||
+ | |- | ||
+ | | musb || musb || USB | ||
+ | |bgcolor="yellow"| | ||
+ | |bgcolor="lime"| Yes | ||
+ | |bgcolor="lime"| Yes | ||
+ | |bgcolor="lime"| Yes | ||
+ | |- | ||
+ | | * || || Forced host mode (via debugfs) | ||
+ | |bgcolor="yellow"| | ||
+ | |bgcolor="yellow"| [http://news.gmane.org/find-root.php?message_id=201601231357.32629%40pali WIP] | ||
+ | |bgcolor="cyan" colspan="2"| N/A | ||
|- | |- | ||
| GPIO || gpio-keys || Camera button | | GPIO || gpio-keys || Camera button | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |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 226: | Line 219: | ||
| Taos TSL2563 || tsl2563 || Ambient light sensor | | Taos TSL2563 || tsl2563 || Ambient light sensor | ||
|bgcolor="lime"| [http://www.taosinc.com/getfile.aspx?type=press&file=tsl2562-e40.pdf datasheet] | |bgcolor="lime"| [http://www.taosinc.com/getfile.aspx?type=press&file=tsl2562-e40.pdf datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.33 |
− | |||
|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="lime"| 3.15 | |bgcolor="lime"| 3.15 | ||
Line 233: | Line 225: | ||
| LP5523 || leds-lp5523 || LED driver | | LP5523 || leds-lp5523 || LED driver | ||
|bgcolor="lime"| [http://www.ti.com/product/LP5523 documentation] | |bgcolor="lime"| [http://www.ti.com/product/LP5523 documentation] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.37-rc2 |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/497 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/497 3.13] | ||
|bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/166 3.13] | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/22/166 3.13] | ||
Line 240: | Line 231: | ||
| Sony ACX565AKM || panel-sony-acx565akm || LCD panel | | Sony ACX565AKM || panel-sony-acx565akm || LCD panel | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.35 |
− | |||
|bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15] | |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 | ||
|bgcolor="lime"| [http://www.ti.com/lit/gpn/tsc2005 datasheet] | |bgcolor="lime"| [http://www.ti.com/lit/gpn/tsc2005 datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.39-rc1 |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] | ||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16] | ||
+ | |- | ||
+ | | * || || Sysfs node for disabling device | ||
+ | |bgcolor="lime"| [http://www.ti.com/lit/gpn/tsc2005 datasheet] | ||
+ | |bgcolor="red"| No | ||
+ | |bgcolor="cyan" colspan="2"| N/A | ||
|- | |- | ||
| WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | | WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.31 |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2013/12/5/649 3.15-rc1] | |bgcolor="lime"| [https://lkml.org/lkml/2013/12/5/649 3.15-rc1] | ||
|bgcolor="lime"| [http://www.spinics.net/lists/linux-omap/msg104474.html 3.16] | |bgcolor="lime"| [http://www.spinics.net/lists/linux-omap/msg104474.html 3.16] | ||
Line 261: | Line 254: | ||
| * || || Packet injection support | | * || || Packet injection support | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://lkml.org/lkml/2013/10/26/148 3.14] |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
| * || || Permanent mac address | | * || || Permanent mac address | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/35 | + | |bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/35 WIP] |
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
| * || || Bluetooth coexistence mode configuration | | * || || Bluetooth coexistence mode configuration | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/33 | + | |bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/33 WIP] |
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
| Si4713 || radio-si4713 si4713-i2c || FM transmitter | | Si4713 || radio-si4713 si4713-i2c || FM transmitter | ||
|bgcolor="lime"| [http://www.silabs.com/Support%20Documents/TechnicalDocs/AN332.pdf datasheet] | |bgcolor="lime"| [http://www.silabs.com/Support%20Documents/TechnicalDocs/AN332.pdf datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.32 |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/11/10/671 3.19] | |bgcolor="lime"| [https://lkml.org/lkml/2014/11/10/671 3.19] | ||
|bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git/commit/arch/arm/boot/dts/omap3-n900.dts?h=for-next&id=406c07e7ed23337e01b908b2882886f48a49c30c 3.19] | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git/commit/arch/arm/boot/dts/omap3-n900.dts?h=for-next&id=406c07e7ed23337e01b908b2882886f48a49c30c 3.19] | ||
Line 285: | Line 275: | ||
| TPA6130a2 || snd-soc-tpa6130a2 || Headphone amplifier | | 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 | + | |bgcolor="lime"| 2.6.33 |
− | |||
|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 | |bgcolor="lime"| 3.13 | ||
Line 292: | Line 281: | ||
| TLV320AIC3X || snd-soc-tlv320aic3x || Digital audio data serial | | 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 | + | |bgcolor="lime"| 2.6.25 |
− | |||
|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 | |bgcolor="lime"| 3.13 | ||
Line 299: | Line 287: | ||
| Board || snd-soc-rx51 || Sound SoC Wiring | | Board || snd-soc-rx51 || Sound SoC Wiring | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/omap/rx51.c Yes] |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/308 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/308 3.16] | ||
|bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/302 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/302 3.16] | ||
Line 307: | Line 294: | ||
|bgcolor="yellow"| In maemo fremantle kernel | |bgcolor="yellow"| In maemo fremantle kernel | ||
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | + | |bgcolor="cyan" colspan="2"| N/A | |
− | |bgcolor="cyan" colspan=" | ||
|- | |- | ||
| GPIO || gpio-keys || Proximity sensor | | GPIO || gpio-keys || Proximity sensor | ||
|bgcolor="cyan"| N/A | |bgcolor="cyan"| N/A | ||
− | |bgcolor="lime | + | |bgcolor="lime"| Yes |
− | |||
|bgcolor="lime"| < 3.13 | |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 319: | Line 304: | ||
| Phonet || phonet || Modem protocol | | Phonet || phonet || Modem protocol | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.28 |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
| HSI || hsi || Modem Bus Framework | | HSI || hsi || Modem Bus Framework | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b1a808ff436343956a6ae63178ea1810c5e5a3a1 3.4-rc2] |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="2"| N/A |
|- | |- | ||
| Omap SSI || omap-ssi || Synchronous Serial Interface | | Omap SSI || omap-ssi || Synchronous Serial Interface | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] | ||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/165 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/165 3.16] | ||
Line 336: | Line 320: | ||
| Modem || n900-modem || modem PM etc. | | Modem || n900-modem || modem PM etc. | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] | ||
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/166 3.16] | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/166 3.16] | ||
Line 343: | Line 326: | ||
| * ssi-protocol || ssi_protocol || HSI client driver used by N900 | | * ssi-protocol || ssi_protocol || HSI client driver used by N900 | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16] |
− | |||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
|- | |- | ||
| * cmt-speech || cmt_speech || HSI client driver used by N900 | | * cmt-speech || cmt_speech || HSI client driver used by N900 | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime"| [https:// | + | |bgcolor="lime"| [https://lkml.org/lkml/2015/3/21/155 4.1-rc1] |
− | |||
− | |||
|bgcolor="cyan" colspan="2"| N/A | |bgcolor="cyan" colspan="2"| N/A | ||
|- | |- | ||
| * 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="3"| Userspace [http://luke.dashjr.org/tmp/code/gps2.c gps2.c] |
|- | |- | ||
| * || || A-GPS | | * || || A-GPS | ||
− | |bgcolor=" | + | |bgcolor="yellow"| Uses SUPL |
− | |bgcolor="cyan" colspan=" | + | |bgcolor="cyan" colspan="3"| 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 | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=04930baf28f08cd275e4afbf5a335b42335705df 3.8] |
− | |||
|bgcolor="lime"|[https://lkml.org/lkml/2014/3/1/122 3.17] | |bgcolor="lime"|[https://lkml.org/lkml/2014/3/1/122 3.17] | ||
|bgcolor="lime"|[https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git/commit/arch/arm/boot/dts/omap3-n900.dts?h=for-next&id=28398c69a7f99861d9631d5cfbadf8cd054ccf93 3.19] | |bgcolor="lime"|[https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git/commit/arch/arm/boot/dts/omap3-n900.dts?h=for-next&id=28398c69a7f99861d9631d5cfbadf8cd054ccf93 3.19] | ||
Line 371: | Line 350: | ||
| bq27200 || bq27x00_battery || Battery monitor chip | | bq27200 || bq27x00_battery || Battery monitor chip | ||
|bgcolor="lime"| [http://www.ti.com/product/bq27200 documentation] | |bgcolor="lime"| [http://www.ti.com/product/bq27200 documentation] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.28 |
− | |||
|bgcolor="lime"| < 3.13 | |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 378: | Line 356: | ||
| isp1707a || isp1704_charger || USB charger detector | | isp1707a || isp1704_charger || USB charger detector | ||
|bgcolor="lime"| [http://pdf.datasheetz.com/NXP/ISP1704A_1/ISP1704A_1.pdf datasheet] | |bgcolor="lime"| [http://pdf.datasheetz.com/NXP/ISP1704A_1/ISP1704A_1.pdf datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.37-rc1 |
− | |||
|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="lime"| 3.15 | |bgcolor="lime"| 3.15 | ||
Line 385: | Line 362: | ||
| 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 | + | |bgcolor="lime"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=0bc98cc6155205b615a9d29a2d54d1b839521c04 3.8] |
− | |||
|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="lime"| 3.15 | |bgcolor="lime"| 3.15 | ||
Line 392: | Line 368: | ||
| OneNAND || onenand omap2 || Flash memory | | OneNAND || onenand omap2 || Flash memory | ||
|bgcolor="yellow"| code | |bgcolor="yellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.15 |
− | |||
|bgcolor="lime"| < 3.13 | |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 399: | Line 374: | ||
| LIS302DL || lis3lv02d_i2c lis3lv02d || Accelerometers | | LIS302DL || lis3lv02d_i2c lis3lv02d || Accelerometers | ||
|bgcolor="lime"| [http://www.st.com/stonline/products/literature/ds/12726.pdf datasheet] | |bgcolor="lime"| [http://www.st.com/stonline/products/literature/ds/12726.pdf datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 2.6.32 |
− | |bgcolor="lime | + | |bgcolor="lime"| [https://www.mail-archive.com/linux-omap@vger.kernel.org/msg115492.html 4.1-rc1] |
− | |bgcolor=" | + | |bgcolor="lime"| [https://www.mail-archive.com/linux-omap@vger.kernel.org/msg115493.html 4.1-rc1] |
− | |||
|- | |- | ||
| ADP 1653 || adp1653 || Flash Torch | | ADP 1653 || adp1653 || Flash Torch | ||
|bgcolor="lime"| [http://www.analog.com/static/imported-files/data_sheets/ADP1653.pdf datasheet] | |bgcolor="lime"| [http://www.analog.com/static/imported-files/data_sheets/ADP1653.pdf datasheet] | ||
− | |bgcolor="lime | + | |bgcolor="lime"| 3.1-rc1 |
− | |bgcolor=" | + | |bgcolor="lime"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=074c57a25fa2c83a264f3fdbb99a9fef0229884d 4.2-rc1] |
− | |bgcolor=" | + | |bgcolor="lime"| [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=14628e4444ea8b5ea058e1bd663ff62f2e731feb v4.6-rc1] |
|- | |- | ||
| 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="yellow | + | |bgcolor="yellow"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=ccfc97bdb5ae8b8edc55169ac6924e08449836ac 3.4-rc4] (broken) |
− | |bgcolor="lime"| [https:// | + | |bgcolor="lime"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=a2cec3c0199ab4d7c0d83dee7fc69bd22eef7e12 4.0-rc1] |
|bgcolor="red"| No | |bgcolor="red"| No | ||
− | |||
|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="yellow"| [https://gitorious.org/linux-n900/linux-n900/source/8a80ef98885813ab38672f80b2f9548f969963a1:drivers/media/i2c/smia/et8ek8.c | + | |bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900/source/8a80ef98885813ab38672f80b2f9548f969963a1:drivers/media/i2c/smia/et8ek8.c WIP] (broken) |
− | |||
− | |||
− | |||
|bgcolor="red" colspan="2"| 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 429: | Line 399: | ||
| AD5820 || ad5820 || Autofocus | | AD5820 || ad5820 || Autofocus | ||
|bgcolor="lime"| [http://natisbad.org/N900/ref/AD5821.pdf datasheet for AD5821, which may be similar] | |bgcolor="lime"| [http://natisbad.org/N900/ref/AD5821.pdf datasheet for AD5821, which may be similar] | ||
− | |bgcolor=" | + | |bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900/commit/661caf226fee7a8f54ac3559787f7474b4917f82 WIP] |
− | |||
− | |||
− | |||
|bgcolor="red" colspan="2"| 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="red"| No ([https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a4102f90e87cfaa3fdbed6fdf469b23f0eeb4bfd removed in v3.18-rc1]) [https://lkml.org/lkml/2014/1/21/401 3.15 (staging)] | |bgcolor="red"| No ([https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a4102f90e87cfaa3fdbed6fdf469b23f0eeb4bfd removed in v3.18-rc1]) [https://lkml.org/lkml/2014/1/21/401 3.15 (staging)] | ||
− | |||
− | |||
|bgcolor="red" colspan="2"| 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] | ||
Line 446: | Line 410: | ||
| * || radio-bcm2048 || FM/RDS receiver | | * || radio-bcm2048 || FM/RDS receiver | ||
|bgcolor="yellow"| old code | |bgcolor="yellow"| old code | ||
− | |bgcolor="greenyellow | + | |bgcolor="greenyellow"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=899127b67df098e6d878f27be05dc91401cc6685 3.14 (staging)] |
− | |||
− | |||
|bgcolor="red" colspan="2"| 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="lime"| [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] |
− | |bgcolor="lime" colspan="2"| [ | + | |bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b5406176989da601736db862643d3d7ee8335815 4.8-rc1] |
− | |||
|- | |- | ||
| 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="greenyellow"| code | |bgcolor="greenyellow"| code | ||
− | |bgcolor="lime | + | |bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c6b7c2108bdb0c6a17044830028a649dbaca913 3.13-rc2] |
− | |bgcolor="lime | + | |bgcolor="lime"| [http://www.spinics.net/lists/linux-omap/msg105059.html 3.16] |
− | + | |bgcolor="cyan"| currently not needed | |
− | |bgcolor="cyan | ||
|} | |} | ||
Line 469: | Line 429: | ||
There is git repository for upstream linux kernel with all N900 patches. | There is git repository for upstream linux kernel with all N900 patches. | ||
− | https:// | + | https://github.com/pali/linux-n900 |
This git repository is used for development. All other git repositories on internet are older and does not contains all patches. | This git repository is used for development. All other git repositories on internet are older and does not contains all patches. | ||
Line 514: | Line 474: | ||
Also for some strange reason, mmcblk? devices do not work for root filesystem. They work fine | Also for some strange reason, mmcblk? devices do not work for root filesystem. They work fine | ||
when mounted during runtime. | when mounted during runtime. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Bluetooth Status in Mainline Kernel == | == Bluetooth Status in Mainline Kernel == | ||
Line 540: | Line 491: | ||
== M-Shield == | == M-Shield == | ||
− | For M-Shield AES | + | For M-Shield AES acceleration is needed updated signed bootloader X-Loader. Without it M-Shield crashing. SHA1 and MD5 acceleration work also without updating bootloader. |
− | More info on: http://maemo.org/community/maemo-developers/n900_aes_and_sha1-md5_hw_acceleration_drivers/ | + | More info on: http://maemo.org/community/maemo-developers/n900_aes_and_sha1-md5_hw_acceleration_drivers/<br /> |
+ | Files are reuploaded at TMO thread: http://talk.maemo.org/showthread.php?p=1478502#post1478502 | ||
== U-Boot == | == U-Boot == | ||
Line 576: | Line 528: | ||
There is an open source flasher application called 0xFFFF, which is working with the Nokia N900. | There is an open source flasher application called 0xFFFF, which is working with the Nokia N900. | ||
− | * Git repository is on: https:// | + | * Git repository is on: https://github.com/pali/0xffff |
* Info & discussion is on: http://talk.maemo.org/showthread.php?t=87996 | * Info & discussion is on: http://talk.maemo.org/showthread.php?t=87996 | ||
* 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 ) | * Gentoo Ebuild is available in ixit overlay (emerge -av sys-apps/0xffff::ixit ) | ||
+ | |||
+ | == Wireshark Plugin for PhoNet == | ||
+ | |||
+ | * http://sre.ring0.de/isi-wireshark-plugin/ | ||
+ | |||
+ | == A-GPS == | ||
+ | |||
+ | * Uses SUPL (Secure User Plane Location) protocol (see documentation at open mobile alliance) | ||
+ | |||
+ | A-GPS works by Modem requesting CPU to open a socket (it supplies domain/ip and port) [pkg type LS_SOCKET_OPEN_REQUEST_NTF]. Then the modem will continue by requesting to send some data using pkg type LS_SOCKET_SEND_REQUEST_NTF, followed by requesting to receive some data [pkg type LS_SOCKET_RECV_REQ]. Last but not least it will request to close the socket using LS_SOCKET_CLOSE_REQUEST_NTF. The wireshark plugin mentioned above can also be used to analyse A-GPS sessions (e.g. initialized by Maemo). |
Revision as of 15:50, 23 August 2016
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 | Device Tree | Firmware | |
---|---|---|---|---|---|---|---|
Driver | DTS | ||||||
OMAP3430 | System-on-chip | OMAP34xx TRM | Yes | < 3.13 | 3.13 | ||
* Cortex A8 | CPU | ARM infocenter | Yes | < 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.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 | |||
* cpuidle | CPUidle C-states for RX-51 | code | v4.6-rc1 | N/A | |||
* cpufreq | CPUfreq MPU OPP values (with overclock) for RX-51 | code | N/A | N/A | CPUfreq without overclock | ||
* M-Shield AES | omap-aes | AES HW acceleration (needs updated X-Loader) | code | 2.6.37-rc1 | 3.13 | 3.13-rc3 (disabled) | |
* M-Shield SHA1/MD5 | omap-sham | SHA1 and MD5 HW acceleration | code | 2.6.35-rc1 | 4.2-rc1 | 4.1-rc2 | |
* IOMMU | omap-iommu | OMAP3 IO Memory Management Unit | OMAP34xx TRM | Yes | 3.15 | ||
* OMAP 3 Camera ISP | omap3-isp | OMAP3 Camera Chip Connection Bus | OMAP34xx TRM | 2.6.39-rc1 (broken) | 4.1-rc1 | ||
* OMAP DSS | omapdss | Video HW abstraction layer | OMAP34xx TRM | Yes | 3.15 | ||
* OMAP DRM | omapdrm | KMS video driver | N/A | 3.3-rc1 | N/A | ||
* TMS320 C64x | tidspbridge | DSP (also called IVA 2+) | datasheet | No (removed in v3.17-rc1 broken since 3.13-rc2) | No | ||
* * | DSP patches for Maemo/N900 | code | WIP | N/A | |||
* PowerVR SGX530 | pvrsrvkm omaplfb | OpenGL ES and OpenVG acceleration | kernel code (userspace is closed) | Code exists, upstreaming not possible | N/A | ||
* OMAP Watchdog | omap_wdt | Watchdog | OMAP34xx TRM | 3.8 | < 3.13 | 3.13 | |
* OMAP MMC/SD/SDIO | omap_hsmmc | eMMC | OMAP34xx TRM | Yes | < 3.13 | 3.13-rc3 | |
* OMAP MMC/SD/SDIO | omap_hsmmc | SD/MMC card | OMAP34xx TRM | Yes | < 3.13 | 3.13 | |
* | omap_hsmmc slot-name | OMAP34xx TRM | 4.7-rc1 4.7-rc1 | currently not needed | |||
* temp | ti-soc-thermal | OMAP34xx temperature sensor | code | v4.4-rc1 | v4.4-rc1 | v4.6-rc1 | |
TI TWL4030 | twl-core | multifunction (I2C) | TPS65950 TRM | N/A | < 3.13 | 3.13 | |
* | ??? | Audio | part of TI TWL4030 | Yes | 3.13 | ||
* | twl4030-vibra | Vibrator | part of TI TWL4030 | Yes | < 3.13 | 3.13 | |
* | rtc-twl | Real-Time Clock | part of TI TWL4030 | Yes | < 3.13 | 3.13 | |
* | twl4030_wdt | Watchdog | part of TI TWL4030 | 3.8 | < 3.13 | 3.13 | |
* | twl4030_keypad | Keypad | part of TI TWL4030 | 2.6.33 | 3.14 | 3.15 | |
* | twl4030_pwrbutton | Power Button | part of TI TWL4030 | Yes | 3.14 | 3.14 | |
* | twl4030_madc | Analog Digital Converter | part of TI TWL4030 | Yes | 3.15 | 3.16 | |
musb | musb | USB | Yes | Yes | Yes | ||
* | Forced host mode (via debugfs) | WIP | N/A | ||||
GPIO | gpio-keys | Camera button | N/A | Yes | < 3.13 | 3.13 | |
Taos TSL2563 | tsl2563 | Ambient light sensor | datasheet | 2.6.33 | 3.14 | 3.15 | |
LP5523 | leds-lp5523 | LED driver | documentation | 2.6.37-rc2 | 3.13 | 3.13 | |
Sony ACX565AKM | panel-sony-acx565akm | LCD panel | code | 2.6.35 | 3.15 | ||
TI TSC2005 | tsc2005 | Touchscreen controller | datasheet | 2.6.39-rc1 | 3.16 | 3.16 | |
* | Sysfs node for disabling device | datasheet | No | N/A | |||
WL1251 | wl1251_spi wl1251 | 802.11b/g WiFi | code | 2.6.31 | 3.15-rc1 | 3.16 | wl1251-fw.bin wl1251-nvs.bin |
* | Packet injection support | code | 3.14 | N/A | |||
* | Permanent mac address | code | WIP | N/A | |||
* | Bluetooth coexistence mode configuration | code | WIP | N/A | |||
Si4713 | radio-si4713 si4713-i2c | FM transmitter | datasheet | 2.6.32 | 3.19 | 3.19 | |
TPA6130a2 | snd-soc-tpa6130a2 | Headphone amplifier | datasheet | 2.6.33 | 3.13-rc1 | 3.13 | |
TLV320AIC3X | snd-soc-tlv320aic3x | Digital audio data serial | ti.com | 2.6.25 | 3.13 | 3.13 | |
Board | snd-soc-rx51 | Sound SoC Wiring | N/A | Yes | 3.16 | 3.16 | |
* | All sound alsa switches and channels | In maemo fremantle kernel | No | N/A | |||
GPIO | gpio-keys | Proximity sensor | N/A | 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 | 3.16 | 3.16 | |
Modem | n900-modem | modem PM etc. | code | 3.16 | 3.16 | 3.16 | |
* ssi-protocol | ssi_protocol | HSI client driver used by N900 | code | 3.16 | N/A | ||
* cmt-speech | cmt_speech | HSI client driver used by N900 | code | 4.1-rc1 | N/A | ||
* TI NaviLink NL5350 | GPS (via Phonet modem protocol) | reveng | Userspace gps2.c | ||||
* | A-GPS | Uses SUPL | Client SUPL application: http://www.tajuma.com/supl/index.html | ||||
rx51_battery | rx51_battery | Battery design capacity, battery temperature | code | 3.8 | 3.17 | 3.19 | |
bq27200 | bq27x00_battery | Battery monitor chip | documentation | 2.6.28 | < 3.13 | 3.13 | |
isp1707a | isp1704_charger | USB charger detector | datasheet | 2.6.37-rc1 | 3.14 | 3.15 | |
bq24150a | bq2415x_charger | Battery charger | documentation | 3.8 | 3.14 | 3.15 | |
OneNAND | onenand omap2 | Flash memory | code | 2.6.15 | < 3.13 | 3.13 | |
LIS302DL | lis3lv02d_i2c lis3lv02d | Accelerometers | datasheet | 2.6.32 | 4.1-rc1 | 4.1-rc1 | |
ADP 1653 | adp1653 | Flash Torch | datasheet | 3.1-rc1 | 4.2-rc1 | v4.6-rc1 | |
STM VS6555 | smiapp | Front Webcam | datasheet | 3.4-rc4 (broken) | 4.0-rc1 | No | No firmware needed |
ET8EK8 | et8ek8 | Main Camera | datasheet | WIP (broken) | No, depends on omap3isp | Firmware was integrated into driver (it was only data structure) | |
AD5820 | ad5820 | Autofocus | datasheet for AD5821, which may be similar | WIP | No, depends on omap3isp | ||
BCM2048 | hci_h4p | Bluetooth | old code | No (removed in v3.18-rc1) 3.15 (staging) | No | bcmfw.bin | |
* | radio-bcm2048 | FM/RDS receiver | old code | 3.14 (staging) | No | ||
IR Diode on PWM GPIO | ir-rx51 | Infrared/CIR transmitter | N/A | 3.7-rc1 [1] | 4.8-rc1 | ||
omap3-rom-rng | omap3-rom-rng | OMAP3 ROM Random Number Generator support | code | 3.13-rc2 | 3.16 | currently not needed |
Kernel git repository for N900
There is git repository for upstream linux kernel with all N900 patches.
https://github.com/pali/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
root problems in recent mainline
In recent mainline (cca 3.16+), it is impossible to use nfsroot over usb0 device. There's patch from Tony Lindgren fixing that.
Also for some strange reason, mmcblk? devices do not work for root filesystem. They work fine when mounted during runtime.
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 acceleration is needed updated signed bootloader X-Loader. Without it M-Shield crashing. SHA1 and MD5 acceleration work also without updating bootloader.
More info on: http://maemo.org/community/maemo-developers/n900_aes_and_sha1-md5_hw_acceleration_drivers/
Files are reuploaded at TMO thread: http://talk.maemo.org/showthread.php?p=1478502#post1478502
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://github.com/pali/0xffff
- Info & discussion is on: http://talk.maemo.org/showthread.php?t=87996
- Packages are available in Debian & Ubuntu (apt-get install 0xffff)
- Gentoo Ebuild is available in ixit overlay (emerge -av sys-apps/0xffff::ixit )
Wireshark Plugin for PhoNet
A-GPS
- Uses SUPL (Secure User Plane Location) protocol (see documentation at open mobile alliance)
A-GPS works by Modem requesting CPU to open a socket (it supplies domain/ip and port) [pkg type LS_SOCKET_OPEN_REQUEST_NTF]. Then the modem will continue by requesting to send some data using pkg type LS_SOCKET_SEND_REQUEST_NTF, followed by requesting to receive some data [pkg type LS_SOCKET_RECV_REQ]. Last but not least it will request to close the socket using LS_SOCKET_CLOSE_REQUEST_NTF. The wireshark plugin mentioned above can also be used to analyse A-GPS sessions (e.g. initialized by Maemo).