Difference between revisions of "N900"

From eLinux.org
Jump to: navigation, search
(Kernel Status: Add missing kernel drivers names)
(Kernel Status: Update link to omap34xx_temp driver)
(57 intermediate revisions by 5 users not shown)
Line 2: Line 2:
  
 
== Kernel Status ==
 
== Kernel Status ==
 +
 +
also see: [[N900/Changelog]]
  
 
Colors:
 
Colors:
Line 57: Line 59:
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4748a7240284b0f68bd47a66365c2cd561939830 3.13-rc1]
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4748a7240284b0f68bd47a66365c2cd561939830 3.13-rc1]
|bgcolor="greenyellow"| [http://marc.info/?l=linux-omap&m=139302413627536&w=2 queued for 3.14-rc]
+
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139302413627536&w=2 3.14-rc6]
 
|bgcolor="cyan"| N/A
 
|bgcolor="cyan"| N/A
 
|-
 
|-
Line 76: Line 78:
 
|bgcolor="lime"| 3.13
 
|bgcolor="lime"| 3.13
 
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138505988009856&w=2 3.13-rc3]
 
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138505988009856&w=2 3.13-rc3]
 +
|-
 +
| * IOMMU || omap-iommu || OMAP3 IO Memory Management Unit
 +
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM]
 +
|bgcolor="lime" colspan="2"| Yes
 +
|bgcolor="cyan" colspan="2"| N/A
 +
|bgcolor="lime" colspan="2"| 3.15
 
|-
 
|-
 
| * OMAP 3 Camera ISP || omap3-isp || OMAP3 Camera Chip Connection Bus
 
| * OMAP 3 Camera ISP || omap3-isp || OMAP3 Camera Chip Connection Bus
 
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM]
 
|bgcolor="lime"| [http://www.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZV.zip OMAP34xx TRM]
|bgcolor="lime" colspan="2"| 2.6.39-rc1
+
|bgcolor="yellow" colspan="2"| 2.6.39-rc1 (broken)
 
|bgcolor="cyan" colspan="2"| N/A
 
|bgcolor="cyan" colspan="2"| N/A
 
|bgcolor="red" colspan="2"| No
 
|bgcolor="red" colspan="2"| No
 
|-
 
|-
| * OMAP DSS || ??? || 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" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="cyan" colspan="2"| N/A
 
|bgcolor="cyan" colspan="2"| N/A
|bgcolor="yellow" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 PATCHv3 (2014-01-21)]
+
|bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15]
 
|-
 
|-
| * OMAP DRM || ??? || KMS video driver
+
| * OMAP DRM || omapdrm || KMS video driver
 
|bgcolor="cyan"| N/A
 
|bgcolor="cyan"| N/A
 
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=drivers/staging/omapdrm 3.3-rc1]
 
|bgcolor="lime" colspan="2"| [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=drivers/staging/omapdrm 3.3-rc1]
|bgcolor="cyan" colspan="2"| N/A
+
|bgcolor="cyan" colspan="4"| N/A
|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="lime" colspan="2"| Yes
+
|bgcolor="red" colspan="2"| 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="cyan" colspan="2"| N/A (Userspace: gst-dsp)
 
|bgcolor="cyan" colspan="2"| N/A (Userspace: gst-dsp)
 
|bgcolor="red" colspan="2"| No
 
|bgcolor="red" colspan="2"| No
Line 136: Line 143:
 
|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 || omap34xx_temp || OMAP34xx temperature sensor
 +
|bgcolor="greenyellow"| code
 +
|bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900/source/v2.6.32-nokia:drivers/hwmon/omap34xx_temp.c Yes]
 +
|bgcolor="red"| No
 +
|bgcolor="cyan" colspan="2"| N/A
 +
|bgcolor="red" colspan="2"| No
 
|-
 
|-
 
| TI TWL4030 || twl-core || multifunction (I2C)
 
| TI TWL4030 || twl-core || multifunction (I2C)
Line 175: Line 189:
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/122 3.14]
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/122 3.14]
|bgcolor="greenyellow"| queued for 3.15
+
|bgcolor="lime"| 3.15
 
|-
 
|-
 
| * || twl4030_pwrbutton || Power Button
 
| * || twl4030_pwrbutton || Power Button
Line 182: Line 196:
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/8/458 3.14]
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/8/458 3.14]
|bgcolor="greenyellow"| queued for 3.15
+
|bgcolor="lime"| 3.14
 
|-
 
|-
 
| * || twl4030_madc || Analog Digital Converter
 
| * || twl4030_madc || Analog Digital Converter
Line 188: Line 202:
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
|bgcolor="yellow"| [https://lkml.org/lkml/2014/2/25/627 RFCv3 (2014-02-26)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/3/15/155 3.15]
|bgcolor="red"| No
+
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=139518444704345&w=2 3.16]
 
|-
 
|-
 
| GPIO || gpio-keys || Camera button
 
| GPIO || gpio-keys || Camera button
Line 203: Line 217:
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime" colspan="2"| Yes
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/23/47 3.14]
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/23/47 3.14]
|bgcolor="greenyellow"| queued for 3.15
+
|bgcolor="lime"| 3.15
 
|-
 
|-
 
| LP5523 || leds-lp5523 || LED driver
 
| LP5523 || leds-lp5523 || LED driver
Line 216: Line 230:
 
|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="yellow" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 part of omapdss]
+
|bgcolor="lime" colspan="2"| [http://marc.info/?l=linux-omap&m=139030195215292&w=2 3.15]
 
|-
 
|-
 
| TI TSC2005 || tsc2005 || Touchscreen controller
 
| TI TSC2005 || tsc2005 || Touchscreen controller
Line 222: Line 236:
 
|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/2013/12/5/607 WIP (2013-12-05)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16]
|bgcolor="red"| No
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/21/451 3.16]
 
|-
 
|-
 
| WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi
 
| WL1251 || wl1251_spi wl1251 || 802.11b/g WiFi
Line 229: Line 243:
 
|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="yellow"| [https://lkml.org/lkml/2013/12/5/649 WIP (2013-12-05)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2013/12/5/649 3.15-rc1]
|bgcolor="red"| No
+
|bgcolor="lime"| [http://www.spinics.net/lists/linux-omap/msg104474.html 3.16]
 
|bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity wl1251-fw.bin wl1251-nvs.bin]
 
|bgcolor="lime"| [https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ti-connectivity wl1251-fw.bin wl1251-nvs.bin]
 
|-
 
|-
Line 236: Line 250:
 
|bgcolor="yellow"| code
 
|bgcolor="yellow"| code
 
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/10/26/148 3.14]
 
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/10/26/148 3.14]
 +
|bgcolor="cyan" colspan="4"| N/A
 +
|-
 +
| * || || Permanent mac address
 +
|bgcolor="yellow"| code
 +
|bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/35 Yes]
 +
|bgcolor="red"| No
 +
|bgcolor="cyan" colspan="4"| N/A
 +
|-
 +
| * || || Bluetooth coexistence mode configuration
 +
|bgcolor="yellow"| code
 +
|bgcolor="yellow"| [https://lkml.org/lkml/2013/12/8/33 Yes]
 +
|bgcolor="red" | No
 
|bgcolor="cyan" colspan="4"| N/A
 
|bgcolor="cyan" colspan="4"| N/A
 
|-
 
|-
Line 242: Line 268:
 
|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="red" colspan="2"| No
+
|bgcolor="greenyellow"| [https://lkml.org/lkml/2014/11/10/671 media-next (2014-11-15)]
 +
|bgcolor="greenyellow"| [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 arm-soc/for-next (2014-11-22)]
 
|-
 
|-
 
| TPA6130a2 || snd-soc-tpa6130a2 || Headphone amplifier
 
| TPA6130a2 || snd-soc-tpa6130a2 || Headphone amplifier
Line 261: Line 288:
 
|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="red" colspan="2"| No
|bgcolor="red"| No
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/308 3.16]
|bgcolor="yellow"| [https://lkml.org/lkml/2013/10/27/167 RFC (2013-10-27)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/4/28/302 3.16]
|bgcolor="red"| No
 
 
|-
 
|-
 
| * || || All sound alsa switches and channels
 
| * || || All sound alsa switches and channels
Line 289: Line 315:
 
|bgcolor="cyan" colspan="4"| N/A
 
|bgcolor="cyan" colspan="4"| N/A
 
|-
 
|-
| * hsi_char || hsi_char || HSI client driver used by N900
+
| Omap SSI || omap-ssi || Synchronous Serial Interface
 
|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"| [https://lkml.org/lkml/2014/5/10/167 3.16]
 
|bgcolor="gray" colspan="2"| No
 
|bgcolor="gray" colspan="2"| No
|bgcolor="yellow"| [https://lkml.kernel.org/r/1387150085-23173-1-git-send-email-sre@debian.org RFCv4 (2013-12-16)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16]
|bgcolor="red"| No
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/165 3.16]
 
|-
 
|-
| * ssi_protocol || ssi_protocol || HSI client driver used by N900
+
| Modem || n900-modem || modem PM etc.
 
|bgcolor="yellow"| code
 
|bgcolor="yellow"| code
|bgcolor="yellow" colspan="2"| [https://lkml.kernel.org/r/1387150085-23173-1-git-send-email-sre@debian.org RFCv4 (2013-12-16)]
+
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2014/5/10/167 3.16]
 
|bgcolor="gray" colspan="2"| No
 
|bgcolor="gray" colspan="2"| No
|bgcolor="yellow"| [https://lkml.kernel.org/r/1387150085-23173-1-git-send-email-sre@debian.org RFCv4 (2013-12-16)]
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/167 3.16]
|bgcolor="red"| No
+
|bgcolor="lime"| [https://lkml.org/lkml/2014/5/10/166 3.16]
 
|-
 
|-
| * cmt_speech || cmt_speech || HSI client driver used by N900
+
| * ssi-protocol || ssi_protocol || HSI client driver used by N900
 
|bgcolor="yellow"| code
 
|bgcolor="yellow"| code
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/source/d5da1f5357345ad270a491ce285c78dcf901a7ff:drivers/hsi/clients/cmt_speech.c Yes]
+
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2014/5/10/167 3.16]
|bgcolor="red"| No
 
 
|bgcolor="gray" colspan="2"| No
 
|bgcolor="gray" colspan="2"| No
|bgcolor="red" colspan="2"| No
+
|bgcolor="cyan" colspan="2"| N/A
 
|-
 
|-
| Omap SSI || omap_ssi || Synchronous Serial Interface
+
| * cmt-speech || cmt_speech || HSI client driver used by N900
 
|bgcolor="yellow"| code
 
|bgcolor="yellow"| code
|bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/2/23/173 PATCHv1 (2014-02-24)]
+
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/source/d5da1f5357345ad270a491ce285c78dcf901a7ff:drivers/hsi/clients/cmt_speech.c Yes]
|bgcolor="gray" colspan="2"| No
 
|bgcolor="yellow"| [https://lkml.org/lkml/2014/2/23/173 PATCHv1 (2014-02-24)]
 
 
|bgcolor="red"| No
 
|bgcolor="red"| No
|-
 
| cmt || cmt || modem
 
|bgcolor="yellow"| code
 
|bgcolor="yellow" colspan="2"| [https://lkml.kernel.org/r/1387150085-23173-1-git-send-email-sre@debian.org RFCv4 (2013-12-16)]
 
 
|bgcolor="gray" colspan="2"| No
 
|bgcolor="gray" colspan="2"| No
|bgcolor="yellow"| [https://lkml.kernel.org/r/1387150085-23173-1-git-send-email-sre@debian.org RFCv4 (2013-12-16)]
+
|bgcolor="cyan" colspan="2"| N/A
|bgcolor="red"| No
 
 
|-
 
|-
 
| * TI NaviLink NL5350 || || GPS (via Phonet modem protocol)
 
| * TI NaviLink NL5350 || || GPS (via Phonet modem protocol)
Line 336: Line 354:
 
|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/2/25/639 PATCHv1 (2014-02-26)]
+
|bgcolor="lime"|[https://lkml.org/lkml/2014/3/1/122 3.17]
|bgcolor="red"| No
+
|bgcolor="greenyellow"|[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 arm-soc/for-next (2014-11-22)]
 
|-
 
|-
 
| bq27200 || bq27x00_battery || Battery monitor chip
 
| bq27200 || bq27x00_battery || Battery monitor chip
Line 351: Line 369:
 
|bgcolor="lime" colspan="2"| 2011-04-20
 
|bgcolor="lime" colspan="2"| 2011-04-20
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/189 3.14]
 
|bgcolor="lime"| [https://lkml.org/lkml/2013/11/30/189 3.14]
|bgcolor="greenyellow"| queued for 3.15
+
|bgcolor="lime"| 3.15
 
|-
 
|-
 
| bq24150a || bq2415x_charger || Battery charger
 
| bq24150a || bq2415x_charger || Battery charger
Line 358: Line 376:
 
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/11/19/106 3.14]
 
|bgcolor="lime" colspan="2"| [https://lkml.org/lkml/2013/11/19/106 3.14]
 
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138531187226431&w=2 3.14]
 
|bgcolor="lime"| [http://marc.info/?l=linux-omap&m=138531187226431&w=2 3.14]
|bgcolor="greenyellow"| queued for 3.15
+
|bgcolor="lime"| 3.15
 
|-
 
|-
| OneNAND || ??? || Flash memory
+
| OneNAND || onenand omap2 || Flash memory
 
|bgcolor="yellow"| code
 
|bgcolor="yellow"| code
 
|bgcolor="lime" colspan="2"| 2.6.15
 
|bgcolor="lime" colspan="2"| 2.6.15
Line 378: Line 396:
 
|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" colspan="2"| No, depends on omap3isp
+
|bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/11/16/7 RFC]
 
|-
 
|-
 
| 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="lime" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=ccfc97bdb5ae8b8edc55169ac6924e08449836ac 3.4-rc4]
+
|bgcolor="yellow" colspan="2"| [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=ccfc97bdb5ae8b8edc55169ac6924e08449836ac 3.4-rc4] (broken)
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes]
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes]
 
|bgcolor="red"| No
 
|bgcolor="red"| No
Line 390: Line 408:
 
| 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="lime"| [https://gitorious.org/linux-n900/linux-n900/source/8a80ef98885813ab38672f80b2f9548f969963a1:drivers/media/i2c/smia/et8ek8.c Yes]
+
|bgcolor="yellow"| [https://gitorious.org/linux-n900/linux-n900/source/8a80ef98885813ab38672f80b2f9548f969963a1:drivers/media/i2c/smia/et8ek8.c Yes] (broken)
 
|bgcolor="red"| No
 
|bgcolor="red"| No
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes]
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900 Yes]
Line 407: Line 425:
 
| BCM2048 || hci_h4p || Bluetooth
 
| BCM2048 || hci_h4p || Bluetooth
 
|bgcolor="yellow"| old code
 
|bgcolor="yellow"| old code
|bgcolor="yellow" colspan="2"| [https://lkml.org/lkml/2014/1/21/401 staging (queued for 3.15)]
+
|bgcolor="lime"| Yes
 +
|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="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/6aef8b21ec95e61f89cd372326d8adafafe9e244 Yes]
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/6aef8b21ec95e61f89cd372326d8adafafe9e244 Yes]
 
|bgcolor="red"| No
 
|bgcolor="red"| No
Line 415: Line 434:
 
| * || radio-bcm2048 || FM/RDS receiver
 
| * || radio-bcm2048 || FM/RDS receiver
 
|bgcolor="yellow"| old code
 
|bgcolor="yellow"| old code
|bgcolor="yellow" colspan="2"| [https://www.linuxtv.org/patch/20393/ staging (3.14-rc1)]
+
|bgcolor="greenyellow" colspan="2"| [https://www.linuxtv.org/patch/20393/ 3.14 (staging)]
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/61455fd64f72297f63189122d3746435366e1851 Yes]
 
|bgcolor="lime"| [https://gitorious.org/linux-n900/linux-n900/commit/61455fd64f72297f63189122d3746435366e1851 Yes]
 
|bgcolor="red"| No
 
|bgcolor="red"| No
Line 422: Line 441:
 
| 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="lime" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75258.html 3.7-rc1]
+
|bgcolor="yellow" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75258.html 3.7-rc1] [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/media/rc/Kconfig?id=a62a6e98c370ccca37d353a5f763b532411a4c14 (broken since v3.8-rc4)]
 
|bgcolor="lime" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75257.html 3.7-rc1]
 
|bgcolor="lime" colspan="2"| [http://www.spinics.net/lists/linux-omap/msg75257.html 3.7-rc1]
 
|bgcolor="red" colspan="2"| No
 
|bgcolor="red" colspan="2"| No
 
|-
 
|-
 
| omap3-rom-rng || omap3-rom-rng || OMAP3 ROM Random Number Generator support
 
| omap3-rom-rng || omap3-rom-rng || OMAP3 ROM Random Number Generator support
|bgcolor="yellow"| code
+
|bgcolor="greenyellow"| code
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c6b7c2108bdb0c6a17044830028a649dbaca913 3.13-rc2]
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c6b7c2108bdb0c6a17044830028a649dbaca913 3.13-rc2]
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2065e2b5bb3ec986f0f3ba044a81a136767d0b4 3.13-rc1]
 
|bgcolor="lime" colspan="2"| [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2065e2b5bb3ec986f0f3ba044a81a136767d0b4 3.13-rc1]
|bgcolor="red" colspan="2"| No
+
|bgcolor="lime" colspan="1"| [http://www.spinics.net/lists/linux-omap/msg105059.html 3.16]
 +
|bgcolor="cyan" colspan="1"| currently not needed
 
|}
 
|}
  
Line 474: Line 494:
  
 
  make INSTALL_MOD_PATH=/mnt/target modules_install
 
  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.
  
 
== Modem Status in Mainline Kernel ==
 
== Modem Status in Mainline Kernel ==
  
Missing drivers to have a working modem in the mainline kernel:
+
The modem is working in mainline kernel, but does not provide support
* omap-ssi - the modem is attached via ssi, this driver adds support for the ssi hardware of the omap processor.
+
for voice calls. For that another driver is needed, which is called
* ssi-protocol - this adds support for the protocol used to to communicate with the modem (AKA McSAAB).
+
'''cmt-speech'''. That driver is responsible for the exchange of speech data
* cmt-speech - this adds support for the protocol used to exchange peech data with the modem
+
between the modem and the omap processor.
* 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. Basic modem support (= everything except cmt-speech) is expected to be ready for 3.14 or 3.15.
+
[[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 ==
  
This is the TODO list to get the hci_h4p driver into the mainline kernel:
+
The bluetooth driver is currently available in drivers/staging/nokia_h4p. There is a TODO file in that directory, which lists the code refactoring needed to get the driver out of staging.
 +
 
 +
Apart from the things listed in that TODO file, the driver also seems to reinvent the wheel concerning the uart port. Most code in the driver simply configures the omap serial port and duplicates code in drivers/tty/serial/omap-serial.c.
 +
 
 +
[[User:Sre|sre]] thinks, that the hci protocol extension code should be put into a file similar to drivers/bluetooth/hci_ll.c, which could be called drivers/bluetooth/hci_nokia.c (hci with nokia extensions). This would result in the protocol being available as hci_uart_proto for usage in a hci-uart driver.
  
Use hdev->setup callback for firmware loading and initial setup
+
A second driver would be needed, which would be similar to drivers/bluetooth/hci_ldisc.c with the following differences:
  Note 1: Since they are all HCI commands anyway, you can nicely use the sync interface we added for that
+
* support for additional gpios
  Note 2: Example: btusb.c
+
* support to be instanciated from DT instead of hciattach
Review MAC address setup (driver, which loads config from eeprom?)
+
* support for loading bluetooth hardware address from DT
https://lkml.org/lkml/2013/10/24/375
+
* support for automatical loading of bt firmware (see btusb.c)
  
 
== M-Shield ==
 
== M-Shield ==
Line 534: Line 565:
  
 
* Git repository is on: https://gitorious.org/0xffff/0xffff
 
* Git repository is on: https://gitorious.org/0xffff/0xffff
 +
* 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 )

Revision as of 04:36, 24 December 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.

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 omapdss Video HW abstraction layer OMAP34xx TRM Yes N/A 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) 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
* temp omap34xx_temp OMAP34xx temperature sensor code Yes No N/A No
TI TWL4030 twl-core multifunction (I2C) TPS65950 TRM N/A < 3.13 3.13
* ??? Audio part of TI TWL4030 Yes Yes 3.13
* twl4030-vibra Vibrator part of TI TWL4030 Yes 2.6.39-rc1 < 3.13 3.13
* rtc-twl Real-Time Clock part of TI TWL4030 Yes N/A < 3.13 3.13
* twl4030_wdt Watchdog part of TI TWL4030 3.8 Yes < 3.13 3.13
* twl4030_keypad Keypad part of TI TWL4030 2.6.33 Yes 3.14 3.15
* twl4030_pwrbutton Power Button part of TI TWL4030 Yes Yes 3.14 3.14
* twl4030_madc Analog Digital Converter part of TI TWL4030 Yes Yes 3.15 3.16
GPIO gpio-keys Camera button N/A Yes Yes < 3.13 3.13
Taos TSL2563 tsl2563 Ambient light sensor datasheet 2.6.33 Yes 3.14 3.15
LP5523 leds-lp5523 LED driver documentation 2.6.37-rc2 3.1-rc1 3.13 3.13
Sony ACX565AKM panel-sony-acx565akm LCD panel code 2.6.35 2.6.36 3.15
TI TSC2005 tsc2005 Touchscreen controller datasheet 2.6.39-rc1 3.3-rc1 3.16 3.16
WL1251 wl1251_spi wl1251 802.11b/g WiFi code 2.6.31 2009-11-22 3.15-rc1 3.16 wl1251-fw.bin wl1251-nvs.bin
* Packet injection support code 3.14 N/A
* Permanent mac address code Yes No N/A
* Bluetooth coexistence mode configuration code Yes No N/A
Si4713 radio-si4713 si4713-i2c FM transmitter datasheet 2.6.32 Yes media-next (2014-11-15) arm-soc/for-next (2014-11-22)
TPA6130a2 snd-soc-tpa6130a2 Headphone amplifier datasheet 2.6.33 Yes 3.13-rc1 3.13
TLV320AIC3X snd-soc-tlv320aic3x Digital audio data serial ti.com 2.6.25 Yes 3.13 3.13
Board snd-soc-rx51 Sound SoC Wiring N/A Yes No 3.16 3.16
* All sound alsa switches and channels In maemo fremantle kernel No No N/A
GPIO gpio-keys Proximity sensor N/A Yes Yes < 3.13 3.13
Phonet phonet Modem protocol code 2.6.28 N/A
HSI hsi Modem Bus Framework code 3.4-rc2 N/A
Omap SSI omap-ssi Synchronous Serial Interface code 3.16 No 3.16 3.16
Modem n900-modem modem PM etc. code 3.16 No 3.16 3.16
* ssi-protocol ssi_protocol HSI client driver used by N900 code 3.16 No N/A
* cmt-speech cmt_speech HSI client driver used by N900 code Yes No No N/A
* TI NaviLink NL5350 GPS (via Phonet modem protocol) reveng Userspace gps2.c
* A-GPS No Client SUPL application: http://www.tajuma.com/supl/index.html
rx51_battery rx51_battery Battery design capacity, battery temperature code 3.8 3.8 3.17 arm-soc/for-next (2014-11-22)
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 onenand omap2 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 RFC
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 Yes No (removed in v3.18-rc1) 3.15 (staging) Yes No No bcmfw.bin
* radio-bcm2048 FM/RDS receiver old code 3.14 (staging) Yes No No
IR Diode on PWM GPIO ir-rx51 Infrared/CIR transmitter N/A 3.7-rc1 (broken since v3.8-rc4) 3.7-rc1 No
omap3-rom-rng omap3-rom-rng OMAP3 ROM Random Number Generator support code 3.13-rc2 3.13-rc1 3.16 currently not needed

Kernel git repository for N900

There is git repository for upstream linux kernel with all N900 patches.

https://gitorious.org/linux-n900/linux-n900

This git repository is used for development. All other git repositories on internet are older and does not contains all patches.

Kernel Compilation

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make rx51_defconfig
make zImage modules

DT Kernel Compilation

Make sure this is enabled in the kernel configuration:

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_REGULATOR_TWL4030=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y

Compile Kernel, Modules and DTB file:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make zImage
make modules
make omap3-n900.dtb

Create combined kernel image by appending the DTB file:

cat arch/arm/boot/zImage arch/arm/boot/dts/omap3-n900.dtb > zImage

Install Modules:

make INSTALL_MOD_PATH=/mnt/target modules_install

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.

Modem Status in Mainline Kernel

The modem is working in mainline kernel, but does not provide support for voice calls. For that another driver is needed, which is called cmt-speech. That driver is responsible for the exchange of speech data between the modem and the omap processor.

sre is currently working on getting the modem supported in the mainline kernel.

Bluetooth Status in Mainline Kernel

The bluetooth driver is currently available in drivers/staging/nokia_h4p. There is a TODO file in that directory, which lists the code refactoring needed to get the driver out of staging.

Apart from the things listed in that TODO file, the driver also seems to reinvent the wheel concerning the uart port. Most code in the driver simply configures the omap serial port and duplicates code in drivers/tty/serial/omap-serial.c.

sre thinks, that the hci protocol extension code should be put into a file similar to drivers/bluetooth/hci_ll.c, which could be called drivers/bluetooth/hci_nokia.c (hci with nokia extensions). This would result in the protocol being available as hci_uart_proto for usage in a hci-uart driver.

A second driver would be needed, which would be similar to drivers/bluetooth/hci_ldisc.c with the following differences:

  • support for additional gpios
  • support to be instanciated from DT instead of hciattach
  • support for loading bluetooth hardware address from DT
  • support for automatical loading of bt firmware (see btusb.c)

M-Shield

For M-Shield AES, SHA1 and MD5 acceleration is needed updated signed bootloader X-Loader. Without it M-Shield crashing.

More info on: http://maemo.org/community/maemo-developers/n900_aes_and_sha1-md5_hw_acceleration_drivers/

U-Boot

Instead of booting the kernel directly from NOLO (which restricts you to using exactly one kernel), U-Boot can be used as second bootloader. The Maemo kernel can be appended to U-Boot to keep the existing Maemo installation working (U-Boot must be located at the location of the Maemo kernel). The resulting boot process will end up like this: NOLO -> U-Boot -> Kernel.

Pali Rohár has been working on getting the N900 support into the mainline U-Boot:

description date status
Board Support 2012-10-29 mainline
Bootmenu Support 2013-03-07 mainline

Now all N900 patches are in upstream U-Boot mainline project (part of U-Boot 2013.04). Source code is on http://git.denx.de/?p=u-boot.git

Debian packaging for Maemo is in this git repository: https://gitorious.org/u-boot-shr/u-boot (branch maemo).

There's also a thread on talk.maemo.org, where the latest released & tested version can be found: http://talk.maemo.org/showthread.php?t=81613

More info about U-Boot on N900 is in first post.

Flashing

There is an open source flasher application called 0xFFFF, which is working with the Nokia N900.