==========================
S3C2412 ARM Linux Overview
==========================

Introduction
------------

  The S3C2412 is part of the S3C24XX range of ARM9 System-on-Chip CPUs
  from Samsung. This part has an ARM926-EJS core, capable of running up
  to 266MHz (see data-sheet for more information)


Clock
-----

  The core clock code provides a set of clocks to the drivers, and allows
  for source selection and a number of other features.


Power
-----

  No support for suspend/resume to RAM in the current system.


DMA
---

  No current support for DMA.


GPIO
----

  There is support for setting the GPIO to input/output/special function
  and reading or writing to them.


UART
----

  The UART hardware is similar to the S3C2440, and is supported by the
  s3c2410 driver in the drivers/serial directory.


NAND
----

  The NAND hardware is similar to the S3C2440, and is supported by the
  s3c2410 driver in the drivers/mtd/nand/raw directory.


USB Host
--------

  The USB hardware is similar to the S3C2410, with extended clock source
  control. The OHCI portion is supported by the ohci-s3c2410 driver, and
  the clock control selection is supported by the core clock code.


USB Device
----------

  No current support in the kernel


IRQs
----

  All the standard, and external interrupt sources are supported. The
  extra sub-sources are not yet supported.


RTC
---

  The RTC hardware is similar to the S3C2410, and is supported by the
  s3c2410-rtc driver.


Watchdog
--------

  The watchdog hardware is the same as the S3C2410, and is supported by
  the s3c2410_wdt driver.


MMC/SD/SDIO
-----------

  No current support for the MMC/SD/SDIO block.

IIC
---

  The IIC hardware is the same as the S3C2410, and is supported by the
  i2c-s3c24xx driver.


IIS
---

  No current support for the IIS interface.


SPI
---

  No current support for the SPI interfaces.


ATA
---

  No current support for the on-board ATA block.


Document Author
---------------

Ben Dooks, Copyright 2006 Simtec Electronics
