Commit Graph

27259 Commits

Author SHA1 Message Date
Andrew Victor afefc4158f [ARM] 3592/1: AT91RM9200 Serial driver update
Patch from Andrew Victor

This patch includes a number of updates to the AT91RM9200 serial driver.

Changes include:
1. Conversion to a platform_driver.  [Ivan Kokshaysky]
2. Replaced all references to AT91RM9200 with AT91.  This driver can now
also be used for the AT91SAM9216.
3. Allow TIOCM_LOOP to configure local loopback mode.
4. Cleaned up the 'read_status_mask' usage and interrupt handler code.
[Chip Coldwell]
5. Suspend/resume support.  [David Brownell]

There are a few 'unused variable' warning when compiling this - I
removed the new DMA support to keep this first patch simpler.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 19:53:19 +01:00
Andrew Victor 82dc0772a8 [ARM] 3590/1: AT91RM9200 Platform devices support
Patch from Andrew Victor

This patch includes the structures and exported functions required for
the platform-device support (added in patch 3585/1).

Also adds the arch_identify() function for run-time detection of which
AT91 processor the code is running on.  [Original patch from Ivan
Kokshaysky]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 18:16:46 +01:00
Andrew Victor 067bbada4c [ARM] 3589/1: AT91RM9200 DK/EK board update
Patch from Andrew Victor

This patch updates the support for the Atmel DK and EK boards.

The changes include:
1. Use the new at91_uart_config structure and device registration
functions for the UARTs.
2. Registration of I2C and SPI platform devices.
3. The USB Device pullup line is connected to reset, so multidrive needs
to be enabled on the line.  [Patch from David Brownell].

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 18:16:45 +01:00
Andrew Victor 466e6227e6 [ARM] 3588/1: AT91RM9200 CSB337/637 board update
Patch from Andrew Victor

This patch updates the support for the Cogent CSB337 and CSB637 boards.

The changes include:
1. Use the new at91_uart_config structure and device registration
functions for the UARTs.
2. Registration of I2C and SPI platform devices.
3. The CSB337 board uses PB0 & PB1 (and not PB2) for the LEDs.  [Patch
from David Brownell]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 17:26:23 +01:00
Andrew Victor 82c583e3ae [ARM] 3587/1: AT91RM9200 hardware headers
Patch from Andrew Victor

These headers define the registers and bits for the SPI (Serial
Peripheral Interface), SSC (Synchronous Serial), TC (Timer/Counter) and
UDP (USB Device) peripherals integrated in the AT91RM9200 processor.

(They will probably also be usable for the AT91SAM9 series of SoC
processors)

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 16:57:00 +01:00
Andrew Victor 7238d7ee82 [ARM] 3586/1: AT91RM9200 header update
Patch from Andrew Victor

Added definition for the bits in the Chip ID register.
Corrected the capitalization of AT91_RTC_AMPM register name.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 16:57:00 +01:00
Andrew Victor 2e83640270 [ARM] 3585/1: AT91RM9200 Platform devices
Patch from Andrew Victor

This patch updates the platform device support for the AT91RM9200.

The changes include:

1. USB Host device renamed to "at91_ohci" since the driver is also
usable on the AT91SAM9261 processor.
2. Enabling multidrive on the USB Device's pullup pin should not be done
for all boards.  Moved into board-specific files.  [Patch from David
Brownell]
3. Move enabling of PCMCIA/Compact Flash pins out of the driver.
4. Added SPI device and resources.
5. Added Watchdog device and resources.  [Patch from David Brownell]
6. Added UART device and resources.
7. The simple devices (watchdog, rtc, i2c) are now automatically
registered and don't have to be registered separately in each
board-specific file. [Patch from David Brownell]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 16:31:55 +01:00
Andrew Victor 814138ffa4 [ARM] 3584/1: AT91RM9200 GPIO suspend/resume support
Patch from Andrew Victor

This patch adds suspend/resume/set_wake support for the AT91RM9200's
GPIO interrupts.

Original patch from David Brownell.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:26:54 +01:00
Andrew Victor 683c66bf75 [ARM] 3583/1: AT91RM9200 IRQ suspend/resume support
Patch from Andrew Victor

Added suspend/resume/set_wake support for the AT91RM9200's AIC interrupt
controller.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:26:53 +01:00
Andrew Victor 37f2e4bc12 [ARM] 3582/1: AT91RM9200 IRQ trigger types
Patch from Andrew Victor

The AIC interrupt controller's set_irq_type() can also be used for
internal interrupts.  IRQT_LOW and IRQT_FALLING are the only options not
supported for the internal interrupts.

[Original patch from Karl Olsen]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:26:52 +01:00
Andrew Victor 10e8e1fb75 [ARM] 3581/1: AT91RM9200 Internal SRAM
Patch from Andrew Victor

This patch maps the AT91RM9200's internal SRAM into the virtual memory
address space - just below the internal peripheral registers.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:26:51 +01:00
Andrew Victor 2a6f9902c6 [ARM] 3580/1: AT91RM9200 Timer suspend/resume support
Patch from Andrew Victor

Added suspend/resume support for the AT91RM9200 timer.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:26:50 +01:00
Andrew Victor 963151f247 [ARM] 3579/1: AT91RM9200 Timer simplification
Patch from Andrew Victor

Use a global variable 'last_crtr' to store the time of the last timer
tick instead of the ST_RTAR register.
It's faster, frees up the ST_RTAR register for other uses, and hopefully
makes the code more understandable.  [Patch from Peter Menzebach]

Also add the SA_TIMER flag to Timer IRQ.  (It seems to be required for
the realtime preempt patch).

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 15:23:41 +01:00
Andrew Victor 91f8ed835f [ARM] 3578/1: AT91RM9200 Clock update
Patch from Andrew Victor

Some updates to the clock infrastructure for the AT91RM9200.

1. Hard-coded values replaced with names defined in at91rm9200_sys.h.
2. Added the four PIO clocks, which are enabled at startup.
3. At startup, disable all unused clocks.
4. Minor bugfix for usage counts associated with MCK. [Patch from David
Brownell]
5. Added at91_clock_associate() function to associate device & function
with a particular clock.  [Patch from David Brownell]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 13:20:23 +01:00
Richard Purdie b7408aff2d [ARM] 3563/1: LED: Set the LOCOMO LED driver default triggers
Patch from Richard Purdie

Set the default triggers for the LOCOMO LED driver.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-19 13:08:39 +01:00
Ben Dooks 96ce2385dd [ARM] 3559/1: S3C2442: core and serial port
Patch from Ben Dooks

Core support for the Samsung S3C2442, and the
serial port driver update to allow the serial
port blocks to be used.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 23:06:41 +01:00
Ben Dooks 66a9b49a37 [ARM] 3557/1: S3C24XX: centralise and cleanup uart registration
Patch from Ben Dooks

All the S3C24XX based devices currently have similar
uart blocks, in the same location. Make the process
of adding new uart blocks easier by commonising the
device definitions and adding a new init function
for the cpu code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 23:04:05 +01:00
Ben Dooks 810c894f2b [ARM] 3558/1: SMDK24XX: LED platform devices
Patch from Ben Dooks

Platform devices for the LEDs on all the SMDK24XX boards

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 22:56:37 +01:00
David Brownell 9df5db80a7 [ARM] 3534/1: add spi support to lubbock platform
Patch from David Brownell

This adds the platform device for SSP/SPI controller, and declares
the ads7846 device hooked up to it.  Not all Lubbock boards appear
to populate the connector needed to use this instead of the ucb1400
chip, but it can always be used as a temperature sensor.

In short, this is probably most useful as an example of how to
provide the configuration data used by the pxa2xx_spi driver.
(Last tested against a slightly earlier version of that driver.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:39:33 +01:00
Tony Lindgren ebc67da65f [ARM] 3554/1: ARM: Fix dyntick locking
Patch from Tony Lindgren

This patch fixes some dyntick locking issues on ARM as pointed
out by Russell King.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:26:58 +01:00
Ben Dooks 36fe6a83b4 [ARM] 3553/1: S3C24XX: earlier print of cpu idcode info
Patch from Ben Dooks

Move the printk of the CPU information and IDCODE
before the checking of the table entry validity
to aide in debugging new cpu entries.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:21:53 +01:00
Ben Dooks 68d5969378 [ARM] 3552/1: S3C24XX: Move VA of GPIO for low-level debug
Patch from Ben Dooks

Using the low-level debug routines early in the
kernel debug cause the 1:1 mapping to get into
the TLB, which is not flushed until after the
CPU detection process (which needs the GPIO VA).

This patch moves the VA for the GPIO to the
same offset as the physical offset of the UART
to the GPIO.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:21:52 +01:00
Ben Dooks 4833acb2e1 [ARM] 3551/1: S3C24XX: PM code failes to compile with CONFIG_DCACHE_WRITETHROUGH
Patch from Ben Dooks

If CONFIG_CPU_DCACHE_WRITETHOUGH is set, then the
S3C24XX PM code fails to compile, as there is no
need to flush the D-cache, the flush function
arm920_flush_kern_cache_all() is not compiled.

Fix the code to not use this if the config is set.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:21:51 +01:00
Ben Dooks e2e5810f41 [ARM] 3550/1: OSIRIS: fix serial port map for 1:1
Patch from Ben Dooks

The default serial port-mapping for the Osiris has
the port 2 mapped onto the first serial port, and
no port1. Correct this so port 1 is port.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:21:50 +01:00
Catalin Marinas 45a7b9cf8e [ARM] 3548/1: Fix the ARMv6 CPU id in compressed/head.S
Patch from Catalin Marinas

This code was still using the old format for the ARMv6 CPU id and it wasn't
flushing the caches on the MPCore CPU (and other ARM1176 cores). The patch
changes the mask bits to cope with the new id format.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-06-18 16:21:50 +01:00