1300 Commits

Author SHA1 Message Date
Russell King
264edb35ce [ARM] Remove yucky ifdefs to print "id(wb)BRR" suffix on CPU name
The "id(wb)BRR" suffix reports which CPU debugging options were (or
were not) selected at kernel build time.  Rather than have every
proc-*.S file implement this, report the control register value,
from which this information can be deduced.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-29 15:03:09 +01:00
Linus Torvalds
27d68a36c4 Merge branch 'nommu' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'nommu' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] nommu: backtrace code must not reference a discarded section
  [ARM] nommu: Initial uCLinux support for MMU-based CPUs
  [ARM] nommu: prevent Xscale-based machines being selected
  [ARM] nommu: export flush_dcache_page()
  [ARM] nommu: remove fault-armv, mmap and mm-armv files from nommu build
  [ARM] Remove TABLE_SIZE, and several unused function prototypes
  [ARM] nommu: Provide a simple flush_dcache_page implementation
  [ARM] nommu: add arch/arm/Kconfig-nommu to Kconfig files
  [ARM] nommu: add stubs for ioremap and friends
  [ARM] nommu: avoid selecting TLB and CPU specific copy code
  [ARM] nommu: uaccess tweaks
  [ARM] nommu: adjust headers for !MMU ARM systems
  [ARM] nommu: we need the TLS register emulation for nommu mode
2006-06-28 16:20:49 -07:00
Russell King
583e7f5d36 [ARM] nommu: backtrace code must not reference a discarded section
The code in "1007:" is in the .fixup section, which in the mmuless
case is discarded.  Since this code is referenced from the .text
section, it causes an link error.  Move this code into the .text
section instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:57 +01:00
Hyok S. Choi
d090dddaba [ARM] nommu: Initial uCLinux support for MMU-based CPUs
In noMMU mode, various of functions which are defined in mm/proc-*.S
is not valid or needed to be avoided. i.g. switch_mm is not needed,
just returns and this makes the I & D caches are valid which shows
great improvement of performance including task switching and IPC.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:56 +01:00
Russell King
a4f7e76367 [ARM] nommu: prevent Xscale-based machines being selected
Hyok says Intel Xscale is not currently supported by uCLinux.
Rather than adding #error statements to the Xscale support files
and causing !MMU+Xscale configurations to fail to build, prevent
Xscale-based machines from being selected in !MMU mode.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:54 +01:00
Hyok S. Choi
3e36122595 [ARM] nommu: export flush_dcache_page()
This is a trivial patch to export flush_dcache_page in mm/nommu.c.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:53 +01:00
Russell King
092c1952e1 [ARM] nommu: remove fault-armv, mmap and mm-armv files from nommu build
Remove fault-armv.o, mmap.o and mm-armv.o from uclinux builds - these
are concerned with MMU-ful operations, and as such are redundant for
uclinux.

Since this also removes iotable_init() and iotable_init() is used
extensively in the platform support files, just make it a no-op.

Based upon a couple of patches by Hyok.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:52 +01:00
Russell King
888e7bf166 [ARM] Remove TABLE_SIZE, and several unused function prototypes
TABLE_SIZE is never used in arch/arm/mm/init.c.  create_memmap_holes(),
memtable_init, and setup_io_desc() no longer exist in the kernel.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:51 +01:00
Russell King
e6b1b38c52 [ARM] nommu: Provide a simple flush_dcache_page implementation
nommu doesn't require a complex flush_dcache_page implementation
like the MMU-ful CPUs do, so provide a simplified version in nommu.c
and omit flush.c from the build as appropriate.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:50 +01:00
Hyok S. Choi
3b93e7b08f [ARM] nommu: add arch/arm/Kconfig-nommu to Kconfig files
Include Kconfig-nommu when MMU is not selected.

(This is part of a patch from Hyok.)

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:49 +01:00
Russell King
5924486dc0 [ARM] nommu: add stubs for ioremap and friends
nommu doesn't have any form of remapping support, so ioremap, etc
become stubs which just return the casted address, doing nothing
else.

Move ioport_map(), ioport_unmap(), pci_iomap(), pci_iounmap()
into a separate file which is always built.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:48 +01:00
Hyok S. Choi
f9c21a6ee7 [ARM] nommu: avoid selecting TLB and CPU specific copy code
Since uclinux doesn't make use of the TLB, including the TLB
maintainence and CPU-optimised copypage functions does not
make sense.  Remove them.

(This is part of one of Hyok's patches.)

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:47 +01:00
Russell King
9641c7cc5a [ARM] nommu: uaccess tweaks
MMUless systems have only one address space for all threads, so
both the usual access_ok() checks, and the exception handling do
not make much sense.

Hence, discard the fixup and exception tables at link time, use
memcpy/memset for the user copy/clearing functions, and define
the permission check macros to be constants.

Some of this patch was derived from the equivalent patch by
Hyok S. Choi.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:46 +01:00
Russell King
60b6cf6851 [ARM] nommu: we need the TLS register emulation for nommu mode
Since there can be no fixed location for the TLS value with nommu
systems, we must provide TLS register emulation in order to support
TLS binaries on CPUs without the thread register.

Part of a patch from Hyok S. Choi, and cleaned up by rmk.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:59:43 +01:00
Guennadi Liakhovetski
e033108bf7 [ARM] 3672/1: PXA: don't probe output GPIOs for interrupt
Patch from Guennadi Liakhovetski

Currently probe_irq_on() on PXA will silently reconfigure all output GPIOs, that are not configured as alternate functions, for input. Avoid that. Upon CPU reset all GPIOs are configured as inputs, so, if a GPIO is configured as output, it has been done so intentionally.

Signed-off-by: G. Liakhovetski <gl@dsa-ac.de>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:55:03 +01:00
Lennert Buytenhek
87c01737b1 [ARM] 3671/1: ep93xx: add cirrus logic edb9315 support
Patch from Lennert Buytenhek

This patch adds support for the Cirrus Logic EDB9315, an evaluation
board based on the Cirrus Logic EP9315 SoC, with 64M RAM, two USB host
ports, audio in/out, three serial ports, 10/100 ethernet, and IDE, VGA,
and LCD interfaces.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:55:02 +01:00
Lennert Buytenhek
c17fad11f3 [ARM] 3370/2: ep93xx: add crunch support
Patch from Lennert Buytenhek

Add the necessary kernel bits for crunch task switching.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:55:01 +01:00
Lennert Buytenhek
5429b060df [ARM] 3665/1: crunch: add ptrace support
Patch from Lennert Buytenhek

This patch makes it possible to get/set a task's Crunch state via
the ptrace(2) system call.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:55:00 +01:00
Lennert Buytenhek
3bec6ded28 [ARM] 3664/1: crunch: add signal frame save/restore
Patch from Lennert Buytenhek

This patch makes the kernel save Crunch state in userland signal frames,
so that any userland signal handler can safely use the Crunch coprocessor
without corrupting the Crunch state of the code it preempted.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:54:59 +01:00
Lennert Buytenhek
562ca1e32a [ARM] 3663/1: fix resource->end off-by-one thinko during physmap conversion
Patch from Lennert Buytenhek

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:54:58 +01:00
Ben Dooks
b8ccca4a57 [ARM] 3658/1: S3C244X: Change usb-gadget name to s3c2440-usbgadget
Patch from Ben Dooks

The S3C2440 and S3C2442 have an extended USB gadget
controller, so re-name the platform device to inform
the driver that it needs to change some parameters

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:54:53 +01:00
Russell King
02fcb97436 [ARM] Remove the __arch_* layer from uaccess.h
Back in the days when we had armo (26-bit) and armv (32-bit) combined,
we had an additional layer to the uaccess macros to ensure correct
typing.  Since we no longer have 26-bit in this tree, we no longer
need this layer, so eliminate it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-28 17:53:27 +01:00
KAMEZAWA Hiroyuki
76b67ed9dc [PATCH] node hotplug: register cpu: remove node struct
With Goto-san's patch, we can add new pgdat/node at runtime.  I'm now
considering node-hot-add with cpu + memory on ACPI.

I found acpi container, which describes node, could evaluate cpu before
memory. This means cpu-hot-add occurs before memory hot add.

In most part, cpu-hot-add doesn't depend on node hot add.  But register_cpu(),
which creates symbolic link from node to cpu, requires that node should be
onlined before register_cpu().  When a node is onlined, its pgdat should be
there.

This patch-set holds off creating symbolic link from node to cpu
until node is onlined.

This removes node arguments from register_cpu().

Now, register_cpu() requires 'struct node' as its argument.  But the array of
struct node is now unified in driver/base/node.c now (By Goto's node hotplug
patch).  We can get struct node in generic way.  So, this argument is not
necessary now.

This patch also guarantees add cpu under node only when node is onlined.  It
is necessary for node-hot-add vs.  cpu-hot-add patch following this.

Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard
to its 'struct node *root' argument.  This patch removes it.

Also modify callers of register_cpu()/unregister_cpu, whose args are changed
by register-cpu-remove-node-struct patch.

[Brice.Goglin@ens-lyon.org: fix it]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-27 17:32:37 -07:00
Greg Kroah-Hartman
e31dd6e452 [PATCH] 64bit resource: change pci core and arch code to use resource_size_t
Based on a patch series originally from Vivek Goyal <vgoyal@in.ibm.com>

Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-27 09:24:00 -07:00
Greg Kroah-Hartman
740e518efc [PATCH] 64bit resource: C99 changes for struct resource declarations
Based on an original patch from Ralf Baechle <ralf@linux-mips.org> and
Vivek Goyal <vgoyal@in.ibm.com>.  This is needed in order to prepare for
changing the size of resources.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-27 09:23:58 -07:00
Tony Lindgren
3cbc96050b ARM: OMAP: Multiplexing for 24xx GPMC wait pin monitoring
Multiplexing for 24xx GPMC wait pin monitoring

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:25 -07:00
Tony Lindgren
ce2deca27a ARM: OMAP: Fix SRAM to use MT_MEMORY instead of MT_DEVICE
MT_MEMORY is needed in order to execute code in SRAM. Also
need to use section mapping.

Based on a patch by Richard Woodruff.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:24 -07:00
Timo Teras
83379c81f6 ARM: OMAP: Update dmtimers
- Initialize timer outside of spinlock to reduce the time the spinlock is held
- Do clk_get to the source clocks during initialization to avoid sleeping later
- New function to set counter register

Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:23 -07:00
Juha Yrjola
7df3450e5c ARM: OMAP: Make clock variables static
Since the mutex protecting the clock list is static, the list
itself should be too.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:22 -07:00
Juha Yrjola
2aab6468b7 ARM: OMAP: Fix GPMC compilation when DEBUG is defined
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:21 -07:00
Tony Lindgren
5ac4215349 ARM: OMAP: Mux updates for external DMA and GPIO
Mux updates for external DMA and GPIO. GPIO updates
by Igor Stoppa.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:20 -07:00
Tony Lindgren
22a16f39e3 ARM: OMAP: Add initial 24xx suspend support
This patch adds support for omap24xx power domains and
allows suspend to work.

Please note that for some reason core power domain still
does not seem to idle.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:18 -07:00
Tony Lindgren
a7ca9d2b01 ARM: OMAP: Update cpufreq support for 24xx
Update cpufreq support for 24xx

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:17 -07:00
Juha Yrjola
4bbbc1adc2 ARM: OMAP: Add GPMC support for OMAP2
Implement basic support for General-Purpose Memory Controller
as found on OMAP2420.

Dynamic CS address space allocation still needs to be done.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:16 -07:00
Tony Lindgren
7ff879dbcd ARM: OMAP: Fix DMA channel irq handling for omap24xx
- DMA CSR register is cleared by reading on omap1, but on
  omap2 it is cleard by writing to it.

- DMA TOUT interrupt does not exist on omap24xx, rename it

- Add SECURE and MISALIGNED errors by default for omap24xx

- Add defines for external DMA request lines

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:15 -07:00
Kyungmin Park
6dc3c8f201 ARM: OMAP: OMAP2 DMA burst support
OMAP2 DMA burst setting support

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:14 -07:00
Timo Teras
e32f7ec2e8 ARM: OMAP: Fix 32 kHz timer and modify GP timer to use GPT1
The dmtimer framework update broke 32 kHz timer as udelay() does not work
before system timer is started (and GPT1 should not be reset).
This also makes the GP timer use GPT1. This requires a fix in clock framework.

Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:13 -07:00
Timo Teras
77900a2fc3 ARM: OMAP: Port dmtimers to OMAP2 and implement PWM support
Port dmtimer framework to OMAP2.
Modify the dmtimers API to support setting of PWM configuration and prescaler.
Convert 32 kHz timer and GP timer to use the dmtimer framework.

Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:12 -07:00
Jarkko Nikula
6e711ec6d2 ARM: OMAP: Correct two bugs in arch/arm/mach-omap2/clock.c
omap2_clk_set_rate: dif_off must use clk->rate_offset, not clk->src_off.
omap2_get_src_field: for the case CM_SYSCLKOUT_SEL1, val must be 2 for
96MHz and 3 for 54MHz.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:11 -07:00
Juha Yrjola
ed7eb9d90a ARM: OMAP: Register the 24xx McSPI device
Register the 24xx McSPI device as an OMAP2 platform device.  The driver
module and Kconfig option were merged already some time ago.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:10 -07:00
David Brownell
c15e5d10b1 ARM: OMAP: Add bitbank SPI driver for Innovator 1510 touchscreen
Add bitbang SPI driver for Innovator 1510 touchscreen, using the new
framework.  Compile-tested only.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:09 -07:00
lamikr
284185c73d ARM: OMAP: Aic23 alsa platform driver code for board-innovator
Add platform driver init-code required by the aic23-alsa driver to
omap-innovator.

Signed-off-by: Mika Laitio <lamikr@cc.jyu.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:08 -07:00
Imre Deak
99c477074d ARM: OMAP: Fix GPIO IRQ mask handling
The GPIO IRQ mask was retrieved incorrectly in cases where we have a mask
register instead of an enable register. Also we should only return the
valid bits depending on the bank size.

This fixes a bug on 1510/1610 based OMAPs where GPIO IRQs are not
delivered.

Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:07 -07:00
Peter Ujfalusi
eca9e56eb8 ARM: OMAP: DMA transfer parameter configuration fix
Fix for re-using OMAP DMA channel with different transfer parameters.
Bits in the CCR register need to be cleaned as well in some cases.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:06 -07:00
David Brownell
e8cdf7bdf3 ARM: OMAP: Mistral ads7846 pendown state
Syncing the ads7846 code with mainstream means that the Mistral support
needs to include a callback to read the pendown state.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:04 -07:00
Brian Swetland
495f71db30 ARM: OMAP: Add core fsample support
This patch adds core support for the TI F-Sample Board (OMAP 850).

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:03 -07:00
Tony Lindgren
ffb7a80f93 ARM: OMAP: Fix gpt2_ick clock bit
CM_ICLKEN1_CORE bit should be 4, not 0 as noted by
Richard Woodruff.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:02 -07:00
Jonathan McDowell
0711615290 ARM: OMAP: Readd Amstrad Delta USB support
One of the recent merges from mainline removed the Amstrad Delta USB
support. This patch adds it back in; it's the same as was in
2.6.16-omap2.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:01 -07:00
Imre Deak
ea6dedd7fb ARM: OMAP: GPIO IRQ lazy IRQ disable fix
- The current OMAP GPIO IRQ framework doesn't use the do_edge_IRQ,
  do_level_IRQ handlers, but instead calls do_simple_IRQ. This
  doesn't handle disabled interrupts properly, so drivers will
  still get interrupts after calling disable_irq. The patch solves
  this by respecting the irq_desc.disable_depth and irq_desc.running
  counters.  When one of these is non-zero the handler is not called,
  the interrupt is masked and marked as pending. The pending interrupt
  will be serviced when the running handler returns. This is according
  to the same semantics as the standard do_edge_IRQ and do_level_IRQ
  handlers have, so one day we should use them instead of do_simple_IRQ.

- Process only interrupts that are not masked. The ISR may contain
  pending interrupts that are masked these shouldn't be processed.

- Move the bank IRQ unmasking out of the IRQ dispatch loop. If there
  are further iterations we shouldn't unmask it if there are level
  triggered interrupts pending.

Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:00 -07:00
David Brownell
7876284178 ARM: OMAP: Mistral board updates (spi, ...)
This adds the OSK/Mistral specific glue for the omap_uwire driver and
its ADS 7846 touchscreen.  It also moves the lcd and keypad setup so
it's grouped with the other Mistral-specific setup code, and provides
comments about which switch maps to which reported key.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:15:59 -07:00