Neo FreeRunner Hardware

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Development)
(Added links to schematic and board layout PDFs)
Line 5: Line 5:
  
 
If you are looking for general hardware overview please look at the [[Neo FreeRunner]] page.
 
If you are looking for general hardware overview please look at the [[Neo FreeRunner]] page.
 +
 +
Board layout [http://downloads.openmoko.org/schematics/GTA02/Component-placement_Freerunner-GTA02-MB-A6.pdf] and schematics [http://downloads.openmoko.org/schematics/GTA02/Schematics_Freerunner-GTA02_A5-A7cumulative_public_RC0.pdf] for GTA02 have been published, PDF format.
  
 
See also the [[Neo FreeRunner GTA02 Hardware Requirements]] used in making these component selections.
 
See also the [[Neo FreeRunner GTA02 Hardware Requirements]] used in making these component selections.

Revision as of 20:52, 16 August 2008


This is the detailed list of the hardware components used in Neo FreeRunner (development codename GTA02), Openmoko Inc.'s second smartphone. Differences between various GTA02 revisions is also described.

If you are looking for general hardware overview please look at the Neo FreeRunner page.

Board layout [1] and schematics [2] for GTA02 have been published, PDF format.

See also the Neo FreeRunner GTA02 Hardware Requirements used in making these component selections.

Contents

Photos

PCB layout

Gta02a5 pcba cs1.png

1. NOR Flash
2. SDRAM
3. GPS
4. CPU/NAND Flash
5. GPU
6. PMU
7. Audio Codec

8. Audio Amplifier
9. USB Host Power
10. Analog Baseband
11. Digital Baseband
12. GSM SRAM/Flash
13. GSM RF TRanceiver
14. RF AMP

GTA02 Hardware Component Selection

Physical Dimensions

  • 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)
  • 110 +/- 5 g (4 ounces) without battery

Main components

Processor

The main Processor (CPU) is a Samsung S3C2442B B54 (running at 400 MHz)

GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt

Feature
  • Processor
  • 64MB SDRAM
  • 256MB NAND connected to the NAND controller
  • USB Host
  • USB Device
Specification
  • Core: ARM920T
  • Instruction Set: ARMv4
Product Homepage http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442
Product User Manuel http://210.118.57.197/Products/Semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/SC32442/um_s3c2442b_rev12.pdf
Product Datasheet http://www.amebasystems.com/downloads/hardware/datasheets/freerunner/SoC/um_s3c2442b_rev12.pdf
Driver
Freedom Requirements Docs available from Samsung, but not easily. Only after registering and qualifying. here is a copy. um_s3c2442b_rev12.pdf]

For information about the Evaluation board look here.

For information about the difference between Samsung S3C2440A and Samsung S3C2442B, see Samsung_S3C2440A vs Samsung_S3C2442B


Neo FreeRunner

Main article: Neo_FreeRunner_GTA02_Hardware


One difference is that the CPU voltage limits are specified variably from 400MHz (1.5V) to 50MHz (1V) the current at these speeds is not mentioned. The FreeRunner includes a variant that can be clocked up to 500MHz, however a) current consumption is insane at this frequency and b) various other components can't cope with the peripheral clock at this speed. It is therefore safe to assume that the highest frequency for the Neo FreeRunner is 400MHz.


USB Host

  • Driver: Stock Linux kernel ohci_hcd
  • USB version 1.1
  • Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1
  • A net EN_USBHOST is controlled by PMU GPIO "GPO", this one signal when asserted (high)
    • enables generation of 5V for external device using a charge pump
    • enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode
    • DISABLES the path for USB power to charge the battery

It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.

  • Connect 0V, d+, d-, +5 to your USB device
  • Connect a 15k ohm resistor between d+ and ground
  • Connect a 15k ohm resistor between d- and ground
  • Connect 0V, +5 to your >1A power source
    • If your power source was not the Openmoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.

In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -> PMU charging path is deasserted. This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted. The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.

USB Device

Power Management

A NXP PCF50633 04 N3 is used for power management.

Flash

NAND Flash

256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller

  • Product Homepage: S3C2442
  • Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package
  • Connected to: S3C2442 NAND controller

NOR Flash

16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.

SDRAM

128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller

GSM/GPRS

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

CALYPSO ASIC 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 S3C2442. On that interface, GSM 07.05, GSM 07.10 and other standardized protocols are used.

The NDAd documentation for the calypso, register definition and hardware definition was leaked onto a public forum on the 4th of March by persons or persons unknown. The legality of reading these files may vary according to your local laws, as may generating code from them.


  • Calypso D751992AZHH
  • The firmware within GTA02 should be moko6 or later (internal code name)

TI TWL3025BZGMR analog baseband

TI TRF6151 (GSM/PCS) RF Transceiver

GPRS Class12/CS4

AGPS

u-blox ANTARIS 4 ATR0635 chip

Neo FreeRunner

Main article: Neo_FreeRunner_GTA02_Hardware


Accelerometers

Two ST LIS302DL

Graphics/3D Acceleration

Smedia Glamo 3362.

microSD

The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller

LCD Module (LCM)

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

Touch Screen

Bluetooth Module

Delta DFBM-CS320 Class2 Module, using CSR BlueCore4

Bluetooth Audio

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

WiFi Module

Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)

Vibrator

USB Host

The USB Host controller is inside the S3C2442

  • Driver: Stock Linux kernel ohci_hcd
  • USB version 1.1
  • Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1
  • A net EN_USBHOST is controlled by PMU GPIO "GPO", this one signal when asserted (high)
    • enables generation of 5V for external device using a charge pump
    • enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode
    • DISABLES the path for USB power to charge the battery

It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.

  • Connect 0V, d+, d-, +5 to your USB device
  • Connect a 15k ohm resistor between d+ and ground
  • Connect a 15k ohm resistor between d- and ground
  • Connect 0V, +5 to your >1A power source
    • If your power source was not the Openmoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.

In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -> PMU charging path is deasserted. This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted. The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.

USB Device

The USB Device controller is inside the S3C2442

I2C Devices

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

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

Mono Amplifier

There's a National Semiconductor LM4853 Mono Amplifier at the analog audio output of the WM8753

  • Product Homepage: LM4853.html
  • Data Sheet: LM4853.pdf
  • Connects to (LM4853 pin):
    • S3C2442 GPIO: HP_IN, AMP_SHUT (shutdown);
    • Wolfson WM8753: LOUTL (LEFTIN), LOUTR (RIGHTIN);
    • speaker4102: (LEFTOUT/BLTOUT-, BLTOUT+);
    • headset-jack: ring 2 (RIGHTOUT), ring 3 (LEFTOUT/BLTOUT-) via 1uF-33R each

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.

ring
1(base): GND
2: right out
3: left out
4(tip): mic + HOLD-button(press:short to GND)

Buttons

The Neo1973 GTA02 features two buttons:

Case

The case for the FreeRunner is all black, as seen on the front page of the wiki.

Openmoko has released the CAD files for the case schematics for the Openmoko Neo1973 (GTA01) and Neo FreeRunner. These are available in the original Pro/E (.asm/.prt) format and alternative formats created from the originals.

We welcome your assistance in providing other formats. If you are able to convert CAD files from Pro/E format to other formats, please contact [3]. We are especially interested in the DXF format and in images rendered from these files.

Browse CAD directory

Accessory

Stylus

Using 4 in 1 laser pen

Battery

The Neo FreeRunner (GTA02) Battery is mechanically and electrically compatible with the Neo1973 GTA01 Battery, as well as limited compatibility with a Nokia BL6C battery. According to this post on the mailinglist. Photo of the battery inside the Neo1973.

microSD Card

GTA02 should come with one of following microSD card

Charger

AKII Technology Charger

  • Model: A10P1-05MP
  • Input: 100-240v~ /0.3A
  • Output: +5v up to 2.0A
  • Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification

Hardware revisions

Main article: GTA02 revisions


Debug Board

Main article: Debug_Board_v3


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.

Certification

FCC

CE

NCC

Personal tools
Key pages on:
Neo FreeRunner


This is the detailed list of the hardware components used in Neo FreeRunner (development codename GTA02), Openmoko Inc.'s second smartphone. Differences between various GTA02 revisions is also described.

If you are looking for general hardware overview please look at the Neo FreeRunner page.

Board layout [1] and schematics [2] for GTA02 have been published, PDF format.

See also the Neo FreeRunner GTA02 Hardware Requirements used in making these component selections.

Photos

PCB layout

Gta02a5 pcba cs1.png

1. NOR Flash
2. SDRAM
3. GPS
4. CPU/NAND Flash
5. GPU
6. PMU
7. Audio Codec

8. Audio Amplifier
9. USB Host Power
10. Analog Baseband
11. Digital Baseband
12. GSM SRAM/Flash
13. GSM RF TRanceiver
14. RF AMP

GTA02 Hardware Component Selection

Physical Dimensions

  • 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)
  • 110 +/- 5 g (4 ounces) without battery

Main components

Processor

The main Processor (CPU) is a Samsung S3C2442B B54 (running at 400 MHz)

GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt

Feature
  • Processor
  • 64MB SDRAM
  • 256MB NAND connected to the NAND controller
  • USB Host
  • USB Device
Specification
  • Core: ARM920T
  • Instruction Set: ARMv4
Product Homepage http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442
Product User Manuel http://210.118.57.197/Products/Semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/SC32442/um_s3c2442b_rev12.pdf
Product Datasheet http://www.amebasystems.com/downloads/hardware/datasheets/freerunner/SoC/um_s3c2442b_rev12.pdf
Driver
Freedom Requirements Docs available from Samsung, but not easily. Only after registering and qualifying. here is a copy. um_s3c2442b_rev12.pdf]

For information about the Evaluation board look here.

For information about the difference between Samsung S3C2440A and Samsung S3C2442B, see Samsung_S3C2440A vs Samsung_S3C2442B


Neo FreeRunner

Main article: Neo_FreeRunner_GTA02_Hardware


One difference is that the CPU voltage limits are specified variably from 400MHz (1.5V) to 50MHz (1V) the current at these speeds is not mentioned. The FreeRunner includes a variant that can be clocked up to 500MHz, however a) current consumption is insane at this frequency and b) various other components can't cope with the peripheral clock at this speed. It is therefore safe to assume that the highest frequency for the Neo FreeRunner is 400MHz.


USB Host

  • Driver: Stock Linux kernel ohci_hcd
  • USB version 1.1
  • Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1
  • A net EN_USBHOST is controlled by PMU GPIO "GPO", this one signal when asserted (high)
    • enables generation of 5V for external device using a charge pump
    • enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode
    • DISABLES the path for USB power to charge the battery

It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.

  • Connect 0V, d+, d-, +5 to your USB device
  • Connect a 15k ohm resistor between d+ and ground
  • Connect a 15k ohm resistor between d- and ground
  • Connect 0V, +5 to your >1A power source
    • If your power source was not the Openmoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.

In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -> PMU charging path is deasserted. This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted. The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.

USB Device

Power Management

A NXP PCF50633 04 N3 is used for power management.

Flash

NAND Flash

256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller

  • Product Homepage: S3C2442
  • Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package
  • Connected to: S3C2442 NAND controller

NOR Flash

16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.

SDRAM

128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller

GSM/GPRS

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

CALYPSO ASIC 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 S3C2442. On that interface, GSM 07.05, GSM 07.10 and other standardized protocols are used.

The NDAd documentation for the calypso, register definition and hardware definition was leaked onto a public forum on the 4th of March by persons or persons unknown. The legality of reading these files may vary according to your local laws, as may generating code from them.


  • Calypso D751992AZHH
  • The firmware within GTA02 should be moko6 or later (internal code name)

TI TWL3025BZGMR analog baseband

TI TRF6151 (GSM/PCS) RF Transceiver

GPRS Class12/CS4

AGPS

u-blox ANTARIS 4 ATR0635 chip

Neo FreeRunner

Main article: Neo_FreeRunner_GTA02_Hardware


Accelerometers

Two ST LIS302DL

Graphics/3D Acceleration

Smedia Glamo 3362.

microSD

The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller

LCD Module (LCM)

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

Touch Screen

Bluetooth Module

Delta DFBM-CS320 Class2 Module, using CSR BlueCore4

Bluetooth Audio

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

WiFi Module

Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)

Vibrator

USB Host

The USB Host controller is inside the S3C2442

  • Driver: Stock Linux kernel ohci_hcd
  • USB version 1.1
  • Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1
  • A net EN_USBHOST is controlled by PMU GPIO "GPO", this one signal when asserted (high)
    • enables generation of 5V for external device using a charge pump
    • enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode
    • DISABLES the path for USB power to charge the battery

It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.

  • Connect 0V, d+, d-, +5 to your USB device
  • Connect a 15k ohm resistor between d+ and ground
  • Connect a 15k ohm resistor between d- and ground
  • Connect 0V, +5 to your >1A power source
    • If your power source was not the Openmoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.

In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -> PMU charging path is deasserted. This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted. The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.

USB Device

The USB Device controller is inside the S3C2442

I2C Devices

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

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

Mono Amplifier

There's a National Semiconductor LM4853 Mono Amplifier at the analog audio output of the WM8753

  • Product Homepage: LM4853.html
  • Data Sheet: LM4853.pdf
  • Connects to (LM4853 pin):
    • S3C2442 GPIO: HP_IN, AMP_SHUT (shutdown);
    • Wolfson WM8753: LOUTL (LEFTIN), LOUTR (RIGHTIN);
    • speaker4102: (LEFTOUT/BLTOUT-, BLTOUT+);
    • headset-jack: ring 2 (RIGHTOUT), ring 3 (LEFTOUT/BLTOUT-) via 1uF-33R each

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.

ring
1(base): GND
2: right out
3: left out
4(tip): mic + HOLD-button(press:short to GND)

Buttons

The Neo1973 GTA02 features two buttons:

Case

The case for the FreeRunner is all black, as seen on the front page of the wiki.

Openmoko has released the CAD files for the case schematics for the Openmoko Neo1973 (GTA01) and Neo FreeRunner. These are available in the original Pro/E (.asm/.prt) format and alternative formats created from the originals.

We welcome your assistance in providing other formats. If you are able to convert CAD files from Pro/E format to other formats, please contact [3]. We are especially interested in the DXF format and in images rendered from these files.

Browse CAD directory

Accessory

Stylus

Using 4 in 1 laser pen

Battery

The Neo FreeRunner (GTA02) Battery is mechanically and electrically compatible with the Neo1973 GTA01 Battery, as well as limited compatibility with a Nokia BL6C battery. According to this post on the mailinglist. Photo of the battery inside the Neo1973.

microSD Card

GTA02 should come with one of following microSD card

Charger

AKII Technology Charger

  • Model: A10P1-05MP
  • Input: 100-240v~ /0.3A
  • Output: +5v up to 2.0A
  • Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification

Hardware revisions

Main article: GTA02 revisions


Debug Board

Main article: Debug_Board_v3


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.

Certification

FCC

CE

NCC