Commit Graph

383 Commits

Author SHA1 Message Date
Uwe Kleine-König 66384eedd9 ARM: imx: Change the way nand devices are registered (generic part)
Instead of having a platform device defined in a devices.c and register
it in the machine file allocate it dynamically.  This reduces the size
of needed memory as the new function is discarded after init and only
the existing devices are created.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 09:00:29 +02:00
Uwe Kleine-König aa71251c5b ARM: mxc: remove paragraphs with old address of the FSF
As the kernel contains a copy of the GPL anyhow just get rid of the address
specification instead of fixing it.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 09:00:28 +02:00
Uwe Kleine-König cd57c77772 MTD: mxc_nand: make bit fields unsigned to please sparse
This fixes:

	arch/arm/plat-mxc/include/mach/mxc_nand.h:25:14: error: dubious one-bit signed bitfield
	arch/arm/plat-mxc/include/mach/mxc_nand.h:26:17: error: dubious one-bit signed bitfield

While at it make width unsigned, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 09:00:22 +02:00
Uwe Kleine-König 253ff1fa6f ARM: imx: new helper function imx_add_platform_device
This should be a globally available function, see

	http://thread.gmane.org/gmane.linux.kernel/998881/focus=998882

Until this hits mainline create a similar function available for imx
platforms only.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 09:00:03 +02:00
Uwe Kleine-König 9f72ffedc8 ARM: imx: new Kconfig symbol and feature test macro for DMA on mx1 and mx2
This should be used instead of hard coding the corresponding platforms.
The feature test macro is needed to support different SOCs in a single
kernel image.  While at it rename dma-mx1-mx2 to dma-v1 as mx25 doesn't
use it and so the mx2 part is wrong and move the header to
arch/arm/mach-imx.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 08:59:58 +02:00
Uwe Kleine-König e780d2392d ARM: imx: prepare deprecating ARCH_MX1, MACH_MX2, MACH_MX21 and MACH_MX27
MACH_... is reserved for machine support, so use SOC as prefix, not MACH.

This introduces new symbols SOC_IMX1, SOC_IMX21 and SOC_IMX27.  They are
selected by the old symbols for now.  There is no substitute for MACH_MX2
as most usages of MX2 only means MX21 + MX27 but not MX25.

Later the choice about CPU and CPU family should go away and the individual
machines should select the right SOC symbol.  This is a precondition to
support more than one SOC in a single kernel image.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 08:59:48 +02:00
Uwe Kleine-König 074694956b ARM: imx: move mx1 support to mach-imx
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-30 08:59:44 +02:00
Uwe Kleine-König 9a763bfbe4 ARM: imx: get rid of mxc_gpio_init
This function is defined once for each imx family and so is in the way
when compiling a kernel for more than one SoC.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:40 +02:00
Uwe Kleine-König d109167b9c ARM: imx: rename mach dir for mx21 and mx27 to mach-imx
Finally all imx code should end up there, start with mach-mx2.  While
touching all files rename some files to use a hyphen instead of an
underscore.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:38 +02:00
Uwe Kleine-König f1d4cbef18 ARM: mxc: grammar fix
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:36 +02:00
Uwe Kleine-König ccfa7c2698 ARM: mx3/mx31ads: fold board header in its only user
Moreover remove unused definitions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:35 +02:00
Uwe Kleine-König b396dc459c ARM: mx3/mx31_3ds: fold board header in its only user
Moreover remove unused definitions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:34 +02:00
Uwe Kleine-König d57351a30f ARM: mx3/qong: get rid of nearly empty header
board-qong.h only defined a single symbol that was used only once.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:33 +02:00
Uwe Kleine-König 1faeaab27b ARM: mx2/mx27ads: fold board header in its only user
Moreover remove unused definitions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:31 +02:00
Uwe Kleine-König d393d43ff7 ARM: mx2/mx21ads: fold board header in its only user
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:30 +02:00
Uwe Kleine-König 7b562d0f21 ARM: mx3/kzm_arm11_01: fold board header in its only user
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:29 +02:00
Uwe Kleine-König 5d3a136a08 ARM: imx: remove empty and unused board headers
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:28 +02:00
Uwe Kleine-König 8fdca37afc ARM: mx2/mx27_3ds: document alternative names and remove empty header
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-06-24 15:40:26 +02:00
Eric Bénard 0e79612012 ASoC: imx-ssi.c: add new choices to platform configuration
* introduce 3 new flags to allow a more detailed configuration
of the SSI link :
	IMX_SSI_NET : enable Network Mode
	IMX_SSI_SYN : enable Synchronous Mode
	IMX_SSI_USE_I2S_SLAVE : enable I2S Slave Mode
* new platform can use these settings without breaking actual
platforms.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-06-03 19:00:16 +01:00
Russell King 9bfe99a8f9 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-05-20 23:43:18 +01:00
Alberto Panizzo b1e89955be MX3X: Add Keypad device definition for MX3X arch
This patch adds also the pin definition helpers in iomux-mx3.h

Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-19 14:22:44 +02:00
Dinh Nguyen d6b273bfdf mx5: bring usb phy out of reset on freescale mx51 babbage hw
This patch de-asserts the reset line that is connected to the USB
ULPI PHY on USB Host1.

This patch should be included with the original USB host enablement
set of patches of mx51 babbage hw, but was accidentily left out.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-18 10:46:31 +02:00
Philippe Rétornaz 3a47b1a4f1 mx31moboard: OTG host support for smartbot board
The Eyebot robot needs the OTG port in host mode on the smartbot.

Add a new board definition so we can select the usb host/device
mode at boot with the mx31moboard_baseboard boot parameter.

Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-17 10:05:50 +02:00
Uwe Kleine-König b7d41d6d58 V4L/DVB: mx1-camera: compile fix
This fixes a regression of

	7d58289 (mx1: prefix SOC specific defines with MX1_ and deprecate old names)

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-06 19:20:51 -03:00
Dinh Nguyen 5a25ad84e0 mxc: Add generic USB HW initialization for MX51
This patch adds USB HW initializiation code to /plat-mxc/ehci.c.
	-Sets some specific PHY settings
Renames mxc_set_usbcontrol to mxc_initialize_usb_hw.
Adds new register bit defines for the USB HW on Freescale
SoCs.

This patch applies to 2.6.34-rc6.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Reviewed-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:18:13 +02:00
Dinh Nguyen 282f152219 mxc: Update GPIO for USB support on Freescale MX51 Babbage HW
This patch is part of enabling USB for Freescale MX51 Babbage HW. This
patch updates the iomux pins for USB, and gpio line for reset the
USB hub on the MX51 Babbage HW.

This patch applies to 2.6.34-rc6.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-03 15:18:13 +02:00
Wolfram Sang d943f2c821 arm/plat-mxc: Fix forgotten renaming in timer.c
Commit "mxc: Change gpt timer code to be more generic by using V2
instead of MX3" forgot to replace one occurence causing a build
failure.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Amit Kucheria <amit.kucheria@canonical.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-04-23 09:22:30 +02:00
Dinh Nguyen e24798e637 mx5: Add registration of GPIOs for MX5 devices
Register the gpio irqs on Freescale's MX51 Babbage HW.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-04-22 16:53:23 +02:00
Amit Kucheria 38a66f51e7 mxc: Change gpt timer code to be more generic by using V2 instead of MX3
Replace mx3_ with v2_ since the register layout is the same for all SoCs using
version 2 of the timer (mx25, mx31, mx37 and now mx51)

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-04-22 13:40:32 +02:00
Russell King bb3c9d4f85 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6
Conflicts:
	arch/arm/mach-mx3/mach-pcm037.c
2010-04-08 10:47:05 +01:00
Tejun Heo 5a0e3ad6af include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files.  percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed.  Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability.  As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

  http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
  only the necessary includes are there.  ie. if only gfp is used,
  gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
  blocks and try to put the new include such that its order conforms
  to its surrounding.  It's put in the include block which contains
  core kernel includes, in the same order that the rest are ordered -
  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
  doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
  because the file doesn't have fitting include block), it prints out
  an error message indicating which .h file needs to be added to the
  file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
   over 4000 files, deleting around 700 includes and adding ~480 gfp.h
   and ~3000 slab.h inclusions.  The script emitted errors for ~400
   files.

2. Each error was manually checked.  Some didn't need the inclusion,
   some needed manual addition while adding it to implementation .h or
   embedding .c file was more appropriate for others.  This step added
   inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
   from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
   e.g. lib/decompress_*.c used malloc/free() wrappers around slab
   APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
   editing them as sprinkling gfp.h and slab.h inclusions around .h
   files could easily lead to inclusion dependency hell.  Most gfp.h
   inclusion directives were ignored as stuff from gfp.h was usually
   wildly available and often used in preprocessor macros.  Each
   slab.h inclusion directive was examined and added manually as
   necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
   distributed build env didn't work with gcov compiles) and a few
   more options had to be turned off depending on archs to make things
   build (like ipr on powerpc/64 which failed due to missing writeq).

   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
   * powerpc and powerpc64 SMP allmodconfig
   * sparc and sparc64 SMP allmodconfig
   * ia64 SMP allmodconfig
   * s390 SMP allmodconfig
   * alpha SMP allmodconfig
   * um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
   a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
2010-03-30 22:02:32 +09:00
Sascha Hauer 0491fcbb76 Merge branch 'mx51' into mxc-rc 2010-03-25 08:44:12 +01:00
Alberto Panizzo 11a332adfe MXC: mach-mx31_3ds: Update variable names over recent mach name modification.
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-25 08:43:03 +01:00
Sascha Hauer fc300206ad i.MX51: remove NFC AXI static mapping
This area contains the Nand Flash controller registers. There
is no need to map them statically as the Nand driver uses ioremap().

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-19 11:18:27 +01:00
Sascha Hauer 5443856cad i.MX51: determine silicon revision dynamically
Freescale redboot passes the silicon revision via
ATAG_REVISION. Remove this bootloader dependency by
doing the same as redboot does in the Kernel.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-19 11:18:20 +01:00
Sascha Hauer 3d1bc8626c i.MX51: map TZIC dynamically
This looks cleaner and allows us to call mx51_revision
later when we can use ioremap to determine the silicon
revision dynamically.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-19 11:05:40 +01:00
Sascha Hauer 48fae657f0 i.MX51 Babbage: Add uncompress output
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-19 11:00:40 +01:00
Russell King 988addf82e Merge branch 'origin' into devel-stable
Conflicts:
	arch/arm/mach-mx2/devices.c
	arch/arm/mach-mx2/devices.h
	sound/soc/pxa/pxa-ssp.c
2010-03-08 20:21:04 +00:00
Russell King b93a4afcff Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable
Conflicts:
	arch/arm/Makefile
2010-03-02 23:29:32 +00:00
Martin Fuzzey 23d3e7a659 USB: MXC: Add i.MX21 specific USB host controller driver.
This driver is a Full / Low speed only USB host for the i.MX21.

Signed-off-by: Martin Fuzzey <mfuzzey@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-02 14:52:55 -08:00
Linus Torvalds ac0f6f927d Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (100 commits)
  ARM: Eliminate decompressor -Dstatic= PIC hack
  ARM: 5958/1: ARM: U300: fix inverted clk round rate
  ARM: 5956/1: misplaced parentheses
  ARM: 5955/1: ep93xx: move timer defines into core.c and document
  ARM: 5954/1: ep93xx: move gpio interrupt support to gpio.c
  ARM: 5953/1: ep93xx: fix broken build of clock.c
  ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig
  ARM: 5949/1: NUC900 add gpio virtual memory map
  ARM: 5948/1: Enable timer0 to time4 clock support for nuc910
  ARM: 5940/2: ARM: MMCI: remove custom DBG macro and printk
  ARM: make_coherent(): fix problems with highpte, part 2
  MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
  ARM: 5945/1: ep93xx: include correct irq.h in core.c
  ARM: 5933/1: amba-pl011: support hardware flow control
  ARM: 5930/1: Add PKMAP area description to memory.txt.
  ARM: 5929/1: Add checks to detect overlap of memory regions.
  ARM: 5928/1: Change type of VMALLOC_END to unsigned long.
  ARM: 5927/1: Make delimiters of DMA area globally visibly.
  ARM: 5926/1: Add "Virtual kernel memory..." printout.
  ARM: 5920/1: OMAP4: Enable L2 Cache
  ...

Fix up trivial conflict in arch/arm/mach-mx25/clock.c
2010-03-01 09:15:15 -08:00
Takashi Iwai 6679ee1870 Merge branch 'topic/asoc' into for-linus 2010-03-01 12:38:59 +01:00
Russell King 2741ecb4ce Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
Uwe Kleine-König 9b1489e989 Merge branch 'mxc-master' of git://git.pengutronix.de/git/imx/linux-2.6 into imx/master
Removed selection of COMMON_CLKDEV by CONFIG_ARCH_MX5.  This is handled
in 03e09cd890.

arch/arm/plat-mxc/iomux-mx1-mx2.c was moved to
arch/arm/plat-mxc/iomux-v1.c in 5e2e95f520
and got bug fixed in 5c17ef878f.  The bug
in arch/arm/plat-mxc/iomux-v1.c isn't present any more since
bac3fcfad5, so
arch/arm/plat-mxc/iomux-mx1-mx2.c is simply deleted.

Conflicts:
	arch/arm/plat-mxc/Kconfig
	arch/arm/plat-mxc/Makefile
	arch/arm/plat-mxc/iomux-mx1-mx2.c

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-25 14:01:49 +01:00
Baruch Siach 08268b78d6 mx25: move ARCH_MXC_IOMUX_V3 to the ARCH level
ARCH_MXC_IOMUX_V3 is not specific to the i.MX25 PDK platform. Thus,
ARCH_MXC_IOMUX_V3 should be selected by ARCH_MX25.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-24 10:45:21 +01:00
Uwe Kleine-König bac3fcfad5 arm/imx/iomux-v1: check for invalid modes in mxc_gpio_mode
mxc_gpio_mode checks for invalid pins and so it returns zero for
success, -EINVAL for invalid pins.

While at it, remove definitions of GPIO_PORT_MAX removed as they are
unused now.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:16 +01:00
Uwe Kleine-König 111588f830 arm/imx/iomux-v1: rename header file
Addionally make iomux-mx*.h headers stand-alone and similar to iomux-v3
platform files should include their platform iomux header from now on.
For now iomux.h simply includes all iomux-v1 platform headers and so
provides compatibility until all files are converted.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:15 +01:00
Uwe Kleine-König 261f6f681c arm/mx25: don't include iomux.h which is for iomux-v1 machines
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:14 +01:00
Uwe Kleine-König 2f6c97c48e arm/imx/iomux-mx3.h: unify style and comments
- use __MACH_IOMUX_MX3_H__ as header protector analogous to
  <mach/mx...h>
- use tabs for indention

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:13 +01:00
Uwe Kleine-König 8902cbd9db arm/imx/iomux-mx2x: unify style
- use __MACH_IOMUX_MX2x_H__ as header protector analogous to
  <mach/mx...h>
- use tabs for indention

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:12 +01:00
Uwe Kleine-König 6056154145 arm/imx/iomux-mx27: unify style and comments
- use __MACH_IOMUX_MX27_H__ as header protector analogous to
  <mach/mx...h>
- use tabs for indention
- fix sorting

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:12 +01:00
Uwe Kleine-König e76feb8742 arm/imx/iomux-mx25: unify style and comment cleanup
- use __MACH_IOMUX_MX25_H__ as header protector analogous to
  <mach/mx...h>
- remove doxygen comments
- remove #error about mach/iomux.h which is unused on mx25
- remove #ifndef __ASSEMBLY__ which is unneeded here

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:11 +01:00
Uwe Kleine-König 6985a719f9 arm/imx/iomux-mx21: unify style
- use __MACH_IOMUX_MX21_H__ as header protector analogous to
  <mach/mx...h>
- use tabs for indention

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:10 +01:00
Uwe Kleine-König 6863f19810 arm/imx/iomux-mx1: unify style and comment cleanup
- use __MACH_IOMUX_MX1_H__ as header protector analogous to
  <mach/mx...h>
- use tabs for indention

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:10 +01:00
Uwe Kleine-König f021b5a1ef arm/imx/iomux-v1: make base address a runtime choice
While at it move register modification to static inlines and
so make the relevant code more readable.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:09 +01:00
Uwe Kleine-König 5e2e95f520 arm/imx/iomux-v1: rename source file and reorganize Kconfig stuff
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:08 +01:00
Uwe Kleine-König 8735fde2d0 arm/imx/dma-v1: protect #ifdef'd blocks additionally by cpu_is_...
This is necessary for a multi-SoC kernel.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:07 +01:00
Uwe Kleine-König e9f49d4183 arm/imx/dma-v1: don't use deprecated symbols DMA_BASE and MXC_INT_DMACH0
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:06 +01:00
Uwe Kleine-König 8e3a6e7fa7 arm/imx: choose sane CONSISTENT_DMA_SIZE if video is enabled for both mx1 and mx3
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:06 +01:00
Uwe Kleine-König abf6163288 arm/imx/irq: order definitions of MXC_GPIO_IRQS numerically
This is important for kernels supporting more than one SoC.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:05 +01:00
Uwe Kleine-König 220f7f3070 arm/imx: don't depend on ARCH_MXC twice
MXC_IRQ_PRIOR, MXC_PWM and ARCH_HAS_RNGA are all defined in an "if
ARCH_MXC" ... "endif" block, so they depend on ARCH_MXC anyhow.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:04 +01:00
Uwe Kleine-König a8e33260ce arm/imx: remove #ifndef CONFIG_COMMON_CLKDEV block
COMMON_CLKDEV is used on all imx platforms, so this isn't used.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:03 +01:00
Uwe Kleine-König 44fb5d1945 arm/imx: remove MTD_XIP support
This is broken since at least one year when

	ec996ba (mxc timer: make compile time independent)

removed the symbol MXC_TCN.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:03 +01:00
Uwe Kleine-König 03e09cd890 arm/imx: let ARCH_MXC select COMMON_CLKDEV instead of each subfamily
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:01 +01:00
Uwe Kleine-König 401d87dd66 arm/imx: remove "NO_PAD_CTRL" from Copyright statements
I assume this was introduced by something like

	sed -i -e 's/)/, NO_PAD_CTRL)'

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:00 +01:00
Uwe Kleine-König 8e9980588c arm/imx/audmux-v2: use SoC-prefixed names
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:00 +01:00
Uwe Kleine-König 51918075d7 arm/imx/audmux-v1: use SoC-prefixed names
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:59 +01:00
Uwe Kleine-König 6574305b0e arm/imx/gpio: remove a BUG_ON in hot path
Now if the problem occurs that triggered the BUG_ON before, the machine
runs in a NULL pointer dereference.  So it wouldn't be much harder now
to debug the situation if it occured.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:58 +01:00
Uwe Kleine-König 3621f188b9 arm/imx/gpio: use fls to find set bits in the irq status register
As in most cases only few irqs are pending using fls is more effective
than looping over all bits.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:57 +01:00
Uwe Kleine-König 3244c3e779 arm/imx: use generic_handle_irq instead of open-coding it
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:57 +01:00
Uwe Kleine-König 3d40f7fef4 arm/imx/gpio: GPIO_INT_{HIGH,LOW}_LEV are not necessarily constant
GPIO_INT_LOW_LEV is defined as

	(cpu_is_mx1_mx2() ? 0x3 : 0x0)

so depending on compiler optimisation and enabled SoCs this doesn't
qualify as a constant expression as needed by a switch statement.
Ditto for GPIO_INT_HIGH_LEV.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:56 +01:00
Baruch Siach 0f547dc1f6 mx25pdk: add LCD support
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-18 08:35:55 +01:00
Baruch Siach 04a03e5fe3 mx25: add platform support for imxfb
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-18 08:35:05 +01:00
Baruch Siach f601441916 imxfb: add support for i.MX25
The commit also introduces the HAVE_FB_IMX config that is to be selected from
the MX25 platform config. Once this commit gets merged, the two other i.MX
archs, ARCH_MX1 and ARCH_MX2, should follow this one.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-18 08:34:23 +01:00
Fenkart/Bostandzhyan c931b4f655 ARM: 5928/1: Change type of VMALLOC_END to unsigned long.
Makes it consistent with VMALLOC_START

Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-15 21:40:33 +00:00
Tony Lindgren 4e6d488af3 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp
Otherwise more complicated uart configuration won't be possible.
We can use r1 for tmp register for both head.S and debug.S.

NOTE: This patch depends on another patch to add the the tmp register
into all debug-macro.S files. That can be done with:

$ sed -i -e "s/addruart,rx|addruart, rx/addruart, rx, tmp/"
	arch/arm/*/include/*/debug-macro.S

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12 17:27:52 +00:00
Valentin Longchamp e335c75cf3 mx31moboard: support for the smartbot baseboard
This baseboard is used on the handbot and eybot robots.

The sel gpios are used as enables and rst signals on smartbot, thus the
sel init is moved from mx31moboard file to board files.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-10 11:11:56 +01:00
Sascha Hauer fed9b63ca5 Merge branch 'mx51-baseport-sascha' of git://kernel.ubuntu.com/amitk/mx51-upstream into mxc-master 2010-02-10 11:11:37 +01:00
Sascha Hauer d9e557e5cb add ssi header file
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-10 11:05:13 +01:00
Amit Kucheria b996b58303 mxc: Add support for the Babbage board (i.MX5)
Babbage is a reference board from Freescale for their i.MX51 SoC.

Add board definition, Kconfig and Makefiles to enable Freescale i.MX51
processor and Babbage board.

Boot tested on a Babbage2.5 board

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
2010-02-09 18:32:17 +02:00
Amit Kucheria a329b48c43 mxc: Core support for Freescale i.MX5 series
Add basic clock support, cpu identification, I/O mapping, interrupt
controller, serial port and ethernet.

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
2010-02-09 18:32:16 +02:00
Amit Kucheria 438caa3f6c mxc: changes to common plat-mxc code to add support for i.MX5
Prepare for i.MX5 SoC code by adding the relevant macros to common plat-mxc
code.

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
2010-02-09 18:32:10 +02:00
Sascha Hauer 0f3332c4fa mxc: refactor timer code to use timer versions
Refactor the timer code into version 1 and version 2.

Essentially there are 2 versions of the timer hardware on Freescale MXC
hardware. Version 1 is found on MX1/MXL, MX21 and MX27. Version 2 is found on
MX25, MX31, MX35, MX37, MX51, and future parts.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
2010-02-09 16:15:26 +02:00
Amit Kucheria a003708ad4 mxc: TrustZone interrupt controller (TZIC) for Freescale i.MX5 family
Freescale i.MX51 processor uses a new interrupt controller. Add
driver for TrustZone Interrupt Controller

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
2010-02-09 16:15:26 +02:00
Sascha Hauer d186f04c17 i.MX35: Add USB control register access support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Daniel Mack <daniel@caiaq.de>
2010-02-04 17:29:30 +01:00
Sascha Hauer 9cf945cbef i.MX27: Add USB control register access support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Daniel Mack <daniel@caiaq.de>
2010-02-04 15:56:34 +01:00
Sascha Hauer 84ab80616b i.MX ehci platform support: Some fixes
- The SIC mask is only 2bits wide, not 4
- MX31_OTG_PM_BIT and MX31_H1_PM_BIT use negative logic
- clear MX31_H1_DT_BIT and MX31_H2_DT_BIT so that they can be cleared,
  not only set.
- return -EINVAL if called with an invalid controller number

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Daniel Mack <daniel@caiaq.de>
2010-02-04 15:56:34 +01:00
Sascha Hauer 9fd96bbb6a Merge branch 'imx/master' of git://git.pengutronix.de/git/ukl/linux-2.6 into mxc-master 2010-02-04 11:18:09 +01:00
Roel Kluin 5c17ef878f MX1/MX2: -EINVAL overwritten in second iteration in mxc_gpio_setup_multiple_pins()
Due to the `ret = gpio_request()' below in the loop, the initial -EINVAL value
of ret is overwritten.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-02-04 09:33:10 +01:00
Uwe Kleine-König 34101237d9 imx: define per SOC ..._PHYS_OFFSET and use these in favour of PHYS_OFFSET
This is a further step in allowing to build a kernel image for more
than one imx SOC.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-02 09:07:59 +01:00
Uwe Kleine-König 08f9bf167c mxc91231: redefine MXC91231_IO_ADDRESS using IMX_IO_ADDRESS
This simplifies the macro and makes is similar to the other
..._IO_ADDRESS macros defined for imx SOCs.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-02 09:07:56 +01:00
Uwe Kleine-König 9ea07ec05e mxc91231: use MXC91231_IO_ADDRESS instead of MXC91231_AIPS1_IO_ADDRESS
Apart from MXC91231_IO_ADDRESS itself this was the only usage of
MXC91231_AIPS1_IO_ADDRESS.  Now MXC91231_IO_ADDRESS can be recoded with
IMX_IO_ADDRESS and all helper macros can go away.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Daniel Schaeffer <daniel.schaeffer@timesys.com>
Cc: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Cc: Ivo Clarysse <ivo.clarysse@gmail.com>
2010-02-02 09:07:55 +01:00
Uwe Kleine-König 8ac5b7c5ec imx: WARN in clk_disable if the clock isn't enabled
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
2010-02-02 09:07:11 +01:00
Russell King 0b7d5170dc Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 2010-02-01 20:06:40 +00:00
Uwe Kleine-König 66ac2f28b6 mx25: deprecate UART1_BASE_ADDR and UART2_BASE_ADDR
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-01-30 13:34:11 +01:00
Uwe Kleine-König 7d58289fc3 mx1: prefix SOC specific defines with MX1_ and deprecate old names
The old names are defined only if the cpp symbol
IMX_NEEDS_DEPRECATED_SYMBOLS exists, which is defined (for now) for all
files below arch/arm/mach-mx1.

This was done earlier for mx2 and mx3, too.

USBD_INT0 is for now defined unconditionally to prevent breaking
drivers/usb/gadget/imx_udc.

While at it use IMX_IO_ADDRESS to define MX1_IO_ADDRESS which
adds a cast to the IO_ADDRESS macro fixing many warnings like

	arch/arm/mach-mx1/generic.c:51: warning: passing argument 1 of 'mxc_init_irq' makes pointer from integer without a cast

.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-01-30 13:34:01 +01:00
Baruch Siach dcbabbc1fc mx25: add support for the DryIce rtc
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-29 10:43:21 +01:00
Sascha Hauer 4cb73288b1 Merge branch 'mxc-rc' into mxc-master 2010-01-29 10:43:17 +01:00
Uwe Kleine-König 66ddfc62ca mx35: add a missing comma in a pad definition
Reported-by: Tim Sander <tstone@vlsi.informatik.tu-darmstadt.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-29 09:36:56 +01:00
Uwe Kleine-König 4e41db871e mx2/mx3: debug-macro.S needs deprecated symbols
This fixes:

	arch/arm/kernel/debug.S:147: Error: constant expression expected -- `ldrne r3,=(((UART1_BASE_ADDR)-AIPI_BASE_ADDR)+AIPI_BASE_ADDR_VIRT)'
	arch/arm/kernel/debug.S:163: Error: constant expression expected -- `ldrne r3,=(((UART1_BASE_ADDR)-AIPI_BASE_ADDR)+AIPI_BASE_ADDR_VIRT)'

when compiling for mx2 with CONFIG_DEBUG_LL=y.  A similar error exists
on mx3 and is fixed by this commit, too.

These were introduced by aae7019382.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:55:52 +01:00