Neo 1973 hardware
From Openmoko
HaraldWelte (Talk | contribs) (add lots of information) |
HaraldWelte (Talk | contribs) (→Vibrator) |
||
Line 81: | Line 81: | ||
* 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 | ||
=== USB Device === | === USB Device === |
Revision as of 01:21, 10 February 2007
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 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.
- 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
SD-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
Touch Screen
- Connected to: S3C2410 TS controller
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/qt2410-touchscreen.patch* Backlight Driver:
LCD Display Module (LCM)
Bluetooth
- Driver: Stock Linux Kernel BlueZ
- Connects 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 Device
The USB Device controller is inside the S3C2410
Audio
Wolfson Codec
There's a WM8573 Wolfson Microelectronics Codec.
- Connected to: S3C2410 IIS interface
- Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch
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.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.