Samsung S3C2442B

From Openmoko

Revision as of 15:32, 23 August 2008 by Dolfje (Talk | contribs)

Jump to: navigation, search
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.opatnet.cz/elektronika/datasheet/U/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

Personal tools
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.opatnet.cz/elektronika/datasheet/U/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