[ARM] 5319/1: AT91: support AT91CAP9 revC CPUs
authorStelian Pop <stelian@popies.net>
Wed, 22 Oct 2008 12:52:08 +0000 (13:52 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 1 Dec 2008 17:22:07 +0000 (17:22 +0000)
commit7be90a6ba996e43902fc89704b60a57fd4659a63
tree6f6b1b0d0c08d91455d850bdac01086ea38c355f
parentffc63b7d30370e23d7e052df2c1c2c4526464ba6
[ARM] 5319/1: AT91: support AT91CAP9 revC CPUs

The AT91CAP9 revC CPU has a few differences over the previous,
revB CPU which was distributed in small quantities only (revA was
an internal Atmel product only).

This patch adds the detection routines to recognize the different
AT91CAP9 revisions (based on the PMC subsystem version number), and
uses them to:
- activate a workaround for the external interrupts levels
  (on revB CPUs)
- set the UDPHS_BYPASS bit (on revB CPUs)
- set AT91_GPBR register address to the correct offset
  (0xfffffd50 on revB, 0xfffffd60 on revC)

For debugging usage, the CPU revision can be found in /proc/cpuinfo
on the 'Revision' line.

This patch is extracted from Andrew Victor's -at91 patch (2.6.27-at91.patch)
where it has been tested for the last 6 months.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91cap9_devices.c
arch/arm/mach-at91/board-cap9adk.c
arch/arm/mach-at91/include/mach/at91_pmc.h
arch/arm/mach-at91/include/mach/at91cap9.h
arch/arm/mach-at91/include/mach/cpu.h
drivers/rtc/rtc-at91sam9.c