Neo 1973 hardware

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (removed the mentioning of android - useless there)
(Exchg bootloader with U-Boot)
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Box}}
+
{{Neo1973}}
  
[[Openmoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973]] phone is the first hardware platform to take advantage of Openmoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.
+
Openmoko is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973]] phone is the first hardware platform to take advantage of Openmoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.
  
 
'''Note that this page is about the first Openmoko phone which is now discontinued. See details on the second Openmoko phone at this page - [[Neo FreeRunner GTA02 Hardware]].'''
 
'''Note that this page is about the first Openmoko phone which is now discontinued. See details on the second Openmoko phone at this page - [[Neo FreeRunner GTA02 Hardware]].'''
Line 21: Line 21:
  
 
== Main components ==
 
== Main components ==
=== Processor ===
 
The main Processor (CPU) of the Neo1973 is a Samsung S3C2410AL-26 (Capable of running up to 266 MHz)
 
  
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2410 S3C2410.htm]
+
{|
* User Manual: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26537 2410UserManual.pdf]
+
|-
* Core: ARM920T
+
! style="width:250px" | Component
* Instruction Set: ARMv4
+
! Chip or Info
* BSDL File: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26554 S3C2410_BGA_BSDLJTAGFILE.bsd]
+
|-
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA01Bv4/gpio.txt
+
| ''' Main Components '''
 
+
|
=== Flash ===
+
|-
64MB Samsung NAND flash (K9F1208U0B) attached to S3C2410 NAND controller.
+
| Processor
 
+
| [[Samsung S3C2410]]
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=158&partnum=K9F1208U0B]
+
|-
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NANDFlash/SLC_SmallBlock/512Mbit/K9F1208U0B/ds_k9f1208x0b_rev03.pdf]
+
| NAND-Flash
* Connected to: S3C2410 NAND controller
+
| 64MB into [[Samsung K9F1208U0B]]
 
+
|-
This is the only flash memory in the device.  The S3C2410 boots directly from nand, using the [[S3C2410 Steppingstone]].
+
| SDRAM
 
+
| 128MB from the 2 [[Samsung K4M511633C]]
We only use free software, no proprietary flash file systems.  For a full description of how it is used, see [[NAND bad blocks]]
+
|-
 
+
| [[GSM]]/[[GPRS]]
=== RAM ===
+
| Texas Instruments Calypso based, probably [[TI Calypso D751992AZHH]]
128MB SDRAM (2x Samsung K4M511633C) attached to S3C2410 SDRAM controller
+
|-
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&partnum=K4M511633C]
+
| [[GPS]]/[[AGPS]]
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M511633C/ds_k4m511633c.pdf]
+
| [[Hammerhead PMB 2520]].
* Connected to: S3C2410
+
|-
 
+
| microSD-Card
=== GSM/GPRS ===
+
| Supported throught the [[Samsung_S3C2410]]
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.
+
|-
 
+
| LCD
* Connected to: S3C2410 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace
+
|
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch
+
|-
* Accessible GSM/GPRS antenna jack (if battery cover is removed)
+
|    LCD Module (LCM)
 
+
| [[TPO TD028TTEC1]] module  
==== CALYPSO digital baseband ====
+
|-
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2410.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.
+
| style='vertical-align:top' |     Touch Screen
 
+
| More info, see [[TPO TD028TTEC1]]
==== TWL3014 analog baseband ====
+
|-
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12295&contentId=4703 TWL3014]
+
| Stylus
 
+
| Seemingly identical to [http://cgi.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen-h7_W0QQitemZ280089656134QQihZ018QQcategoryZ48677QQrdZ1QQcmdZViewItem this one on ebay]
==== TRF6151 RF Transceiver ====
+
|-
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12296&contentId=4701 TRF6151] <br>
+
| Bluetooth
GPRS Class12/CS4 <br>
+
|
 
+
|-
=== [[Hardware:AGPS|AGPS]] ===
+
| &nbsp;&nbsp; Bluetooth module
Hammerhead PMB 2520 AGPS from Global Locate.
+
| [[Delta DFBM-CS320 Class2 Module]]
 
+
|-
* Product Homepage: [http://www.globalocate.com/SEMICONDUCTORS/SEMI_HAMMER_Frameset.htm Hammerhead]
+
| Bluetooth Headset
* Connected to: S3C2410 UART2 (full-uart, RxD, TxD, CTS, RTS) /dev/ttySAC1 in userspace
+
| This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.
* Driver: Implemented as a binary with NMEA output suitable for the gpsd daemon ([[gpsd]])
+
|-
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch
+
| style='vertical-align:top' | Vibrator
* Externally-accessible GPS antenna connector of type MMCX
+
|
 
+
The binary driver is available - see [[GLLIN]].
+
Efforts to reverse engineer the protocol are partially detailed in [[Hammerhead/Protocol]], these have stalled since the announcement that [[FreeRunner]] will use a different GPS.
+
 
+
=== microSD-Card ===
+
The Neo1973 has one microSD aka Transflash slot.
+
It supports SDHC.  MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].
+
* Connected to: S3C2410 MMC/SD controller
+
* Mounted to: /media/card
+
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c_mci.patch
+
* [[Supported microSD cards]]
+
* Specifications: [http://www.sdcard.org/confirm/confirm_memorycard.aspx SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]
+
 
+
=== LCD Module (LCM) ===
+
This is a 2.8" diagonal (1.7" x 2.27" - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module (283 DPI), using a Toshiba JBT6K74 TFT LCD Driver Chipset.
+
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]
+
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch
+
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch
+
* Connected to: S3C2410 Display Controller and S3C2410 SPI Interface channel 1
+
* Backlight controllable via /sys/class/backlight/gta01-bl
+
 
+
==== Touch Screen ====
+
* Connected to: S3C2410 TS controller
+
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch
+
 
+
==== Stylus ====
+
 
+
Seemingly identical to [http://cgi.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen-h7_W0QQitemZ280089656134QQihZ018QQcategoryZ48677QQrdZ1QQcmdZViewItem this one on ebay]
+
 
+
=== Bluetooth ===
+
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4 (V2.0+EDR).
+
 
+
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]
+
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]
+
* Driver: Stock Linux Kernel BlueZ
+
* Connected to: S3C2410 USB Host controller (OHCI)
+
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch
+
 
+
=== Vibrator ===
+
 
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch
 
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch
 
* Connected to: S3C2410 GPIO
 
* Connected to: S3C2410 GPIO
 
* Controllable via /sys/class/leds/gta01:vibrator
 
* Controllable via /sys/class/leds/gta01:vibrator
 
+
|-
=== USB Host ===
+
| USB Host  
The USB Host controller is inside the S3C2410
+
| inside the [[Samsung S3C2410]]
* Driver: Stock Linux kernel ohci_hcd
+
|-
 
+
| USB Device  
=== USB Device ===
+
| inside the [[Samsung S3C2410]]
The USB Device controller is inside the S3C2410
+
|-
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch
+
| style='vertical-align:top' | I2C Devices
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use
+
| The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.
* 1200mAh lithium battery charges when connected to powered host.
+
* Mini-B connector [http://www.cypressindustries.com/enlarge.asp?Img=products/images/ccmusbb-32005-601.gif this one].
+
* This can be used as a USB host: [[Neo1973_USB_host]]
+
 
+
=== I2C Devices ===
+
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.
+
 
Please see [[I2C | Neo I2C Devices]] for more information & a list of devices & the addresses currently in use & documented for the Neo1973.
 
Please see [[I2C | Neo I2C Devices]] for more information & a list of devices & the addresses currently in use & documented for the Neo1973.
 +
|-
 +
| Audio
 +
| See also: [[Neo1973 Audio Subsystem]]
 +
|-
 +
| &nbsp;&nbsp; Wolfson Codec
 +
| [[WM8753]]
 +
|-
 +
| &nbsp;&nbsp; Stereo Amplifier
 +
| [[LM4857]]
 +
|-
 +
| &nbsp;&nbsp; Analog wired Headset
 +
| [[Analog wired Headset]]
 +
|-
 +
| [[Neo_1973_GTA01_Power_Management|Power Management]]
 +
| [[Philips PCF50606]]
 +
|-
 +
| Battery
 +
| [[Neo1973 Battery]]
 +
|-
 +
| style='vertical-align:top' | Buttons
 +
|
 +
* [[Neo1973 Power Button|The Power Button]]
 +
* [[Neo1973 AUX Button|The "Aux" button]]
 +
|-
 +
| Case
 +
| [[Neo1973 case schematics]]
 +
|}
  
=== Audio ===
+
<!--
See also: [[Neo1973 Audio Subsystem]]
+
Todo for [[User:dolfje]] (please do not remove):
 +
* Add info of sdcard slot (=Transflash slot)
 +
* Add info of the vibrators to a new wikipage
 +
-->
  
==== Wolfson Codec ====
+
== Alternate cases ==
 
+
''Main article: [[WM8753]]''
+
 
+
There's a [[WM8753]] Wolfson Microelectronics ''codec'' (This is not a "smart" codec that can interpret MP3/... it is a simple dumb "sound card".
+
 
+
==== Stereo Amplifier ====
+
There's a National Semiconductor [[LM4857]] Stereo Amplifier at the analog audio output of the WM8753
+
 
+
* Product Homepage: [http://www.national.com/pf/LM/LM4857.html LM4857.html]
+
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4857.pdf LM4857.pdf]
+
* Connects to: S3C2410 I2C (Control)
+
 
+
==== Analog wired Headset ====
+
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.
+
 
+
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.
+
 
+
Pinout: [http://lists.openmoko.org/pipermail/community/2008-March/013791.html]
+
 
+
<pre><nowiki>
+
base = ground
+
speaker left  (internal impedance 33R) to ground. (+jackinsert detection)
+
speaker right (internal impedance 33R) to ground.
+
tip = mic electret condenser type, to ground.
+
      bias (power for mic) 2K2 from +3.3v(wolfson codec)
+
      (+HoldButton shortcircuit to ground)
+
</nowiki></pre>
+
 
+
==== Bluetooth Headset ====
+
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.
+
 
+
=== Power Management ===
+
A Philips PCF50606 is used for [[Neo1973_Power_Management|power management]].
+
 
+
* Data Sheet: [http://www.nxp.com/acrobat/literature/9397/75009763.pdf PCF50606/605]
+
* User Manual: [http://www.rockbox.org/twiki/pub/Main/DataSheets/pcf50606.pdf pcf50606.pdf]
+
* Connected to: S3C2410 via I2C, client address is 0x08.
+
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-pcf50606.patch
+
 
+
=== Battery ===
+
The [[Neo1973 Battery]] is compatible with a Nokia BL5C battery.
+
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.
+
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.
+
 
+
=== Buttons ===
+
The Neo1973 features two buttons:
+
# [[Neo1973 Power Button|The Power Button]]
+
# [[Neo1973 AUX Button|The "Aux" button]]
+
 
+
=== Alternate cases ===
+
 
A number of alternate case designs have been suggested and requested.
 
A number of alternate case designs have been suggested and requested.
 
[[Neo1973 case schematics]]
 
 
 
[[Alternate Neo1973 case designs]]
 
[[Alternate Neo1973 case designs]]
  
== History ==
+
== Hardware revisions==
=== GTA01 ===
+
{{Main|GTA01 revisions}}
This is the most simple, non-bluetooth version of the prototype.
+
 
+
==== GTA01v3 ====
+
First generation of prototypes that was given to internal OpenMoko software developers.
+
 
+
Unfortunately not useful at all due to non-working touchscreen.
+
 
+
* ATAG_REVISION: 0x0000130
+
 
+
==== GTA01v4 ====
+
Second generation of prototypes that was given to [[User:HaraldWelte|Harald]] +[[User:Mickey|Mickey]].
+
 
+
Unfortunately still not useful due to half-working touchscreen.
+
 
+
* ATAG_REVISION: 0x00000140
+
 
+
=== GTA01B ===
+
This is the bluetooth-enabled fork of GTA01
+
 
+
==== GTA01Bv2 ====
+
This is the first produced version of the bluetooth-enabled version.
+
 
+
* ATAG_REVISION: 0x00000220
+
 
+
==== GTA01Bv3 ====
+
This is the second produced version of the bluetooth-enabled version. It contains mainly GPS-related fixes.
+
 
+
* ATAG_REVISION: 0x00000230
+
 
+
This is the version that is shipped in [[Neo1973#Phase_0_.28GTA01Bv3.29|Phase 0]].
+
 
+
===== GTA01Bv3 Errata =====
+
====== PMU unable to resume from suspend ======
+
Due to use of wrong GPIO/EINT pin, the PMU cannot wake-up the phone after suspend.  This means, specifically, '''the following events can not bring the phone back from suspend-to-ram''':
+
* PMU RTC Alarm
+
* Power button press
+
* Charger events (charger insertion/removal/error)
+
* Low battery
+
 
+
====== Stand-by time extremely low ======
+
This is due to a design bug resulting in at least 30mA additional standby current, since we cannot properly switch off the power supply to the S3C2410 PLL's.  There is nothing we can do to change this with post-production fixes.  GTA01Bv4 will address this issue.
+
 
+
====== GSM doesn't resume phone from suspend ======
+
The GSM modem currently doesn't signalize a wakeup interrupt to the S3C2410 in case there's some noteworthy event, such as incoming call, loss of network, incoming SMS or the like.
+
 
+
This is a serious issue, but can be fixed with a GSM Modem Firmware update.
+
 
+
====== GSM Sidetone too loud ======
+
The local feedback sidetone (see [http://en.wikipedia.org/wiki/Sidetone]) is too loud.  This will be addressed in a GSM firmware update
+
 
+
====== Bad block ======
+
Due to an error in the production process, the factory-programmed NAND bad block information has been lost.  This means that some blocks in the flash will wear out rapidly, which might become as bad as rendering the device unusable.
+
 
+
==== GTA01Bv4 ====
+
This is the version that is being shipped in [[Neo1973#Phase_1_.28GTA01Bv4.29|Phase 1]]
+
 
+
===== Looks =====
+
This is what the GTA01Bv4 PCB looks like without the shielding cans, which will be fitted later.
+
[[Image:Gta01b_v4_front.jpg|thumb|400px|Component side]]
+
[[Image:Gta01b_v4_back.jpg|thumb|400px|Display side]]
+
 
+
===== Errata =====
+
 
+
There were two versions of GTA01Bv4: some were given away (red mainboard), and some were sold (green mainboard). The given-away have [[one transistor too many]].
+
 
+
===== Changes from GTA01Bv3 =====
+
# Fix all Errata items from GTA01Bv3
+
# Add I2C, SPI and one irq and wakeup capable GPIO pin to debug port plus have test pads for all these signals (for soldering wires directly on the pcb)
+
# Fix a number of production related details and minor hardware details that are not user-visible
+
 
+
===GTA02===
+
The [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]] is now called the Neo FreeRunner and shipped within the "Mass Market launch" (see [http://wiki.openmoko.org/wiki/Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|timeline]).
+
It is a new main release with [[Neo1973:_GTA01Bv4_versus_GTA02_comparison|features added]]
+
  
 
===Debug Connector===
 
===Debug Connector===
This is the connector used to connect the [[Debug Board]] and possibly other hardware.
+
{{Main|Debug Board v2}}
 
+
Connections are:
+
* 39 - GND
+
* 38 - STDI
+
* 37 - _RESET
+
* 36 - STMS
+
* 35 - STCK
+
* 34 - STDO
+
* 33 - GSM_EN
+
* 29 - _STRST
+
* 19 - X_I2C_SCL (H-TP4703)
+
* 18 - X_I2C_SDA (H-TP4704)
+
* 17 - SPI_CLK0
+
* 16 - SPI_MOSI0
+
* 15 - SPI-MISO0
+
* 14 - SS0
+
* 13 - EINT3 (H-TP4705)
+
* 3 - MODEM_TXD (H-TP4701)
+
* 2 - MODEM_RXD (H-TP4702)
+
 
+
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].
+
  
 
===Test points===
 
===Test points===
Line 300: Line 136:
  
 
== Distinguishing hardware revisions ==
 
== Distinguishing hardware revisions ==
=== Inside the [[Bootloader]] ===
+
=== Inside the [[U-Boot]] ===
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.
+
Every hardware revision has its own u-boot image type.  Thus, the U-Boot has the revision hard-coded.
 
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)
 
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)
  
Line 333: Line 169:
 
[http://people.openmoko.org/tony_tu/GTA01/certificate/NCC/ NCC test report]
 
[http://people.openmoko.org/tony_tu/GTA01/certificate/NCC/ NCC test report]
  
[[Category:Hardware]]
 
[[Category:Hardware Support]]
 
 
[[Category:Neo1973 Hardware]]
 
[[Category:Neo1973 Hardware]]

Latest revision as of 09:25, 10 February 2012

Neo 1973
sold out

(Other phones)

Openmoko is a software distribution stack that sits on top of a hardware platform. The Neo1973 phone is the first hardware platform to take advantage of Openmoko. You can find specifics of the Neo1973 Hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.

Note that this page is about the first Openmoko phone which is now discontinued. See details on the second Openmoko phone at this page - Neo FreeRunner GTA02 Hardware.

display (top) side
component (back) side

Contents

[edit] User experiences of Phase 0 hardware

Wishlist:Neo1973_P0_Review

[edit] User reports of robustness

User experiences - drops onto concrete - ... Neo1973 Robustness

[edit] Physical Dimensions

  • 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)
  • 184 +/- 5 g (6.5 ounces)
  • For the purposes of acquiring/cutting a properly sized screen protector, the display hole of the case is about 45 x 59 mm, while the top cover internal frame can house up to a 53 x 74 mm protector; sizes much larger than the display hole would obviously necessitate removing the front cover for installation.
  • A Useful size comparison between the Neo1973, iPhone, Motorola A1200 and the SEM600i can be seen at sizeasy

[edit] Main components

Component Chip or Info
Main Components
Processor Samsung S3C2410
NAND-Flash 64MB into Samsung K9F1208U0B
SDRAM 128MB from the 2 Samsung K4M511633C
GSM/GPRS Texas Instruments Calypso based, probably TI Calypso D751992AZHH
GPS/AGPS Hammerhead PMB 2520.
microSD-Card Supported throught the Samsung_S3C2410
LCD
   LCD Module (LCM) TPO TD028TTEC1 module
   Touch Screen More info, see TPO TD028TTEC1
Stylus Seemingly identical to this one on ebay
Bluetooth
   Bluetooth module Delta DFBM-CS320 Class2 Module
Bluetooth Headset This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.
Vibrator
USB Host inside the Samsung S3C2410
USB Device inside the Samsung S3C2410
I2C Devices The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.

Please see Neo I2C Devices for more information & a list of devices & the addresses currently in use & documented for the Neo1973.

Audio See also: Neo1973 Audio Subsystem
   Wolfson Codec WM8753
   Stereo Amplifier LM4857
   Analog wired Headset Analog wired Headset
Power Management Philips PCF50606
Battery Neo1973 Battery
Buttons
Case Neo1973 case schematics


[edit] Alternate cases

A number of alternate case designs have been suggested and requested. Alternate Neo1973 case designs

[edit] Hardware revisions

Main article: GTA01 revisions


[edit] Debug Connector

Main article: Debug Board v2


[edit] Test points

  • GSM RTS - H-TP1531
  • GSM CTS - H-TP1530
  • GSM Modem on - R10818 - ungrounded end
  • GSM_EN - R1501 (not present) - ungrounded end

[edit] Distinguishing hardware revisions

[edit] Inside the U-Boot

Every hardware revision has its own u-boot image type. Thus, the U-Boot has the revision hard-coded. The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)

[edit] Inside the Kernel

The kernel receives the ATAG_REVISION during bootup, and saves its contents in the "system_rev" global variable.

[edit] From Userspace

The kernel exports the system_rev variable in /proc/cpuinfo as "Revision :" line.

??? So does GTA01Bv4 equal the cat /proc/cpuinfo output of

Hardware        : GTA01
Revision        : 0240

[edit] Approval

  • CE compliance is needed before a product can be sold in the EU. The CE mark indicates that a product complies to the relevant legislation, defined in the harmonised standards. This refers also to the most relevant, for the Neo1973, Directive 89/336/EEC on electromagnetic compatibility (EMC is the art of assuring electromagnetic compatibility between products). The standards are defined by CENELEC (European Committee for Electrotechnical Standardization), but not verified by any authority. It is the responsibilty of the manufacturer to convince himself that a product is in compliance, and is obligated to be able to prove this (with relevant technical documentation) for a specific product to the authorities on request. Whether the current Phase 1 devices are actually tested against the directives are unknown, no documentation has been disclosed, other than the fact that the devices bear the CE mark.

[edit] GTA01 FCC test report

FCC test report

[edit] GTA01 CE test report

CE test report

[edit] GTA01 NCC test report

For Taiwan Import usage:

NCC test report

Personal tools

Template:Box

Openmoko is a software distribution stack that sits on top of a hardware platform. The Neo1973 phone is the first hardware platform to take advantage of Openmoko. You can find specifics of the Neo1973 Hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.

Note that this page is about the first Openmoko phone which is now discontinued. See details on the second Openmoko phone at this page - Neo FreeRunner GTA02 Hardware.

display (top) side
component (back) side

User experiences of Phase 0 hardware

Wishlist:Neo1973_P0_Review

User reports of robustness

User experiences - drops onto concrete - ... Neo1973 Robustness

Physical Dimensions

  • 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)
  • 184 +/- 5 g (6.5 ounces)
  • For the purposes of acquiring/cutting a properly sized screen protector, the display hole of the case is about 45 x 59 mm, while the top cover internal frame can house up to a 53 x 74 mm protector; sizes much larger than the display hole would obviously necessitate removing the front cover for installation.
  • A Useful size comparison between the Neo1973, iPhone, Motorola A1200 and the SEM600i can be seen at sizeasy

Main components

Processor

The main Processor (CPU) of the Neo1973 is a Samsung S3C2410AL-26 (Capable of running up to 266 MHz)

Flash

64MB Samsung NAND flash (K9F1208U0B) attached to S3C2410 NAND controller.

  • Product Homepage: [1]
  • Data Sheet: [2]
  • Connected to: S3C2410 NAND controller

This is the only flash memory in the device. The S3C2410 boots directly from nand, using the S3C2410 Steppingstone.

We only use free software, no proprietary flash file systems. For a full description of how it is used, see NAND bad blocks

RAM

128MB SDRAM (2x Samsung K4M511633C) attached to S3C2410 SDRAM controller

  • Product Homepage: [3]
  • Data Sheet: [4]
  • Connected to: S3C2410

GSM/GPRS

The GSM (including GPRS) modem is Texas Instruments Calypso based.

CALYPSO digital baseband

Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs. However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2410. On that interface, GSM 07.05, GSM 07.10 and other standardized protocols are used.

TWL3014 analog baseband

Product Homepage: TWL3014

TRF6151 RF Transceiver

Product Homepage: TRF6151
GPRS Class12/CS4

AGPS

Hammerhead PMB 2520 AGPS from Global Locate.

The binary driver is available - see GLLIN. Efforts to reverse engineer the protocol are partially detailed in Hammerhead/Protocol, these have stalled since the announcement that FreeRunner will use a different GPS.

microSD-Card

The Neo1973 has one microSD aka Transflash slot. It supports SDHC. MicroSD slot is under battery.

LCD Module (LCM)

This is a 2.8" diagonal (1.7" x 2.27" - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module (283 DPI), using a Toshiba JBT6K74 TFT LCD Driver Chipset.

Touch Screen

Stylus

Seemingly identical to this one on ebay

Bluetooth

Delta DFBM-CS320 Class2 Module, using CSR BlueCore4 (V2.0+EDR).

Vibrator

USB Host

The USB Host controller is inside the S3C2410

  • Driver: Stock Linux kernel ohci_hcd

USB Device

The USB Device controller is inside the S3C2410

I2C Devices

The I2C is a simple communication standard intended to move small amounts of data a few inches between chips. Please see Neo I2C Devices for more information & a list of devices & the addresses currently in use & documented for the Neo1973.

Audio

See also: Neo1973 Audio Subsystem

Wolfson Codec

Main article: WM8753

There's a WM8753 Wolfson Microelectronics codec (This is not a "smart" codec that can interpret MP3/... it is a simple dumb "sound card".

Stereo Amplifier

There's a National Semiconductor LM4857 Stereo Amplifier at the analog audio output of the WM8753

Analog wired Headset

There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.

The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.

Pinout: [5]

base = ground 
speaker left  (internal impedance 33R) to ground. (+jackinsert detection)
speaker right (internal impedance 33R) to ground.
tip = mic electret condenser type, to ground. 
      bias (power for mic) 2K2 from +3.3v(wolfson codec) 
      (+HoldButton shortcircuit to ground)

Bluetooth Headset

This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.

Power Management

A Philips PCF50606 is used for power management.

Battery

The Neo1973 Battery is compatible with a Nokia BL5C battery. According to this post on the mailinglist. Photo of the battery inside the Neo1973.

Buttons

The Neo1973 features two buttons:

  1. The Power Button
  2. The "Aux" button

Alternate cases

A number of alternate case designs have been suggested and requested.

Neo1973 case schematics

Alternate Neo1973 case designs

History

GTA01

This is the most simple, non-bluetooth version of the prototype.

GTA01v3

First generation of prototypes that was given to internal OpenMoko software developers.

Unfortunately not useful at all due to non-working touchscreen.

  • ATAG_REVISION: 0x0000130

GTA01v4

Second generation of prototypes that was given to Harald +Mickey.

Unfortunately still not useful due to half-working touchscreen.

  • ATAG_REVISION: 0x00000140

GTA01B

This is the bluetooth-enabled fork of GTA01

GTA01Bv2

This is the first produced version of the bluetooth-enabled version.

  • ATAG_REVISION: 0x00000220

GTA01Bv3

This is the second produced version of the bluetooth-enabled version. It contains mainly GPS-related fixes.

  • ATAG_REVISION: 0x00000230

This is the version that is shipped in Phase 0.

GTA01Bv3 Errata
PMU unable to resume from suspend

Due to use of wrong GPIO/EINT pin, the PMU cannot wake-up the phone after suspend. This means, specifically, the following events can not bring the phone back from suspend-to-ram:

  • PMU RTC Alarm
  • Power button press
  • Charger events (charger insertion/removal/error)
  • Low battery
Stand-by time extremely low

This is due to a design bug resulting in at least 30mA additional standby current, since we cannot properly switch off the power supply to the S3C2410 PLL's. There is nothing we can do to change this with post-production fixes. GTA01Bv4 will address this issue.

GSM doesn't resume phone from suspend

The GSM modem currently doesn't signalize a wakeup interrupt to the S3C2410 in case there's some noteworthy event, such as incoming call, loss of network, incoming SMS or the like.

This is a serious issue, but can be fixed with a GSM Modem Firmware update.

GSM Sidetone too loud

The local feedback sidetone (see [6]) is too loud. This will be addressed in a GSM firmware update

Bad block

Due to an error in the production process, the factory-programmed NAND bad block information has been lost. This means that some blocks in the flash will wear out rapidly, which might become as bad as rendering the device unusable.

GTA01Bv4

This is the version that is being shipped in Phase 1

Looks

This is what the GTA01Bv4 PCB looks like without the shielding cans, which will be fitted later.

Component side
Display side
Errata

There were two versions of GTA01Bv4: some were given away (red mainboard), and some were sold (green mainboard). The given-away have one transistor too many.

Changes from GTA01Bv3
  1. Fix all Errata items from GTA01Bv3
  2. Add I2C, SPI and one irq and wakeup capable GPIO pin to debug port plus have test pads for all these signals (for soldering wires directly on the pcb)
  3. Fix a number of production related details and minor hardware details that are not user-visible

GTA02

The GTA02 is now called the Neo FreeRunner and shipped within the "Mass Market launch" (see [7]). It is a new main release with features added

Debug Connector

This is the connector used to connect the Debug Board and possibly other hardware.

Connections are:

  • 39 - GND
  • 38 - STDI
  • 37 - _RESET
  • 36 - STMS
  • 35 - STCK
  • 34 - STDO
  • 33 - GSM_EN
  • 29 - _STRST
  • 19 - X_I2C_SCL (H-TP4703)
  • 18 - X_I2C_SDA (H-TP4704)
  • 17 - SPI_CLK0
  • 16 - SPI_MOSI0
  • 15 - SPI-MISO0
  • 14 - SS0
  • 13 - EINT3 (H-TP4705)
  • 3 - MODEM_TXD (H-TP4701)
  • 2 - MODEM_RXD (H-TP4702)

Information from [8].

Test points

  • GSM RTS - H-TP1531
  • GSM CTS - H-TP1530
  • GSM Modem on - R10818 - ungrounded end
  • GSM_EN - R1501 (not present) - ungrounded end

Distinguishing hardware revisions

Inside the Bootloader

Every hardware revision has its own u-boot image type. Thus, the bootloader has the revision hard-coded. The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)

Inside the Kernel

The kernel receives the ATAG_REVISION during bootup, and saves its contents in the "system_rev" global variable.

From Userspace

The kernel exports the system_rev variable in /proc/cpuinfo as "Revision :" line.

??? So does GTA01Bv4 equal the cat /proc/cpuinfo output of

Hardware        : GTA01
Revision        : 0240

Approval

  • CE compliance is needed before a product can be sold in the EU. The CE mark indicates that a product complies to the relevant legislation, defined in the harmonised standards. This refers also to the most relevant, for the Neo1973, Directive 89/336/EEC on electromagnetic compatibility (EMC is the art of assuring electromagnetic compatibility between products). The standards are defined by CENELEC (European Committee for Electrotechnical Standardization), but not verified by any authority. It is the responsibilty of the manufacturer to convince himself that a product is in compliance, and is obligated to be able to prove this (with relevant technical documentation) for a specific product to the authorities on request. Whether the current Phase 1 devices are actually tested against the directives are unknown, no documentation has been disclosed, other than the fact that the devices bear the CE mark.

GTA01 FCC test report

FCC test report

GTA01 CE test report

CE test report

GTA01 NCC test report

For Taiwan Import usage:

NCC test report