This patch series adds support for the Freescale i.MX27 processor. It
adds support for two i.MX27 boards and some i.MX31 based boards:

- Freescale MX27ADS (i.MX27)
- Phytec PCM038 (i.MX27)
- Freescale MX31ADS (i.MX31)
- Freescale MX31LITE (i.MX31)
- Phytec PCM037 (i.MX31)

Tested configurations:

- Phytec pcm038_defconfig (runtime)
- Phytec pcm037_defconfig (runtime)
- Freescale imx27ads_defconfig (runtime)
- Freescale mx31ads_defconfig (compiletime)
- LogicPD mx31litekit_defconfig (compiletime)

Open TODOs:

- get Signed-Off for patches/drivers_mtd_cfi_probe_broken_mirrorbit.diff

Changes in linux-2.6-20080630-ptxmxc12:

- spellings fixed
- iomux for MXC2 and MXC3 added
- gpio handling unified for both CPU families
- UART baudrate calculation fixed
- add clock API to the i.MX1 family to unify drivers for the
  whole architecture
- simplify locking in clock management
- debug-macro.S support for MXC2/3
- imx27 CPU support is now a separate patch

Changes in linux-2.6-20080616-ptxmxc11:

- add clock framework for MX31
- add clock framework for ARCH=imx, needed to switch i.MX serial driver
  to use clock support
- add patch to remove board specific headers from architecture headers
- remove flags field from struct clk, it was unused
- get rid of static initialization tables in i.MX serial driver
- add basic bsp for phyCORE-i.MX31

Changes in linux-2.6-20080523-ptxmxc10:

- rebased against current git (75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4)
- fix checkpatch.pl warnings and outputs

Changes in linux-2.6-20080522-ptxmxc9:

- Write to a read only string fixed in clock management
- nowhere used clk_get_usecount() in clock management removed
- rebased against current git (78b58e549a3098a8c1408d0214bd25e5d5e7a3a3)
- changed from -p0 to -p1
- removed obsolete separate_platform_part patch

Changes in linux-2.6-20080521-ptxmxc8:

- rebased against current git (8033c6e9736c29cce5f0d0abbca9a44dffb20c39)
- removed all patches which are already in upstream

Changes in linux-2.6.25-rc7-ptxmxc6:

- made patch series board independend, in a way that one kernel can run
  on several i.MX27 boards
- patch header cleanup
- some global changes are moved to patch mx2_mach_support_build.diff
  to keep the buildsystem as clean as possible until all vital
  files are present.
- mx2_mach_support_build.diff moved to the end of the patch list

Changes in linux-2.6.25.rc6-ptxmxc5:

- unify UART support for i.MX1, i.MX2 and i.MX3
  -> as a result the serial console is now very early up and running
- unify timer support for i.MX1, i.MX2 and i.MX3
- separation of i.MX2/i.MX3 improved. This patch series should no longer
  break any i.MX3 build
- updated to linux-2.6.25-rc7
- rework of GPIO setup as Russell suggested
- i.MX3 targets added for reference

Changes in linux-2.6.25.rc6-ptxmxc5:

- updated to 2.6.25-rc6
- timer supports now i.MX1 and i.MX2
- clock rate calculation was changed to avoid a "rate" member in the clock
  structure. Its easier now to change clock parents.

Remaining issues:

- clock handling. The current clock handling is very centric to one clock each.
  But to switch the CPU clock on i.MX27 for example needs more clocks to
  switch *at once* to avoid illegal conditions (discovered with the imx27
  CPU clock frequency scaling driver, currently not part of this patch stack)

- The FEC driver comes from the 2.4 era. It doesn't support the driver
  model correctly. It 'somehow' works, but definitely has to be reworked.
  Its part of this patch stack for reference only (to support NFS root)

The full patch set can also be dowloaded from out web site at:

http://www.pengutronix.de/software/linux-i.MX/download/i.MX27/v2.6/

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

---
