Commit Graph

178545 Commits

Author SHA1 Message Date
Uwe Kleine-König 9f69fdb36d arm/imx: don't explicitly select GENERIC_GPIO
ARCH_REQUIRE_GPIOLIB selects GPIOLIB which in turn selects GENERIC_GPIO

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:07:02 +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
Uwe Kleine-König 4a50d00cb9 arm/mx2: split generic.c into mm-imx2[17].c
This removes some #ifdefs and prepares moving the files in a directory
with more than imx21 and imx27 support.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:55 +01:00
Uwe Kleine-König 621b0e53b5 arm/mx2/devices: no need for IMX_NEEDS_DEPRECATED_SYMBOLS any more
The previous commits cleaned up arch/arm/mach-mx2/devices.c such that it
doesn't rely on deprecated symbols any more.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:52 +01:00
Uwe Kleine-König 897359d596 arm/mx2: define seperate gpio port descriptions for imx21 and imx27
As the gpio ports have different addresses on imx21 and imx27 there are
two different port descriptions needed if not relying on the overloaded
cpp macro IO_ADDRESS.  So some cpp magic is added to minimize code
duplication.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:06:51 +01:00
Uwe Kleine-König 3636a14532 arm/mx2: use per-SOC nand device
The previous commit introduced one nand device per SoC.  Use this
directly instead of the compatibility macro that will break for
multi-SoC kernels.  And while at it remove the compatibility macro now
that all in-tree users are fixed.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-24 10:05:38 +01:00
Uwe Kleine-König f0d3ab4911 arm/mx2: define seperate imx_nand devices for imx21 and imx27
As the NFC controller has different addresses on imx21 and imx27 there
are two different devices needed if not relying on the overloaded cpp
macro NFC_BASE_ADDR.  So some cpp magic is added to minimize code
duplication.

As obviously these two defines need different names, the name of the old
device is #defined to the new one when building for only one of imx21 or
imx27.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-15 17:03:55 +01:00
Uwe Kleine-König 58152a1690 arm/mx2/devices: use SoC-prefixed names where possible
There is only NFC_BASE_ADDR left which is defined differently for mx21
and mx27.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:03 +01:00
Uwe Kleine-König 69ddb48803 arm/mx2: use cpp magic to create imx-ssi devices
This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:03 +01:00
Uwe Kleine-König ccd0e42c82 arm/mx2: use cpp magic to create imx-mmc devices
This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:02 +01:00
Uwe Kleine-König 9309b2ba54 arm/mx2: use cpp magic to create imx-i2c devices
This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:01 +01:00
Uwe Kleine-König 2b84a3640f arm/mx2: use cpp magic to create imx_gpt devices
This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:00 +01:00
Uwe Kleine-König 68c94b40b3 arm/mx2: use cpp magic to create spi_imx devices
This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-08 11:47:00 +01:00
Uwe Kleine-König e27bf72465 imx/mx25: rename files defining a machine to mach-$mach.c
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-02 09:08:03 +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 7fc06d8c24 imx2x: convert serial.c to use soc-prefixed constants
This makes the file compilable for a kernel that supports both imx21 and
imx27.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-02-02 09:07:58 +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
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 1eaa4f2762 mx25pdk: platform code for the DryIce RTC module
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
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
Vladimir Zapolskiy 70c91a3849 ARM: IMX31: configure pins iomux for SDHC setup on litekit board.
This patch adds SDHC support, and corrects current pins setup.
Added irq handling on card removal.

Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Cc: Daniel Mack <daniel@caiaq.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:56:54 +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
Baruch Siach 1c57402374 mx25: make the FEC AHB clk secondary of the IPG
This makes the FEC clock configuration consistent with the UART one.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:54:41 +01:00
Baruch Siach faed40665d mx25: fix time accounting
The gpt_clk rate function doesn't consider the PER divider. This causes a
significant drift in time accounting. Fix this by introducing the correct rate
calculation function.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:54:06 +01:00
Baruch Siach 828df43f13 mx25: properly initialize clocks
This patch disables all unnecessary clock in mx25_clocks_init() to make a clean
start, the same as is being done for the rest of the i.MX chips.

This patch was tested on i.MX25 PDK.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:54:06 +01:00
Baruch Siach fadc095622 mx25: remove unused mx25_clocks_init() argument
The fref is needless on mx25 since the reference clock is fixed at 24MHz.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:54:06 +01:00
Sascha Hauer 4cd3f96cd4 i.MX25: implement secondary clocks for uarts and fec
For uarts and fec need two clocks, implement it using the secondary clock
field in struct clk.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:52:45 +01:00
Sascha Hauer 9611a9b6f6 i.MX25: Allow secondary clocks in DEFINE_CLOCK
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-26 18:52:40 +01:00
Vladimir Zapolskiy 71318da9d2 ARM: MX3: Fixed typo in declared enum type name.
To distinguish between mx31lite and mx31lilly boards better to use
different enum types.

Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-21 14:36:39 +01:00
Baruch Siach b97235dfa1 mx25pdk: add NAND device support
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-14 11:15:02 +01:00
Baruch Siach 27f5902589 mx25: add NAND support
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-14 11:15:02 +01:00
Baruch Siach b6d0c1bda9 mtd: mxc_nand: add MX25 to Kconfig
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-14 11:14:44 +01:00
Sascha Hauer 37439a0f12 Merge branch 'imx' of git://git.pengutronix.de/git/ukl/linux-2.6 into mxc-master 2010-01-14 10:58:10 +01:00
Mark Brown 7b4e08a77f MXC: Add AUDMUXv2 register decode to debugfs
Since AUDMUX configuration appears to be one of the common stumbling
blocks for people setting up i.MX audio try to provide some diagnostic
information describing the current setup to assisist people in working
out what's going on.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-01-12 10:41:10 +01:00
Uwe Kleine-König a8dfb6462a imx: define functions to configure chip selects in the WEIM
This has the addional effect that the macros CSCR_U, CSCR_L and CSCR_A
are not used anymore in mach-pcm038.c and mach-qong.c.  These still use
the deprecated IO_ADDRESS macro and shouldn't be used in new code.

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: Holger Schurig <hs4233@mail.mn-solutions.de>
Cc: Dmitriy Taychenachev <dimichxp@gmail.com>
2010-01-08 16:45:24 +01:00
Uwe Kleine-König 3cdd54417d imx: properly protect mach/mx{1,[25][157x]}.h from multiple inclusion
Some headers have used (now) wrong names or havn't had protection at
all.  This is needed before adding static inline functions to the
headers.

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: Magnus Lilja <lilja.magnus@gmail.com>
Cc: Holger Schurig <hs4233@mail.mn-solutions.de>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Daniel Mack <daniel@caiaq.de>
2010-01-08 16:45:23 +01:00
Uwe Kleine-König 4631166124 imx: remove unneeded include of mach/hardware.h
This include isn't needed and hurts when defining static inline
functions in mach/hardware.h (or files included by mach/hardware.h).

The reason is that the consumers of mach/uncompress.h are compiled using
-Dstatic= so the code for all inline function is included in e.g.
arch/arm/boot/compressed/misc.o.

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: Jörg Knobloch <knobloch@incostartec.com>
Cc: Alan Carvalho de Assis <acassis@gmail.com>
Cc: Daniel Mack <daniel@caiaq.de>
Cc: Dmitriy Taychenachev <dimichxp@gmail.com>
2010-01-08 16:45:22 +01:00
Uwe Kleine-König d13ab097ae imx: remove mx1ads defconfig
For some time now the defconfig for mx1ads produces a kernel for
a versatile board.  As CONFIG_ARCH_MX1ADS is included in the mx1
defconfig just get rid of mx1ads_defconfig.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
2010-01-08 16:45:21 +01:00