View source for Neo 1973 hardware

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Templates used on this page:

Return to Neo 1973 hardware.

Personal tools
display (top) side
component (back) side

User experiences of Phase 0 hardware


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)

Main components


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


64MB Samsung NAND flash (K9F1208U0B) attached 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


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


The GSM/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.

-- xkr47: Could we at least know the GPRS capabilitiy class and the GPRS multislot class ?

TWL3014 analog baseband

Product Homepage: TWL3014

TRF6151 RF Transceiver

Product Homepage: TRF6151
Single-chip transceiver with quad-band support
GPRS Class12/CS4 compliant


Hammerhead AGPS from Global Locate.

This will not have a working driver till at least mid April.


The Neo1973 has one microSD aka Transflash slot. It should support SDHC, but this has not been tested. If this works, cards >2G should work with no problems. As there are no microSD cards over 2G at the moment, it hasn't been tested. MicroSD slot is under battery.

LCD Display Module (LCM)

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

Touch Screen


Seemingly identical to this one on ebay


Delta DFBM-CS320 Class2 Module, using CSR BlueCore4


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


See also: Neo1973 Audio Subsystem

Wolfson Codec

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.

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.


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


The Neo1973 features two buttons:

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



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


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


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

Unfortunately still not useful due to half-working touchscreen.

  • ATAG_REVISION: 0x00000140


This is the bluetooth-enabled fork of GTA01


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

  • ATAG_REVISION: 0x00000220


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 [1]) 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.


This is the version that will be shipped in Phase 1

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

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.