Commit graph

337 commits

Author SHA1 Message Date
Uwe Kleine-König
e08300043e ARM: imx: dynamically allocate imx_udc device
This is only available for mx1 machines with no in-tree user.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:20 +01:00
Uwe Kleine-König
ae71a56222 ARM: imx: dynamically allocate mxc_w1 devices
Currently there is no platform data used in the driver.  In case this
changes NULL is passed unused to the soc specific functions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:13 +01:00
Uwe Kleine-König
d96801b2ca ARM: imx: remove deprecated symbols as all users are gone now
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:12 +01:00
Uwe Kleine-König
ac401427c0 ARM: imx/debug-macro: rework using the new io mapping macro
This gets rid of the last user of IMX_NEEDS_DEPRECATED_SYMBOLS.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:11 +01:00
Uwe Kleine-König
a99631489b ARM: imx: change static io mapping to use a function
Now only the virtual addresses [0xf4000000, 0xf5ffffff] are used for
static per-SoC mappings.  The few mappings of whole chip selects are
moved accordingly.

The now wrong defines for virtual base addresses are removed.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:11 +01:00
Uwe Kleine-König
cf3a6aba2f ARM: imx: remove last explicit users of virtual base address defines
This allows changing the mapping without the need to adapt all users.

While at it remove some unneeded casts to void __iomem *, this is already
taken care for in the IO_ADDRESS macros

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:10 +01:00
Uwe Kleine-König
08ff97b521 ARM: imx: use MXxy_IO_P2V macros to setup static mappings
This makes less code rely on the virtual constants.

To further simplify code and reduce the needed boilerplate when
defining the static mappings a new helper macro is defined in
mach/hardware.h.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:09 +01:00
Uwe Kleine-König
f5d7a13b18 ARM: imx: refactor the io mapping macro
This makes it more assembler friendly and allows it to be used in situation
that need an unsigned long and not a pointer.  Also the naming is
clearer.  IOMEM is introduced without IMX_ prefix as it is used this way
in more than one ARM subarch and it might become globally available
soon.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:08 +01:00
Russell King
9ae21ca362 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-10-28 11:13:00 +01:00
Dinh Nguyen
47c5382287 ARM: imx: Add gpio-keys to plat-mxc
Add imx_add_gpio_keys function to add gpio-keys in plat-mxc

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-26 16:24:04 +02:00
Yong Shen
64f102b67f cpufreq for freescale mx51
Currently, only two operating points: 160Mhz and 800Mhz.
the operating points are tested on babbage 3.0

Signed-off-by: Yong Shen <yong.shen@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-22 08:24:14 +02:00
Uwe Kleine-König
662a74b4b2 ARM: mx3: fix build failure concerning MXC_INT_MMC_SDHC2
Commit c074512 (imx-esdhc: update devices registration) renamed
MX35_INT_MMC_SDHC2 to MX35_INT_ESDHC2 which broke expansion of the
MXC_INT_MMC_SDHC2 macro.
As  (the only user of MXC_INT_MMC_SDHC2) is only used on
mx31 use the MX31 prefixed symbol to define its resources.  Moreover to
reduce further confusion mxcsdhc_device0 is fixed accordingly and the MXC
prefixed symbols are removed.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-21 21:52:01 +02:00
Jeremy Kerr
0ea1293009 arm: return both physical and virtual addresses from addruart
Rather than checking the MMU status in every instance of addruart, do it
once in kernel/debug.S, and change the existing addruart macros to
return both physical and virtual addresses. The main debug code can then
select the appropriate address to use.

This will also allow us to retreive the address of a uart for the MMU
state that we're not current in.

Updated with fixes for OMAP from Jason Wang <jason77.wang@gmail.com>
and Tony Lindgren <tony@atomide.com>, and fix for versatile express from
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>.

Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-10-20 00:27:33 -04:00
Ian Lartey
d24d96e055 Fixing ethernet driver compilation error for i.MX31 ADS board
This is only a partial revert of "ARM: mx3/mx31ads: fold board
header in its only user"
[commit ccfa7c2698)]

As some of the the board defines are also used in the cs89x0
ethernet driver by the i.MX31 ADS.

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-19 18:45:01 +02:00
Eric Bénard
70b1726820 mx5: add cpuimx51sd module and its baseboard
Signed-off-by: Eric Bénard <eric@eukrea.com>
2010-10-19 18:45:00 +02:00
Eric Bénard
b545d9ed1b iomux-mx51: fix GPIO_1_xx 's IOMUX configuration
this patch really configure the GPIO in GPIO mode.

Signed-off-by: Eric Bénard <eric@eukrea.com>
2010-10-19 18:45:00 +02:00
Eric Bénard
c074512905 imx-esdhc: update devices registration
Tested on i.MX25 and i.MX35 and i.MX51

Signed-off-by: Eric Bénard <eric@eukrea.com>
2010-10-19 18:45:00 +02:00
Eric Bénard
217f580ba6 iomux-mx51: fix SD1 and SD2's iomux configuration
Based on original patch from: Richard Zhu <r65037@freescale.com>
Signed-off-by: Eric Bénard <eric@eukrea.com>
2010-10-19 18:44:59 +02:00
Eric Bénard
4a66b5d980 i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472
Without this exiting WFI can result in cache corruption.
Code taken from Freescale's 2.6.27 BSP and tested on i.MX35

Signed-off-by: Eric Bénard <eric@eukrea.com>
2010-10-19 18:44:58 +02:00
Eric Bénard
ec4aac206b mx25: fix compile error in platform-imx-dma.c
this patch fix the following errors :
arch/arm/plat-mxc/devices/platform-imx-dma.c:44:
    error: ‘MX25_SDMA_BASE_ADDR’ undeclared here (not in a function)
arch/arm/plat-mxc/devices/platform-imx-dma.c:44:
    error: ‘MX25_INT_SDMA’ undeclared here (not in a function)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-10-19 18:44:58 +02:00
Dinh Nguyen
68a2f7301a ARM: imx: Add iram allocator functions
Add IRAM(Internal RAM) allocation functions using GENERIC_ALLOCATOR.
The allocation size is 4KB multiples to guarantee alignment. The
idea for these functions is for i.MX platforms to use them
to dynamically allocate IRAM usage.

Applies on 2.6.36-rc7

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Reviewed-by: Amit Kucheria <amit.kucheria@canonical.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-19 18:44:57 +02:00
Sascha Hauer
4b5ee7a768 ARM: iomux-mx51: Add AUD5 pinmux definitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:32:54 +02:00
Uwe Kleine-König
6bd96f3c33 ARM: imx: dynamically register fec devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:31:37 +02:00
Uwe Kleine-König
8a8d20600d ARM: imx: fix/define clocks and create devices for imx dma
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:30:31 +02:00
Eric Bénard
67520f3a89 ARM: mx35: Add mx35_revision function to query the silicon revision
Based on work done earlier by Sascha Hauer

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Eric Bénard <eric@eukrea.com>
[ukl: actually squash the two approaches together]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:28:32 +02:00
Sascha Hauer
fdb03870a9 ARM: mx3: use MX3x_ prefixed version of CHIP_REV_x
Also, remove the deprecated symbols from arch/arm/mach-mx3/cpu.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:28:32 +02:00
Eric Bénard
f5e40c28b6 i.mx25: add esdhc support
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:22:13 +02:00
Wolfram Sang
774305d0ee arm: imx35: add esdhc-device to MX35-platform
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:22:10 +02:00
Wolfram Sang
203a073470 arm: imx: add generic esdhc device
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:22:05 +02:00
Sascha Hauer
63a7c6d750 ARM: mx5: dynamically register mxc-nand device
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:03 +02:00
Uwe Kleine-König
00b57bf978 ARM: imx: reorganize nand registration to use a struct
Addiontionally make the interrupt #defines match the base address
defines MX.._NFC_BASE_ADDR.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:02 +02:00
Sascha Hauer
b86186610f ARM: mx51: add imx-ssi devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:00 +02:00
Uwe Kleine-König
04b73b1571 ARM: mx51: dynamically register imx-uart devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:55 +02:00
Sascha Hauer
f781bc8aa4 ARM: mx5/iomux-mx51: Fix input path of some pins in gpio mode
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:23 +02:00
Sascha Hauer
2e35bab5fd ARM: mx5/iomux-mx51: Add aud3 primary function defines
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:22 +02:00
Sascha Hauer
8efd9271fa ARM: mx5/iomux-mx51: Add SPI controller pads
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:22 +02:00
Jason Wang
eaa4fd0b40 ARM: mx5/iomux-mx51: add iomux definitions for eCSPI2 on the imx51_3ds board
On the imx51_3ds board, eCSPI2 is connected to a SPI NOR flash,
now add iomux definitions for those used pins.

Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:19 +02:00
Uwe Kleine-König
ab5605037c ARM: imx: use platform ids for spi_imx devices
The driver recently learned to handle platform ids.  Make use of this
new feature.  The up side is that the driver needs less knowledge about
the spi interfaces used on different SoCs.

Acked-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:32:14 +02:00
Uwe Kleine-König
64de5ec168 ARM: imx: reorganize imx-i2c device registration to use a struct per SoC
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:39 +02:00
Uwe Kleine-König
4697bb926f ARM: imx: dynamically allocate imx-ssi devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:38 +02:00
Uwe Kleine-König
5162de08d1 ARM: imx: change the way imx-uarts are registered
For mx1_defconfig this yields:

	add/remove: 1/0 grow/shrink: 1/4 up/down: 49/-108 (-59)
	function                                     old     new   delta
	imx1_imx_uart_data                             -      48     +48
	kernel_config_data                          7277    7278      +1
	imx_add_imx_uart_1irq                        132     128      -4
	imx_add_imx_uart_3irq                        164     156      -8
	scb9328_init                                  96      64     -32
	mx1ads_init                                  220     156     -64

for mx21_defconfig this yields:

	add/remove: 1/0 grow/shrink: 0/3 up/down: 64/-52 (12)
	function                                     old     new   delta
	imx21_imx_uart_data                            -      64     +64
	imx_add_imx_uart_3irq                        160     156      -4
	imx_add_imx_uart_1irq                        140     136      -4
	mx21ads_board_init                           220     176     -44

for a random mx25 config this yields:

	add/remove: 1/0 grow/shrink: 0/5 up/down: 80/-56 (24)
	function                                     old     new   delta
	imx25_imx_uart_data                            -      80     +80
	imx_add_imx_uart_3irq                        160     156      -4
	imx_add_imx_uart_1irq                        140     136      -4
	mx25pdk_init                                 288     272     -16
	eukrea_mbimxsd_baseboard_init                272     256     -16
	eukrea_cpuimx25_init                         252     236     -16

for mx27_defconfig this yields:

	add/remove: 1/0 grow/shrink: 0/10 up/down: 96/-280 (-184)
	function                                     old     new   delta
	imx27_imx_uart_data                            -      96     +96
	imx_add_imx_uart_3irq                        160     156      -4
	imx_add_imx_uart_1irq                        140     136      -4
	pca100_init                                  560     544     -16
	mx27pdk_init                                 112      96     -16
	mx27lite_init                                 92      76     -16
	eukrea_cpuimx27_init                         332     316     -16
	pcm038_init                                  388     348     -40
	mxt_td60_board_init                          320     280     -40
	eukrea_mbimx27_baseboard_init                476     436     -40
	mx27ads_board_init                           368     280     -88

and finally for mx3_defconfig:

	add/remove: 2/0 grow/shrink: 0/9 up/down: 128/-344 (-216)
	function                                     old     new   delta
	imx31_imx_uart_data                            -      80     +80
	imx35_imx_uart_data                            -      48     +48
	imx_add_imx_uart_1irq                        132     128      -4
	imx_add_imx_uart_3irq                        164     152     -12
	mx31moboard_devboard_init                    360     344     -16
	mx31lite_db_init                             176     160     -16
	mx31moboard_smartbot_init                    384     360     -24
	kzm_board_init                               232     208     -24
	armadillo5x0_init                            392     364     -28
	mx31lilly_db_init                            248     208     -40
	mxc_board_init                              3760    3580    -180

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:37 +02:00
Uwe Kleine-König
35bab0589b ARM: imx: change the way spi-imx devices are registered
Group soc specific data in a global struct instead of repeating it for
each call to imxXX_add_spi_imxX.  The structs holding the actual data
are placed in .init.constdata and so don't do much harm.  Compared to
the previous approach this reduces code size to call imx_add_spi_imx.

Acked-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:31 +02:00
Uwe Kleine-König
a8a05b8552 ARM: mx51: use IMX_IO_ADDRESS to define MX51_IO_ADDRESS
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:29 +02:00
Uwe Kleine-König
68b5e858dd ARM: mx51: fix naming of spi related defines
The names used now match the processor's reference manual.  Also remove
MXC from the interrupt defines to match the other imx platforms.

Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:46:20 +02:00
Uwe Kleine-König
5a2db4e386 ARM: mx51: clean up mx51 header
This makes the header more look like the other ones, i.e.

 - sort #defines by value
 - use lowercase hex constants
 - use a consistently named header guard

Acked-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 15:45:44 +02:00
Uwe Kleine-König
556cbdbf23 ARM: imx: remove #ifdefery for unmerged flexcan driver
The flexcan driver was merged as e955cead.

Cc: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 12:53:01 +02:00
Fabio Estevam
3efee47db7 ARM: mx5/mx51_babbage: Add FEC support
Tested it by booting a rootfs via NFS.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 12:53:00 +02:00
Sascha Hauer
f2b8901d3e ARM: imx: Add EPIT support
The Enhanced Periodic Interrupt Timer (EPIT) is found on newer
i.MX SoCs and can be used as an alternative system timer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-09-27 12:52:58 +02:00
Eric Bénard
ec53fe3d65 eukrea-baseboards: fix the merge in one file
Last change I did made a big mess in function names and CONFIG names,
this patch fixes this so that the baseboard support is really built
when selected.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-08-16 13:30:35 +02:00
Uwe Kleine-König
868003ca7a ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h>
This is a follow up to

	14cb0de (arm/imx/gpio: add spinlock protection)

and fixes the following build failure:

	  CC      arch/arm/mach-imx/pcm970-baseboard.o
	In file included from arch/arm/include/asm/gpio.h:6,
			 from include/linux/gpio.h:8,
			 from arch/arm/mach-imx/pcm970-baseboard.c:20:
	arch/arm/plat-mxc/include/mach/gpio.h:40: error: expected specifier-qualifier-list before 'spinlock_t'

Cc: stable@kernel.org
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-08-10 22:10:50 +01:00