		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
