Commit graph

5070 commits

Author SHA1 Message Date
Hiroshi DOYU
69d3a84a64 omap iommu: simple virtual address space management
This patch provides a device drivers, which has a omap iommu, with
address mapping APIs between device virtual address(iommu), physical
address and MPU virtual address.

There are 4 possible patterns for iommu virtual address(iova/da) mapping.

    |iova/			  mapping		iommu_		page
    | da	pa	va	(d)-(p)-(v)		function	type
  ---------------------------------------------------------------------------
  1 | c		c	c	 1 - 1 - 1	  _kmap() / _kunmap()	s
  2 | c		c,a	c	 1 - 1 - 1	_kmalloc()/ _kfree()	s
  3 | c		d	c	 1 - n - 1	  _vmap() / _vunmap()	s
  4 | c		d,a	c	 1 - n - 1	_vmalloc()/ _vfree()	n*

    'iova':	device iommu virtual address
    'da':	alias of 'iova'
    'pa':	physical address
    'va':	mpu virtual address

    'c':	contiguous memory area
    'd':	dicontiguous memory area
    'a':	anonymous memory allocation
    '()':	optional feature

    'n':	a normal page(4KB) size is used.
    's':	multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used.

    '*':	not yet, but feasible.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-05-19 08:23:49 +03:00
Hiroshi DOYU
066aa9c1e3 omap iommu: omap3 iommu device registration
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-05-19 08:23:37 +03:00
Rabin Vincent
a93ea9b357 [ARM] 5517/1: integrator: don't put clock lookups in __initdata
Remove the __initdata annotation for the clock lookups, since they
will be needed when loading modules which use clk_get().

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-18 17:43:16 +01:00
Rabin Vincent
982db66352 [ARM] 5518/1: versatile: don't put clock lookups in __initdata
Remove the __initdata annotation for the clock lookups, since they
will be needed when loading modules which use clk_get().

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-18 17:43:06 +01:00
Pavel Roskin
8190b37f64 [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFF
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-18 11:25:08 +01:00
Mel Gorman
eb33575cf6 [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2
pfn_valid() is meant to be able to tell if a given PFN has valid memmap
associated with it or not. In FLATMEM, it is expected that holes always
have valid memmap as long as there is valid PFNs either side of the hole.
In SPARSEMEM, it is assumed that a valid section has a memmap for the
entire section.

However, ARM and maybe other embedded architectures in the future free
memmap backing holes to save memory on the assumption the memmap is never
used. The page_zone linkages are then broken even though pfn_valid()
returns true. A walker of the full memmap must then do this additional
check to ensure the memmap they are looking at is sane by making sure the
zone and PFN linkages are still valid. This is expensive, but walkers of
the full memmap are extremely rare.

This was caught before for FLATMEM and hacked around but it hits again for
SPARSEMEM because the page_zone linkages can look ok where the PFN linkages
are totally screwed. This looks like a hatchet job but the reality is that
any clean solution would end up consumning all the memory saved by punching
these unexpected holes in the memmap. For example, we tried marking the
memmap within the section invalid but the section size exceeds the size of
the hole in most cases so pfn_valid() starts returning false where valid
memmap exists. Shrinking the size of the section would increase memory
consumption offsetting the gains.

This patch identifies when an architecture is punching unexpected holes
in the memmap that the memory model cannot automatically detect and sets
ARCH_HAS_HOLES_MEMORYMODEL. At the moment, this is restricted to EP93xx
which is the model sub-architecture this has been reported on but may expand
later. When set, walkers of the full memmap must call memmap_valid_within()
for each PFN and passing in what it expects the page and zone to be for
that PFN. If it finds the linkages to be broken, it assumes the memmap is
invalid for that PFN.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-18 11:22:24 +01:00
Magnus Lilja
135cad366b i.MX31: Add support for the CPLD on PDK Debug board.
The i.MX31 PDK consists of several boards, one of them is a debug
board containing a CPLD which controls some debug leds, switch
buttons, an interrupt chip and an Ethernet controller.
This patch adds support for detecting if the PDK board is present
(during boot) and adds the interrupt chip to the kernel.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-18 08:36:27 +02:00
Russell King
e1342f1da0 Merge branch 'smp-fix' 2009-05-17 17:13:18 +01:00
Russell King
ee348d5a1d [ARM] realview: fix broadcast tick support
Having discussed broadcast tick support with Thomas Glexiner, the
broadcast tick devices should be registered with a higher rating
than the global tick device, and it should have the ONESHOT and
PERIODIC feature flags set.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Thomas Glexiner <tglx@linutronix.de>
2009-05-17 17:11:35 +01:00
Russell King
78d236c2b3 [ARM] realview: remove useless smp_cross_call_done()
smp_cross_call_done() is a no-op for MPCore, and since it's only
used by platform code, there's no point in having it unless it's
doing something.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-17 16:23:45 +01:00
Russell King
826681043d [ARM] smp: fix cpumask usage in ARM SMP code
The ARM SMP code wasn't properly updated for the cpumask changes, which
results in smp_timer_broadcast() broadcasting ticks to non-online CPUs.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-17 16:22:46 +01:00
Ricardo Martins
776abac817 [ARM] 5513/1: Eurotech VIPER SBC: fix compilation error
Compilation for this board yields the following errors:

arch/arm/mach-pxa/viper.c:511: error: 'FFUART' undeclared here (not in a function)
arch/arm/mach-pxa/viper.c:520: error: 'BTUART' undeclared here (not in a function)
arch/arm/mach-pxa/viper.c:529: error: 'STUART' undeclared here (not in a function)

Fix them by including the necessary header.

Signed-off-by: Ricardo Martins <rasm@fe.up.pt>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-16 19:55:56 +01:00
Hartley Sweeten
ff05c0330b [ARM] 5509/1: ep93xx: clkdev enable UARTS
Fix the clkdev API support for the ep93xx uart clocks.

The uarts available in the ep93xx have individual clock controls.
The current implementation assumes that the bootloader has enabled
the clocks before the kernel has booted. It also assumes that the
bootloader has set the UARTBAUD bit indicating that the uarts are
running off the 14.7456MHz external crystal.

This fixes both issues. It also allows the uart clocks to be stopped
when there are no users.

Tested-by: Matthias Kaehlcke <matthias@kaehlcke.net>

Cc: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-16 19:55:56 +01:00
Russell King
cddb783552 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-05-16 19:51:20 +01:00
Russell King
b477dfba38 Merge branch 'fixes-rc5' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-05-16 17:54:19 +01:00
Tony Lindgren
005187eeca ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2
This makes the framebuffer work on omap3.

Also fix the clk_get usage for checkpatch.pl
"ERROR: do not use assignment in if condition".

Cc: Imre Deak <imre.deak@nokia.com>
Cc: linux-fbdev-devel@lists.sourceforge.net
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-16 08:28:17 -07:00
Kalle Jokiniemi
8dbe43930a ARM: OMAP3: Fix HW SAVEANDRESTORE shift define
The OMAP3430ES2_SAVEANDRESTORE_SHIFT macro is used
by powerdomain code in
"1 << OMAP3430ES2_SAVEANDRESTORE_SHIFT" manner, but
the definition was also (1 << 4), meaning we actually
modified bit 16. So the definition needs to be 4.

This fixes also a cold reset HW bug in OMAP3430 ES3.x
where some of the efuse bits are not isolated during
wake-up from off mode. This can cause randomish
cold resets with off mode. Enabling the USBTLL hardware
SAVEANDRESTORE causes the core power up assert to be
delayed in a way that we will not get faulty values
when boot ROM is reading the unisolated registers.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-16 08:28:17 -07:00
Vikram Pandita
e102657ed1 ARM: OMAP3: Fix number of GPIO lines for 34xx
As per 3430 TRM, there are 6 banks [0 to 191]

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-16 08:28:16 -07:00
Magnus Lilja
153fa1d8c6 i.MX31: Restructure UART setup for PDK board.
Restructure UART pin setup in preparation for adding other pins
in later patches.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-16 16:25:04 +02:00
Alberto Panizzo
92ab0a5015 ARM MXC: Make-sure-ipg_per_clk-is-generated-by-ipg_clk-and-not-usb_pll
From ff1fd9d7015d9b9ad3e0df2016d0415e2719747c Mon Sep 17 00:00:00 2001
From: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Date: Fri, 15 May 2009 17:21:21 +0200
Subject: [PATCH] Make sure ipg_per_clk is generated by ipg_clk and not usb_pll

Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-16 16:19:02 +02:00
Magnus Lilja
183c7fff50 i.MX31: Add NAND device driver for Litekit board.
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-16 16:17:40 +02:00
Linus Torvalds
c244450dac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ASoC: DaVinci EVM board support buildfixes
  ASoC: DaVinci I2S updates
  ASoC: davinci-pcm buildfixes
  ALSA: pcsp: fix printk format warning
  ALSA: riptide: postfix increment and off by one
  pxa2xx-ac97: fix reset gpio mode setting
  ASoC: soc-core: fix crash when removing not instantiated card
2009-05-15 08:06:56 -07:00
Ben Dooks
3ac19bb443 [ARM] S3C: Do not set clk->owner field if unset
The s3c24xx_register_clock() function has been doing a test
on clk->owner to see if it is NULL, and then setting itself
as the owner if clk->owner == NULL.

This is not needed, arch/arm/plat-s3c/clock.c cannot be
compiled as a module, and even if it was, it should not be
playing with this field if it being registered from somewhere
else.

The best course of action is to remove this bit of
code completely.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:21:57 +01:00
Ben Dooks
a8af6de00f [ARM] S3C2410: mach-bast.c registering i2c data too early
The BAST support code is calling s3c_i2c0_set_platdata() from
the map_io() entry, instead of the bast_init() code. This causes
the registration to fail due to kmalloc() not being available
at the time.

This fixes the following error:
s3c_i2c0_set_platdata: no memory for platform data

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:25 +01:00
Ben Dooks
871fcd7cf7 [ARM] S3C24XX: Fix unused code warning in arch/arm/plat-s3c24xx/dma.c
Fix unused code warning in arch/arm/plat-s3c24xx/dma.c if there
is no PM support enabled. The function to_dma_chan() should
be marked inline so that the compiler will eliminate it without
warning if it isn't used.

arch/arm/plat-s3c24xx/dma.c:1239: warning: 'to_dma_chan' defined but not used

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:24 +01:00
Marek Szyprowski
beb9f4ed22 [ARM] S3C64XX: fix GPIO debug
Fix compilation bug when debug was enabled

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:18 +01:00
Marek Szyprowski
f36dd6e7c0 [ARM] S3C64XX: GPIO include cleanup
Cleanup arm/plat-s3c64xx/include/plat/gpio-bank-h.h include file.
Using shift-left operation with value >32 is a bad habit.

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:06 +01:00
Takashi Iwai
60befb97f5 Merge branch 'fix/asoc' into for-linus
* fix/asoc:
  ASoC: DaVinci EVM board support buildfixes
  ASoC: DaVinci I2S updates
  ASoC: davinci-pcm buildfixes
  pxa2xx-ac97: fix reset gpio mode setting
  ASoC: soc-core: fix crash when removing not instantiated card
2009-05-15 15:38:26 +02:00
Ben Dooks
3ea385f061 [ARM] nwfpe: fix 'floatx80_is_nan' sparse warning
The symbol 'floatx80_is_nan' prototype was defined
locally in fpa11_cprt.c when it was built outside the
file in softfloat-specialisze.

Move this into softfloat.h to fix the following sparse
warning:

softfloat-specialize:276:6: warning: symbol 'floatx80_is_nan' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 12:49:14 +01:00
Ben Dooks
ceec1c33c3 [ARM] nwfpe: Add decleration for ExtendedCPDO
Add header file decleration for 'ExtendedCPDO' in fpa11.h
to stop the following sparse warning:

extended_cpdo.c:90:14: warning: symbol 'ExtendedCPDO' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 12:49:08 +01:00
David Brownell
f492ec9f02 ASoC: DaVinci EVM board support buildfixes
This is a build fix, resyncing the DaVinci EVM ASoC board code
with the version in the DaVinci tree.  That resync includes
support for the DM355 EVM, although that board isn't yet in
mainline.

(NOTE:  also includes a bugfix to the platform_add_resources
call, recently sent by Chaithrika U S <chaithrika@ti.com> but
not yet merged into the DaVinci tree.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-15 08:59:07 +01:00
Tony Lindgren
4ea60b0c7a ARM: OMAP2/3: Add name for musb clocks
With the clkdev, musb_core.c needs to register clock with name "ick".

Once all the platforms using the musb driver have been converted
to use clockdev, the clock name does not need to be passed
from the low-level init code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-12 11:20:30 -07:00
Jarkko Nikula
c8a799b03a ARM: OMAP2: Fix SPI driver failure on 2420 when running multi-omap config
SPI driver will do unhandled fault on OMAP2420 if trying to probe
non-existing SPI busses. Register those additional busses runtime only
for cpus having them.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-12 11:20:30 -07:00
Jarkko Nikula
eaf9393bb7 ARM: OMAP2: Fix tusb6010 init error and compilation warning
Fix "tusb6010 init error 5, -19" and compilation warning from function
tusb6010_platform_retime "warning: 'sysclk_ps' is used uninitialized in this
function".

I suppose commit c094ba34b8 was meant to test
for zero fclk_ps instead of sysclk_ps.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Roel Kluin <roel.kluin@gmail.com>
Tested-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-12 11:20:02 -07:00
Paul Walmsley
6f733a349c ARM: OMAP: GPIO de-bounce clocks don't affect module idle state
GPIO de-bounce clocks don't have any impact on the module idle state, so
the clock code should not wait for the module to enable after the de-bounce
clocks are enabled.

Problem found by Kevin Hilman <khilman@deeprootsystems.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-12 11:18:34 -07:00
Tomi Valkeinen
72af2b3631 ARM: OMAP: Fix printing of reserved memory for frambuffer
Print reserved memory only if it was actually reserved.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-11 09:58:19 -07:00
Linus Torvalds
2ad20802b7 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits)
  bonding: fix panic if initialization fails
  IXP4xx: complete Ethernet netdev setup before calling register_netdev().
  IXP4xx: use "ENODEV" instead of "ENOSYS" in module initialization.
  ipvs: Fix IPv4 FWMARK virtual services
  ipv4: Make INET_LRO a bool instead of tristate.
  net: remove stale reference to fastroute from Kconfig help text
  net: update skb_recycle_check() for hardware timestamping changes
  bnx2: Fix panic in bnx2_poll_work().
  net-sched: fix bfifo default limit
  igb: resolve panic on shutdown when SR-IOV is enabled
  wimax: oops: wimax_dev_add() is the only one that can initialize the state
  wimax: fix oops if netlink fails to add attribute
  Bluetooth: Move dev_set_name() to a context that can sleep
  netfilter: ctnetlink: fix wrong message type in user updates
  netfilter: xt_cluster: fix use of cluster match with 32 nodes
  netfilter: ip6t_ipv6header: fix match on packets ending with NEXTHDR_NONE
  netfilter: add missing linux/types.h include to xt_LED.h
  mac80211: pid, fix memory corruption
  mac80211: minstrel, fix memory corruption
  cfg80211: fix comment on regulatory hint processing
  ...
2009-05-10 10:46:45 -07:00
Krzysztof Hałasa
3ba8c79205 IXP4xx: use "ENODEV" instead of "ENOSYS" in module initialization.
ENOSYS makes modutils complain about missing kernel module support.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
2009-05-09 14:55:52 +02:00
Paul Gortmaker
ae51e60984 [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types
From: Bruce Ashfield <bruce.ashfield@windriver.com>

To fully support the armv7-a instruction set/optimizations, support
for the R_ARM_MOVW_ABS_NC and R_ARM_MOVT_ABS relocation types is
required.

The MOVW and MOVT are both load-immediate instructions, MOVW loads 16
bits into the bottom half of a register, and MOVT loads 16 bits into the
top half of a register.

The relocation information for these instructions has a full 32 bit
value, plus an addend which is stored in the 16 immediate bits in the
instruction itself.  The immediate bits in the instruction are not
contiguous (the register # splits it into a 4 bit and 12 bit value),
so the addend has to be extracted accordingly and added to the value.
The value is then split and put into the instruction; a MOVW uses the
bottom 16 bits of the value, and a MOVT uses the top 16 bits.

Signed-off-by: David Borman <david.borman@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-07 17:21:01 +01:00
Valentin Longchamp
c2e5307b90 mx31: changed CONSISTENT_DMA_SIZE to 8M for mx31 video
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:21:26 +02:00
Valentin Longchamp
9c70e227e0 mx31: add camera device
This adds the camera device based on Guennadi's soc_camera architecture
for the mx31.

The proposed init by Guennadi was removed and must be implemented in the
board init file as it contains a lot of board specific info (memory
size, clock speed).

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:21:16 +02:00
Valentin Longchamp
03c13ecc0d mx31moboard: add support for usb OTG device (v3)
This is used on all board of our system, so again this is done in the
mx31moboard.c file.

changes since v2: call to gpio_request added in platform code, and
moved device initialization in baseboard files.

changes since v1: pins are claimed in another patch

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:21:02 +02:00
Sascha Hauer
4f163eb881 mx31: calls to gpio_request moved into platform code
In order to use the gpiolib, we now have to call gpio_request in
the plaform code since it is not done in iomux code anymore.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:52 +02:00
Valentin Longchamp
ef754d6358 mx31: remove gpio_request calls from iomux code
Since iomux code is not directly related to gpio on mx31, the calls
to gpio_request are removed from iomux.c file.

These calls have to be done in platform initialization files. The
name of the singe pin call for iomux is also changed to
mxc_iomux_alloc_pin.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:40 +02:00
Sascha Hauer
35c82da0bf MXC qonq: mxc_map_io is now mx31_map_io
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:34 +02:00
Sascha Hauer
81ec1f929f mxc: fix wrong register access in timer code
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:28 +02:00
Sascha Hauer
74fe030e63 mx1ads: rename mxc_map_io to mx1_map_io
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:22 +02:00
Sascha Hauer
345569a2ed mx1: add missing include
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:15 +02:00
Sascha Hauer
5ae07daa48 mx1ads: setup iomux pins at once
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:09 +02:00
Sascha Hauer
5b68421f41 mx1ads: remove ifdefs, reorder include alphabetically
header is part of the kernel now.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:59 +02:00
Guennadi Liakhovetski
eb05bbeb65 ARM: add USB device support to pcm037
Add OTG device definition and resources to i.MX31 and a pure USB device mode
support to the pcm037 board.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:50 +02:00
Sascha Hauer
bff0b53bd7 PCM038: Remove unnecessary ifdefs, reorder includes alphabetically
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:44 +02:00
Sascha Hauer
f231ea441a pcm038: Setup all iomux pins at once
Also, remove usage of set_irq_type after request_irq.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:38 +02:00
Vladimir Barinov
60c24dc79f MX27ADS: Add SDHC support
Add SDHC support for MX27ADS board

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:30 +02:00
Vladimir Barinov
9366d8f67c MX27ADS: Add 1-wire support
Add 1-wire support for MX27ADS board

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:20 +02:00
Vladimir Barinov
11cda13d48 MX27ADS: Add framebuffer support
Add Sharp-QVGA panel support for MX27ADS board

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:11 +02:00
Vladimir Barinov
c981214ac4 MX27ADS: Add I2C support
Add I2C support for MX27ADS board

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:01 +02:00
Vladimir Barinov
8d4fd258f9 MX27ADS: Add NAND support
Add NAND support for MX27ADS board

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:53 +02:00
Vladimir Barinov
c1a6f12383 MX27ADS: setup all pins at once in one table
Setup all pins at once in one table

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:44 +02:00
Magnus Lilja
3211705f76 i.MX31: Add ethernet support to i.MX31 Litekit board.
This patch adds the SMSC platform device to the Litekit board.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:36 +02:00
Magnus Lilja
c133261631 i.MX31: Correct comments on CONFIG_DEBUG_LL.
Several comments in board config files stated "mandatory for
CONFIG_LL_DEBUG" but the correct name is CONFIG_DEBUG_LL.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:25 +02:00
Magnus Lilja
3b7b8db122 i.MX31: Removed unused items from board-mx31lite.h.
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:16 +02:00
Magnus Lilja
a854b8ab98 i.MX31: Add UART1 device to Litekit board.
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:08 +02:00
Valentin Longchamp
45b131a78c mx31moboard: add sdhc support (v3)
This support both sdhc1 and sdhc2 with WP and CD for the marxbot and
devboard mx31moboard baseboards.

sdhc2 is present on both, but is not directly included in the
mx31moboard file because a third baseboard (not supported yet) without
sdhc2 is planned.

Changes since v1: removed pin initialization from init/exit function and
taken different comments into account

Changes since v2: pin initialiation now is done in another patch for all
current mx31moboard pins

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:57 +02:00
Valentin Longchamp
4ec6ecc778 mx31moboard: add i2c support (v2)
Changes since v1: all the pins needed for the drivers are claimed in
another patch

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:44 +02:00
Valentin Longchamp
56c7a45bee mx31moboard: setup all pins (v2)
As suggested by Sascha, here we setup all the pins that we are using in
the current (and currently reviewed) drivers for mx31moboard system.

changes since v1: changed I2C1 pin names

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:35 +02:00
Valentin Longchamp
f801079b2b mx31: define various pins used on mx31moboard (v2)
As suggested by Sascha, I regroup them in a single patch so that the
other patches become more orthogonal.

changes since v1: changed I2C1 pin names

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:25 +02:00
Alan Carvalho de Assis
45001e92d0 i.MX31: Add hw-random for RNGA
This hw-random driver add support to RNGA hardware found
on some i.MX processors.

Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
Acked-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:16 +02:00
Valentin Longchamp
220bbcea27 mx31moboard: clean-up of board support
Various improvements (includes in alphabetical order, platform devices
declaration order change, ...)

The pins now are claimed in a single function call from a main table for
every board for a better clarity and to adopt the current agreement for
mx31 devices.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:07 +02:00
Fabio Estevam
ec9be0debd MX27: Add basic support to MX27PDK
This patch adds basic support to MX27PDK board http://www.freescale.com/imx27pdk ).

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:55 +02:00
Ivo Clarysse
5ed7449a26 MXC: mx2_defconfig file
Adds a defconfig file for the i.MX21 SoC, targeting
the Freescale i.MX21ADS (M9328MX21ADSE) Application
Development System.

Signed-off-by: Ivo Clarysse <ivo.clarysse@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:45 +02:00
Holger Schurig
c010dba89b imx: re-work of PWM, add i.MX21 support
* Kconfig enables now HAVE_PWM (this enables in turn the selection of
  CONFIG_BACKLIGHT_PWM)
* changes CONFIG_ARCH_MXyy to CONFIG_MACH_MXyy
* fix some register names to match those of the reference manual
* write a stub code so that the PWM can be used to program the
  LCD backlight
* convert from #ifdef CONFIG_ARCH_MXxx to cpu_is_mxXX()
* remove unneeded defines and fix 80-column "violations" of checkpatch.pl

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:38 +02:00
Ivo Clarysse
6b91edde09 MXC: mx21ads base support
[PATCH v6] MXC: mx21ads base support

Base machine support for the  Freescale i.MX21ADS
(M9328MX21ADSE) Application Development System.

Signed-off-by: Ivo Clarysse <ivo.clarysse@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:24 +02:00
Guennadi Liakhovetski
a8df0ee8d8 ARM: framebuffer support for pcm037
Add support for a QVGA Sharp LCD on pcm037.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:12 +02:00
Guennadi Liakhovetski
910862ec09 mxc: emulate GPIO interrupt on both-edges
MXC GPIO controller does not support generation of interrupts on both
edges. Emulate this mode in software by reconfiguring the irq trigger
polarity on each interrupt. This follows an example of
drivers/mfd/asic3.c.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:06 +02:00
Holger Schurig
fde364742a imx: exit functions can/should be void
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:58 +02:00
Sascha Hauer
1341d34ffc [ARM] remove arch-imx
arch-imx is superseeded by the MXC architecture support.
This patch removes arch/arm/mach-imx from the kernel.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:51 +02:00
Sascha Hauer
8c8fdbc9bd [ARM] Remove arch-imx from build system
arch-imx is superseeded by the MXC architecture support.
This patch removes arch-imx from the build system.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:48 +02:00
Sascha Hauer
84c9fa4304 mxc irq: make architecture runtime dependent
Currently we depend on hardcoded base addresses for the interrupt
controller. This prevents us from compiling in more than one i.MX
architecture at a time. This patch changes the base address to a
runtime calculated one.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:45 +02:00
Sascha Hauer
ec996ba9b5 mxc timer: make compile time independent
Currently we depend on hardcoded base addresses for the timer.
This prevents us from compiling in more than one i.MX architecture
at a time. This patch changes the base address to a runtime
calculated one.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:42 +02:00
Sascha Hauer
cd4a05f9df MXC: rename mxc_map_io to architecture specific versions
This allows us to have more mapping functions for more than one
i.MX architecture in the kernel. As this is the earliest board
specific hook we have, also use it to set the cpu type.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:37 +02:00
Sascha Hauer
13e9f61235 pcm037: Add support for UART2
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:33 +02:00
Sascha Hauer
76b6ea0aaa MX35: Fix IPU/Framebuffer clock names
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:29 +02:00
Sascha Hauer
dddd4a493d pcm037: add SDHC card detection
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:26 +02:00
Sascha Hauer
01ac7d584d pcm037: setup all pins at once and not in init functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:21 +02:00
Sascha Hauer
d16caf69ce i.MX35 clock support: remove automotive path
It is no longer present in newer cores. Unfortunately Freescale decided
to put the bit which decides between automotive clock path and consumer
clock path in the automotive clock path direction. With current code we
cannot detect the core revision, so just remove automotive path completely.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:13 +02:00
Sascha Hauer
54df526819 [ARM] MX35: Add PCM043 board support
The PCM043 is a i.MX35 based board from Phytec also known as the
phyCORE-i.MX35.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:08 +02:00
Sascha Hauer
218deaa743 MX35: Add iomux pin defintions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:03 +02:00
Sascha Hauer
bca6ef1e53 MXC: Add iomux support for MX35 SoCs
This iomux is called iomux-v3 in the tree because it is the third known
incarnation of MXC iomuxers. It is not only found on the MX35 but also
on the MX51 and probably others.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:14:56 +02:00
Sascha Hauer
01eb1753fc MXC irq: remove unused defines
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:14:38 +02:00
Kevin Hilman
a029b706d3 [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32)
As per commit 284901a90a, use
DMA_BIT_MASK(n)

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-07 14:44:47 +01:00
Hiroshi DOYU
2bcb573343 omap iommu: omap2 architecture specific functions
The structure 'arch_mmu' accommodates the difference between omap1 and
omap2/3.

This patch provides omap2/3 specific functions

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-05-05 14:52:39 +03:00
Hiroshi DOYU
a9dcad5e37 omap iommu: tlb and pagetable primitives
This patch provides:

- iotlb_*()     : iommu tlb operations
- iopgtable_*() : iommu pagetable(twl) operations
- iommu_*()     : the other generic operations

and the entry points to register and acquire iommu object.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-05-05 14:52:39 +03:00
Russell King
0c15702445 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 2009-05-05 09:22:26 +01:00
Russell King
64724ef8bd Merge branch 'for-rmk' of git://git.marvell.com/orion 2009-05-05 09:22:05 +01:00
Magnus Lilja
25971dfe3a i.MX31: Disable CPU_32v6K in mx3_defconfig.
The i.MX31 ARM11 core is not a v6K core. Disable this option as it
is incompatible with non v6K cores.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-05 09:38:04 +02:00
Uwe Kleine-König
7b9020badf mx27ads: move PBC mapping out of vmalloc space
Before this patch I got the following line in my dmesg:

	[    0.000000] BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space

VMALLOC_END is 0xf4000000 and there are the following other mappings
defined for mx27ads:

	(0xa0500000,+0x00001000) maps to 0xffff0000
	(0x10000000,+0x00100000) maps to 0xf4000000
	(0x80000000,+0x00100000) maps to 0xf4100000
	(0xd8000000,+0x00100000) maps to 0xf4200000

So map PBC to 0xf4300000.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-05 09:37:08 +02:00
Sascha Hauer
e2c97e7fdc MXC: remove BUG_ON in interrupt handler
On i.MX31 I sometimes get spurious interrupts. There is no need
to crash the whole system when this happens. Instead, silently
ignore it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-05 09:37:01 +02:00
Valentin Longchamp
f1fd4c64af mx31: remove mx31moboard_defconfig
We want to have a mx31_defconfig file that builds a kernel that is able
to boot on all support mx31 systems and thus also can be better tested
by automatic build scripts. For these reasons, this config file is not
needed anymore.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-05 09:36:52 +02:00
Guennadi Liakhovetski
9abf137c6d ARM: ARCH_MXC should select HAVE_CLK
All i.MX platforms support <linux/clk.h> calls and should select HAVE_CLK.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-05 09:36:44 +02:00