Neo 1973 hardware
From Openmoko
Contents |
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/products/semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/S3C2410/S3C2410.htm
- User Manual: http://www.samsung.com/Products/Semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/S3C2410/2410UserManual.pdf
- BSDL File: http://www.samsung.com/Products/Semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/S3C2410/S3C2410_BGA_BSDLJTAGFILE.bsd
- GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA01Bv3/gpio.txt
Flash
64MB Samsung NAND flash (K9F1208U0B) attached to S3C2410 NAND controller.
- Product Homepage: http://www.samsung.com/products/semiconductor/NANDFlash/SLC_SmallBlock/512Mbit/K9F1208U0B/K9F1208U0B.htm
- Data Sheet: http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC_SmallBlock/512Mbit/K9F1208U0B/ds_k9f1208x0b_rev03.pdf
- 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: http://www.samsung.com/Products/Semiconductor/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M511633C/K4M511633C.htm
- Data Sheet: http://www.samsung.com/Products/Semiconductor/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M511633C/ds_k4m511633c.pdf
- Connected to: S3C2410
GSM/GPRS
The GSM/GPRS modem is Texas Instruments Calypso based.
- 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
CALYPSO digital baseband
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDA's. However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2410. On that interface, GSM 07.05, 07.10 and other standardized protocols are used.
TWL3014 analog baseband
Product Homepage: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12295&contentId=4703
TRF6151 RF Transceiver
Product Homepage: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12296&contentId=4701
AGPS
Hammerhead AGPS from Global Locate.
- Product Homepage: http://www.globallocate.com/SEMICONDUCTORS/SEMI_HAMMER_Frameset.htm
- Connected to: S3C2410 UART2 (full-uart, RxD, TxD, CTS, RTS) /dev/ttySAC1 in userspace
- Driver: Implemented as userspace agps daemon (agpsd)
- PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch
microSD-Card
The Neo1973 has one microSD aka Transflash slot.
- Connected to: S3C2410 MMC/SD controller
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c_mci.patch
- Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch
- Supported microSD cards
LCD Display Module (LCM)
This is a 2.8" 480x640 toppoly (tpo) TD028TTEC1 module, using a Toshiba JBT6K74 TFT LCD Driver Chipset.
- Homepage: http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch
- Connected to: S3C2410 Display Controller
Touch Screen
- Connected to: S3C2410 TS controller
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/qt2410-touchscreen.patch Backlight Driver:
Bluetooth
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4
- Data Sheet: http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf
- CSR Data Sheet: http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.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
- Connected to: S3C2410 GPIO
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
Audio
See also: Neo1973 Audio Subsystem
Wolfson Codec
There's a WM8753 Wolfson Microelectronics Codec.
- Product Homepage: http://www.wolfsonmicro.com/products/WM8753/
- Data Sheet: http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf
- Connected to: S3C2410 IIS interface (PCM data), S3C2410 I2C (Control)
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch
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
- Data Sheet: http://www.national.com/ds.cgi/LM/LM4857.pdf
- Connects to: S3C2410 I2C (Control)
Analog wired Headset
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashined wired headsets.
The headsets used by Motorola smartphones (A780,A1200, ...) 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.
- Data Sheet: http://www.nxp.com/acrobat/literature/9397/75009763.pdf
- User Manual: http://www.rockbox.org/twiki/pub/Main/DataSheets/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
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
GTA01Bv4
This is the version that is shipped in Phase 1
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.