This patch series adds support for the Freescale i.MX27 processors.
It adds basic support for two i.MX27 based implementations:
 - Freescale MX27ADS
 - Phytec PCM038

This version is no more MX27ADS centric. You now can build and run one shared
kernel for both boards without interference.

Things happend since last review:
 - DMA support removed, as it seems completly broken
 - 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 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)

- gpio_request_mux() can fail but doesn't check it's return value; as it
  is called in a lot of places, we need another solution. A possibility
  would be to define a function that gets an array of GPIO properties
  and undos them in reverse order if something goes wrong.

- gpio definitions are error prone; it is necessary to read the data
  sheet in order to use them. Solution: could be done similar to the
  i.MX1; in that case, there is one define which is board implementor
  readable. A lot of janitorial work, so we postpone it for now...

  The original idea of the freescale patches (provide init functions on
  a per-device base) does not work, because it is possible to route
  several functions to *different* pins.

- 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 UART driver is redundant with the i.MX1. Should be reworked. Dito
  for the i2c and spi controllers and the timer.

- UART driver: the console part becomes active only after the devices
  have been setup; this happens really late, so it is not possible to see
  something if it goes wrong before.

- UART driver: the probe function doesn't free all ressources in case of
  an error.

- Currently this patch set breaks the imx31 based boards

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/linux-2.6.25.rc6-ptxmxc5.tar.gz

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

---

