Russell King [Sat, 19 Apr 2008 16:17:25 +0000 (17:17 +0100)]
Merge branches 'arm', 'at91', 'ep93xx', 'iop', 'ks8695', 'misc', 'mxc', 'ns9x', 'orion', 'pxa', 'sa1100', 's3c' and 'sparsemem' into devel
Guennadi Liakhovetski [Sun, 6 Apr 2008 21:08:15 +0000 (23:08 +0200)]
[ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver
Platform-specific code for Phytec's phyCORE-PXA270 platform
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Guennadi Liakhovetski [Fri, 11 Apr 2008 20:19:45 +0000 (22:19 +0200)]
[ARM] pxa: V4L2 soc_camera driver for PXA270
This patch adds a driver for the Quick Capture Interface on the PXA270.
It is based on the original driver from Intel, but has been re-worked
multiple times since then, now it also supports the V4L2 API.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 19 Apr 2008 15:46:54 +0000 (16:46 +0100)]
[ARM] pxa: restrict availability of pxa2xx PCMCIA drivers
Not all PXA2xx platforms provide the necessary support files for
PCMCIA to work, let alone build. Stop the build errors by making
PXA2xx PCMCIA support only available on those platforms which have
supplied the support files.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 19 Apr 2008 12:08:43 +0000 (13:08 +0100)]
[ARM] 5005/1: BAST: Fix kset_name initialiser
Fix the pm sys device .name initialiser which was
missed when updating the last patch submission.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Davide Rizzo [Sat, 12 Apr 2008 14:08:15 +0000 (15:08 +0100)]
[ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410
This patch adds functions to set clkout rate for Samsung S3C2410
This patch supersedes 4884/1, that contained an error
Comments from Ben Dooks:
Note, looks like this needs to be applied before 4882/1
Signed-off-by: Davide Rizzo <davide@elpa.it>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ryan Mallon [Wed, 16 Apr 2008 01:56:35 +0000 (02:56 +0100)]
[ARM] 4988/1: Add GPIO lib support to the EP93xx
Adds support for the generic GPIO lib to the EP93xx family. The gpio
handling code has been moved from core.c to a new file called gpio.c.
The GPIO based IRQ code has not been changed.
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 30 Nov 2006 20:43:51 +0000 (20:43 +0000)]
[ARM] Add initial sparsemem support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 19 Apr 2008 09:59:24 +0000 (10:59 +0100)]
[ARM] pxa: initialise PXA devices before platform init code
Initialise PXA devices before platform initialisation, so that
platforms can parent devices to these.
Acked-by: eric miao <ymiao3@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 19 Apr 2008 09:42:06 +0000 (10:42 +0100)]
[ARM] 5002/1: tosa: add two more leds
This adds support for two more leds:
the wlan one (found in SL-6000W and SL-6000L) and
the blutooth one (found in SL-6000W).
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 19 Apr 2008 09:42:25 +0000 (10:42 +0100)]
[ARM] 5004/1: Tosa: make several unreferenced structures static.
Now that scoop gpio's are converted to generic_gpio,
tosascoop_device and tosascoop_jc_device don't have
to be exported.
Also make tosa_gpio_* static
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 19 Apr 2008 09:42:18 +0000 (10:42 +0100)]
[ARM] 5003/1: Shut up sparse warnings
Shut up sparse warnings by making GPIO_IRQ_MASK unisgned
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 15 Apr 2008 15:12:44 +0000 (16:12 +0100)]
[ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable()
Add missing clk_enable()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 15 Apr 2008 14:50:49 +0000 (15:50 +0100)]
[ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line
Set up the IRQ line for the WM9713 device on the Zylonite.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 12 Apr 2008 20:26:39 +0000 (21:26 +0100)]
[ARM] 4974/1: Drop unused leds-tosa.
As now tosa uses leds-gpio, drop leds-tosa driver.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 12 Apr 2008 19:17:02 +0000 (20:17 +0100)]
[ARM] 4973/1: Tosa: use leds-gpio driver.
Now as the scoop pins are covered by the generic gpio API,
we can use leds-gpio driver instead of special leds-tosa.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 12 Apr 2008 19:16:16 +0000 (20:16 +0100)]
[ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code
Convert set/reset_scoop_gpio to generic gpio calls.
This patch depends on the pxaficp_ir hooks patch.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 12 Apr 2008 19:08:16 +0000 (20:08 +0100)]
[ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks
Let platform do some specific initialisation and cleanup
things during pxaficp_ir probing and removing. E.g. this
can be usefull to request/free gpios used by the platform
to control the transceiver.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 13 Apr 2008 16:38:55 +0000 (17:38 +0100)]
[ARM] pxa: lubbock: move mis-placed SPI info
The SPI information got placed in the middle of the SMC91x data.
Lets move it up a few lines so that we keep related things grouped
together.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Sat, 12 Apr 2008 19:02:50 +0000 (20:02 +0100)]
[ARM] 4970/1: tosa: correct gpio used for wake up.
TOSA_GPIO_ON_KEY can't wakeup the device. But the board
provides TOSA_GPIO_POWERON which is OR of (on_ac) and (on_button).
Use it for wake up.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Sat, 12 Apr 2008 12:29:22 +0000 (13:29 +0100)]
[ARM] 4966/1: magician: add MFP pin configuration
Although the GPIO alternate functions should be correctly set
by the bootloader, configure them here to be sure.
To save power, FFUART/BTUART/STUART are left unconfigured (output, low)
until they are needed by pxaficp or the magician GSM chipset driver.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Sat, 12 Apr 2008 12:28:02 +0000 (13:28 +0100)]
[ARM] 4965/1: magician: use htc-pasic3,leds-pasic3,ds1wm,leds-gpio
This patch enables LEDs and the 1-wire bus (connected to
a DS2760 battery monitor) on the magician.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Sat, 12 Apr 2008 12:25:41 +0000 (13:25 +0100)]
[ARM] 4964/1: htc-pasic3: MFD driver for PASIC3 LED control + DS1WM chip
This driver will provide registers, clocks and GPIOs of
the HTC PASIC3 (AIC3) and PASIC2 (AIC2) chips to the
ds1wm and leds-pasic3 drivers.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Thu, 10 Apr 2008 14:43:18 +0000 (15:43 +0100)]
[ARM] 4958/2: tosa: fix i2c registration.
Add a call to pxa_set_i2c_info() to force i2c registration
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov [Thu, 10 Apr 2008 10:00:32 +0000 (11:00 +0100)]
[ARM] 4960/1: Rewrite tosa pin configuration to use MFP tables.
Clean up all pins configuration to use currently proposed MFP table
schema.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mike Rapoport [Thu, 10 Apr 2008 05:34:29 +0000 (06:34 +0100)]
[ARM] 4959/1: PXA: Fix misprint in CICR1_RGBT_CONV
This patch fixes misprint in definition of CICR1_RGBT_CONV in include/asm-arm/arch-pxa/pxa-regs.h
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:28:53 +0000 (19:28 +0100)]
[ARM] 4953/1: magician: add backlight power switching GPIOs
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:27:10 +0000 (19:27 +0100)]
[ARM] 4952/1: magician: add LCD detection, LCD power switching, update pxafb settings
All magician devices I've encountered so far have featured the Toppoly
TD028STEB1 display, so the Samsung LTP280QV support is untested.
The power-on sequence is not correct because pxafb doesn't yet support
enabling the LCD controller in the middle of the it.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:25:56 +0000 (19:25 +0100)]
[ARM] 4951/1: magician: enable external power supply (pda_power) driver
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:24:55 +0000 (19:24 +0100)]
[ARM] 4950/1: magician: enable MMC support
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:24:05 +0000 (19:24 +0100)]
[ARM] 4949/1: magician: enable flash VPP GPIO and build in MTD, physmap-flash and JFFS2
This enables rootfs on StrataFlash if the bootloader supplies the
partition list.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:22:57 +0000 (19:22 +0100)]
[ARM] 4948/1: magician: use htc-egpio to drive the GPIO/IRQ expander CPLD
needed for power management (audio, BT, charging, GSM, LCD, SD), GSM, flash and SD operation and audio routing.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:20:34 +0000 (19:20 +0100)]
[ARM] 4947/1: htc-egpio, a driver for GPIO/IRQ expanders with fixed input/output pins
implemented in CPLD chips on several HTC devices.
The original driver was written by Kevin O'Connor, I have adapted it to
use gpiolib and made the bus/register widths configurable.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:14:15 +0000 (19:14 +0100)]
[ARM] 4944/2: magician: enable i2c bus
Since recent PXA changes the (non-power-)I2C bus has to be explicitly
enabled from board initialisation code.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Wed, 9 Apr 2008 18:11:52 +0000 (19:11 +0100)]
[ARM] 4943/2: magician: fix magician.h GPIO header includes
PXA GPIO definitions were split from pxa-regs.h into pxa2xx-gpio.h.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Tue, 8 Apr 2008 18:36:06 +0000 (19:36 +0100)]
[ARM] 4942/1: magician: fix the backlight driver name
corgi_bl was renamed to generic_bl.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Philipp Zabel [Tue, 8 Apr 2008 18:35:18 +0000 (19:35 +0100)]
[ARM] 4941/1: Add initial defconfig for HTC Magician PDA phones
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Wed, 9 Apr 2008 10:32:21 +0000 (11:32 +0100)]
[ARM] 4946/1: pxa3xx: Print an error if we refuse to suspend
The PXA3xx will not suspend if there are no wakeup sources configured.
Print a diagnostic message to make it easier for the user to see what's
happening.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Mon, 7 Apr 2008 16:16:34 +0000 (17:16 +0100)]
[ARM] 4901/3: mainstone: Register primary I2C bus
Mainstone has the primary I2C bus exposed for use on plugin modules.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jaya Kumar [Sat, 15 Mar 2008 04:11:07 +0000 (05:11 +0100)]
[ARM] 4867/1: Adds flash, udc, mci support for gumstix F boards
This patch implements support for Gumstix-F flash, udc and mci. Fixes since the last time are:
- Steve Sakoman as maintainer
- cleanup for udc and mci setup
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Fri, 22 Feb 2008 05:48:15 +0000 (13:48 +0800)]
[ARM] pxa: remove keypad register definitions from pxa-regs.h
Keypad registers are now fully defined within pxa27x-keypad.c, no
need to keep those definitions in pxa-regs.h
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 23 Jan 2008 07:07:22 +0000 (15:07 +0800)]
[ARM] pxa: add keypad support for littleton
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 23 Jan 2008 06:25:50 +0000 (14:25 +0800)]
[ARM] pxa: add keypad support for zylonite
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 23 Jan 2008 06:25:27 +0000 (14:25 +0800)]
[ARM] pxa: add partial keypad support for mainstone
This is partial because mainstone's keypad is really special, some of
the keys like '1', '2', ... are actually connected to two row/column
juntions, thus pressing '1' is equivalent to pressing 'A' & 'H'.
This is really brain damanged since it makes distinguishing between
pressing '1' and multiple keys pressing of 'A' & 'H' difficult.
So these special keys are not supported for the time being.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 23 Jan 2008 05:39:13 +0000 (13:39 +0800)]
[ARM] pxa: add pxa27x_keypad device and pxa_set_keypad_info()
also update the clk definitions in pxa27x and pxa3xx.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 11 Mar 2008 02:06:38 +0000 (10:06 +0800)]
[ARM] pxa: use gpio_keys.c to support mainstone's wakeup switch of GPIO1
NOTE: currently don't know if the key code of KEY_SUSPEND is fit for
such usage.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 11 Mar 2008 01:46:28 +0000 (09:46 +0800)]
[ARM] pxa: allow dynamic enable/disable of GPIO wakeup for pxa{25x,27x}
Changes include:
1. rename MFP_LPM_WAKEUP_ENABLE into MFP_LPM_CAN_WAKEUP to indicate
the board capability of this pin to wakeup the system
2. add gpio_set_wake() and keypad_set_wake() to allow dynamically
enable/disable wakeup from GPIOs and keypad GPIO
* these functions are currently kept in mfp-pxa2xx.c due to their
dependency to the MFP configuration
3. pxa2xx_mfp_config() only gives early warning if MFP_LPM_CAN_WAKEUP
is set on incorrect pins
So that the GPIO's wakeup capability is now decided by the following:
a) processor's capability: (only those GPIOs which have dedicated
bits within PWER/PRER/PFER can wakeup the system), this is
initialized by pxa{25x,27x}_init_mfp()
b) board design decides:
- whether the pin is designed to wakeup the system (some of
the GPIOs are configured as other functions, which is not
intended to be a wakeup source), by OR'ing the pin config
with MFP_LPM_CAN_WAKEUP
- which edge the pin is designed to wakeup the system, this
may depends on external peripherals/connections, which is
totally board specific; this is indicated by MFP_LPM_EDGE_*
c) the corresponding device's (most likely the gpio_keys.c) wakeup
attribute:
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 13 Feb 2008 00:52:38 +0000 (08:52 +0800)]
[ARM] pxa: use new pin configuration mechanism for lubbock
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Mon, 4 Feb 2008 09:15:50 +0000 (17:15 +0800)]
[ARM] pxa: use new pin configuration mechanism for mainstone
1. the following code to configure PGSRx is no way portable and
intuitive:
- PGSR0 = 0x00008800;
- PGSR1 = 0x00000002;
- PGSR2 = 0x0001FC00;
- PGSR3 = 0x00001F81;
this is removed as low power state has already been encoded in
the pin configuration definitions.
Note: there is no specific reason for some of the GPIOs to drive
high in low power mode as indicated by the above setting, those
bits are ignored, and the result is validated to work.
2. the following code to configure GPIO wakeup is removed as this
is now totally handled by pxa2xx_mfp_config():
- PWER = 0xC0000002;
- PRER = 0x00000002;
- PFER = 0x00000002;
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Sun, 3 Feb 2008 07:49:09 +0000 (15:49 +0800)]
[ARM] pxa: move ARRAY_AND_SIZE definition to generic.h
for use by other platforms
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Wed, 5 Mar 2008 09:16:29 +0000 (17:16 +0800)]
[ARM] pxa: add MFP-alike pin configuration support for pxa{25x, 27x}
Pin configuration on pxa{25x,27x} has now separated from generic GPIO
into dedicated mfp-pxa2xx.c by this patch. The name "mfp" is borrowed
from pxa3xx and is used here to alert the difference between the two
concepts: pin configuration and generic GPIOs. A GPIO can be called
a "GPIO" _only_ when the corresponding pin is configured so.
A pin configuration on pxa{25x,27x} is composed of:
- alternate function selection (or pin mux as commonly called)
- low power state or sleep state
- wakeup enabling from low power mode
The following MFP_xxx bit definitions in mfp.h are re-used:
- MFP_PIN(x)
- MFP_AFx
- MFP_LPM_DRIVE_{LOW, HIGH}
- MFP_LPM_EDGE_*
Selecting alternate function on pxa{25x, 27x} involves configuration
of GPIO direction register GPDRx, so a new bit and MFP_DIR_{IN, OUT}
are introduced. And pin configurations are defined by the following
two macros:
- MFP_CFG_IN : for input alternate functions
- MFP_CFG_OUT : for output alternate functions
Every configuration should provide a low power state if it configured
as output using MFP_CFG_OUT(). As a general guideline, the low power
state should be decided to minimize the overall power dissipation. As
an example, it is better to drive the pin as high level in low power
mode if the GPIO is configured as an active low chip select.
Pins configured as GPIO are defined by MFP_CFG_IN(). This is to avoid
side effects when it is firstly configured as output. The actual
direction of the GPIO is configured by gpio_direction_{input, output}
Wakeup enabling on pxa{25x, 27x} is actually GPIO based wakeup, thus
the device based enable_irq_wake() mechanism is not applicable here.
E.g. invoking enable_irq_wake() with a GPIO IRQ as in the following
code to enable OTG wakeup is by no means portable and intuitive, and
it is valid _only_ when GPIO35 is configured as USB_P2_1:
enable_irq_wake( gpio_to_irq(35) );
To make things worse, not every GPIO is able to wakeup the system.
Only a small number of them can, on either rising or falling edge,
or when level is high (for keypad GPIOs).
Thus, another new bit is introduced to indicate that the GPIO will
wakeup the system:
- MFP_LPM_WAKEUP_ENABLE
The following macros can be used in platform code, and be OR'ed to
the GPIO configuration to enable its wakeup:
- WAKEUP_ON_EDGE_{RISE, FALL, BOTH}
- WAKEUP_ON_LEVEL_HIGH
The WAKEUP_ON_LEVEL_HIGH is used for keypad GPIOs _only_, there is
no edge settings for those GPIOs.
These WAKEUP_ON_* flags OR'ed on wrong GPIOs will be ignored in case
that platform code author is careless enough.
The tradeoff here is that the wakeup source is fully determined by
the platform configuration, instead of enable_irq_wake().
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Mon, 3 Mar 2008 01:44:25 +0000 (09:44 +0800)]
[ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h
two reasons:
1. GPIO namings and their mode definitions are conceptually not part
of the PXA register definitions
2. this is actually a temporary move in the transition of PXA2xx to
use MFP-alike APIs (as what PXA3xx is now doing), so that legacy
code will still work and new code can be added in step by step
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Mon, 4 Feb 2008 02:07:09 +0000 (10:07 +0800)]
[ARM] pxa: move mfp sysdev registeration out for suspend/resume order
MFP configurations after resume should be done before the GPIO registers
are restored. Move the mfp sysdev registeration to the same place where
GPIO and IRQ sysdev(s) are registered to better control the order.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Mon, 3 Mar 2008 00:59:13 +0000 (08:59 +0800)]
[ARM] pxa: rename mfp.c to mfp-pxa3xx.c to indicate it's pxa3xx specific
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 09:18:38 +0000 (17:18 +0800)]
[ARM] pxa: make pxa_gpio_irq_type() processor generic
The main issue here is that pxa3xx does not have GAFRx registers,
access directly to these registers should be avoided for pxa3xx:
1. introduce __gpio_is_occupied() to indicate the GAFRx and GPDRx
registers are already configured on pxa{25x,27x} while returns
0 always on pxa3xx
2. pxa_gpio_mode(gpio | GPIO_IN) is replaced directly with assign-
ment of GPDRx, the side effect of this change is that the pin
_must_ be configured before use, pxa_gpio_irq_type() will not
change the pin to GPIO, as this restriction is sane, esp. with
the new MFP framework
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 08:13:58 +0000 (16:13 +0800)]
[ARM] pxa: move GPIO sysdev outside of generic.c into gpio.c
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 06:19:58 +0000 (14:19 +0800)]
[ARM] pxa: merge assignment of set_wake into pxa_init_{irq,gpio}()
To further clean up the GPIO and IRQ structure:
1. pxa_init_irq_gpio() and pxa_init_gpio() combines into a single
function pxa_init_gpio()
2. assignment of set_wake merged into pxa_init_{irq,gpio}() as
an argument
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 05:53:05 +0000 (13:53 +0800)]
[ARM] pxa: integrate low IRQ chip (ICIP) and high IRQ chip (ICIP2) into one
This makes the code better organized and simplified a bit. The change
will lose a bit of performance when performing IRQ ack/mask/unmask,but
that's not too much after checking the result binary.
This patch also removes the ugly #ifdef CONFIG_PXA27x .. #endif by
carefully not to access those pxa{27x,3xx} specific registers, this
is done by keeping an internal IRQ number variable. The pxa-regs.h
is also modified so registers for IRQ > PXA_IRQ(31) are made public
even if CONFIG_PXA{27x,3xx} isn't defined (for pxa25x's sake)
The incorrect assumption in the original code that internal irq starts
from 0 is also corrected by comparing with PXA_IRQ(0).
"struct sys_device" for the IRQ are reduced into one single device on
pxa{27x,3xx}.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 03:42:26 +0000 (11:42 +0800)]
[ARM] pxa: move GPIO IRQ specific code out of irq.c into gpio.c
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Mon, 3 Mar 2008 05:20:20 +0000 (13:20 +0800)]
[ARM] pxa: introduce GPIO_CHIP() macro to clean up the definitions
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 03:18:48 +0000 (11:18 +0800)]
[ARM] pxa: cleanup the coding style of pxa_gpio_set_type()
by
1. wrapping long lines and making comments tidy
2. using IRQ_TYPE_* instead of migration macros __IRQT_*
3. introduce a pr_debug() for the commented printk(KERN_DEBUG ...)
stuff
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 03:12:14 +0000 (11:12 +0800)]
[ARM] pxa: make GPIO IRQ code less dependent on the internal IRQs
by:
1. introduce dedicated pxa_{mask,unmask}_low_gpio()
2. remove set_irq_chip(IRQ_GPIO_2_x, ...) which has already been
initialized in pxa_init_irq()
3. introduce dedicated pxa_init_gpio_set_wake()
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
eric miao [Tue, 4 Mar 2008 02:57:18 +0000 (10:57 +0800)]
[ARM] pxa: generalize the muxed gpio IRQ handling code with loop and ffs()
1. As David Brownell suggests, using ffs() is going to make the loop
a bit faster (by avoiding unnecessary shift and iteration)
2. Russell suggested find_{first,next}_bit() being used with the
gedr[] array
Signed-off-by: eric miao <eric.miao@marvell.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Robert Jarzmik [Sun, 16 Mar 2008 10:55:32 +0000 (11:55 +0100)]
[ARM] 4868/1: Enhance pxa270 GPIO definitions
Enhanced GPIO alternate functions descriptions,
taken from Intel PXA270 Developers Manual.
Signed-off-by: Robert Jarzmik <rjarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 4 Mar 2008 10:14:24 +0000 (11:14 +0100)]
[ARM] 4834/3: Convert ASoC pxa2xx-ac97 driver to use the clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 4 Mar 2008 10:14:25 +0000 (11:14 +0100)]
[ARM] 4833/3: Convert non-SoC PXA2xx AC97 driver to clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 4 Mar 2008 10:14:23 +0000 (11:14 +0100)]
[ARM] 4832/2: Support AC97CLK on PXA3xx via the clock API
The AC97 clock rate on PXA3xx is generated with a configurable divider
from sys_pll.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Tue, 4 Mar 2008 10:14:22 +0000 (11:14 +0100)]
[ARM] 4831/2: Add PXA2xx AC97 clocks to clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mark Brown [Wed, 13 Feb 2008 15:39:21 +0000 (16:39 +0100)]
[ARM] 4830/1: Add support for the CLK_POUT pin on PXA3xx CPUs
Expose control of the PXA3xx 13MHz CLK_POUT pin via the clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Johannes Weiner [Fri, 18 Apr 2008 20:29:47 +0000 (13:29 -0700)]
[ARM] remove redundant display of free swap space in show_mem()
Signed-off-by: Johannes Weiner <hannes@saeurebad.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 13 Apr 2008 16:47:35 +0000 (17:47 +0100)]
[ARM] Fix kernel mode preemption
Luc Van Oostenryck reported:
The code removed by this patch tested the irq_cpustat_t members
__local_irq_count and __local_bh_count but these fields have
been removed some time ago:
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=
3ab146c93e039dec99fec8d441a8dd046fe510cc
Fix this oversight.
Acked-by: Bill Gatliff <bgat@billgatliff.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Fri, 28 Mar 2008 20:11:47 +0000 (21:11 +0100)]
[ARM] 4881/1: print unrecognised processor ID as part of failure message
If we fail to boot due to an unsupported processor ID, print the
processor ID as part of the failure message.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Uwe Kleine-König [Thu, 6 Mar 2008 15:22:33 +0000 (16:22 +0100)]
[ARM] 4854/1: fix the load address of uImage for CONFIG_ZBOOT_ROM=y
U-Boot puts an image at the load address specified in the uImage
header before jumping to the entry point.
In the CONFIG_ZBOOT_ROM case ZBOOT_ROM_TEXT is the right load
address.
Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Uwe Kleine-König [Thu, 6 Mar 2008 15:22:00 +0000 (16:22 +0100)]
[ARM] 4852/1: Add timerfd_create, timerfd_settime and timerfd_gettime syscall entries
Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 8 Mar 2008 15:58:03 +0000 (15:58 +0000)]
[ARM] Update mach-types
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Catalin Marinas [Fri, 18 Apr 2008 21:43:17 +0000 (22:43 +0100)]
Allow the L2X0 outer cache support to be configurable
By default, this option was selected by the platform Kconfig. This
patch adds "depends on" to L2X0 so that it can be enabled/disabled
manually.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bahadir Balban [Fri, 18 Apr 2008 21:43:16 +0000 (22:43 +0100)]
RealView: Add the configuration and build changes for PB1176
This patch enables the building of Linux for the PB1176 platform.
Signed-off-by: Bahadir Balban <bahadir.balban@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:16 +0000 (22:43 +0100)]
RealView: Add uncompressing support for PB1176
This patch adds the UART0 base address detection in uncompress.h.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bahadir Balban [Fri, 18 Apr 2008 21:43:15 +0000 (22:43 +0100)]
RealView: Base support for the PB1176 platform
This patch adds the base files for the PB1176 platform support.
Signed-off-by: Bahadir Balban <bahadir.balban@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bahadir Balban [Fri, 18 Apr 2008 21:43:14 +0000 (22:43 +0100)]
RealView: Add compactflash support for the PB11MPCore platform
This patch adds the resource and device definitions for the compact
flash.
Signed-off-by: Bahadir Balban <bahadir.balban@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bahadir Balban [Fri, 18 Apr 2008 21:43:14 +0000 (22:43 +0100)]
RealView: Enable the configuration options for PB11MPCore
This patch adds the PB11MPCore support to the corresponding Kconfig
and Makefile to enable building.
Signed-off-by: Bahadir Balban <bahadir.balban@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:13 +0000 (22:43 +0100)]
RealView: Add uncompressing support to PB11MPCore
This patch adds the UART address detection in uncompress.h for the
PB11MPCore platform.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:13 +0000 (22:43 +0100)]
RealView: Add the SMP initialisation support for PB11MPCore
This patch adds the initialisation calls for the SMP support on the
PB11MPCore platform.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bahadir Balban [Fri, 18 Apr 2008 21:43:13 +0000 (22:43 +0100)]
RealView: Base support for the PB11MPCore platform
This patch adds the base files for the PB11MPCore platform support.
Signed-off-by: Bahadir Balban <bahadir.balban@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:12 +0000 (22:43 +0100)]
RealView: Change the IO_ADDRESS macro
This patch changes the IO_ADDRESS macro for the RealView platforms to
accomodate a wider range of physical addresses on PB11MPCore.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:12 +0000 (22:43 +0100)]
RealView: Allow ARMv7 support for RealView/EB
This patch changes the CPU_V7 configuration dependency to allow
MACH_REALVIEW_EB.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:11 +0000 (22:43 +0100)]
RealView: Move more device address definitions to board-eb.h
The upcoming PB11MPCore and PB1176 have different memory maps and some
of the definitions in platform.h are no longer common. This patch
moves them to the board-eb.h file and updates their usage in
realview_eb.c.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:11 +0000 (22:43 +0100)]
RealView: Move the UART definitions to EB specific files
Since the PB1176 has different UART base addresses, this patch moves
the definitions form platorm.h to board-eb.h. It also modifies
uncompress.h to detect the platform type at run-time.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:11 +0000 (22:43 +0100)]
RealView: Move the timer definitions into the EB specific files
This patch moves the timer definitions from platform.h into board-eb.h
as they are different on PB11MPCore and PB1176. It also adds
timerX_va_base variables in core.c which are set by the
realview_eb_timer_init function before invoking realview_timer_init.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:10 +0000 (22:43 +0100)]
RealView: Move the flash definitions out of platform.h
This patch moves the patch definitions into board-eb.h and
realview_eb.c (from core.c) as they are different on the PB11MPCore
and PB1176 platforms.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:09 +0000 (22:43 +0100)]
RealView: Move the EB GIC definitions to the board file
This is in preparation for the RealView PB11MPCore and PB1176 patches
which have different base addresses for the GIC.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:09 +0000 (22:43 +0100)]
Add RealView/EB support for the LAN9118 Ethernet chip
RealView/EB revD platform comes with the SMSC LAN9118 Ethernet
chip. This patch allows either the smc91x or the smc911x drivers to be
used with the RealView/EB platform.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:08 +0000 (22:43 +0100)]
RealView: Move the SCU initialisation out of __v6_setup
This patch moves the SCU initialisation from __v6_setup to the
smp_prepare_cpus() function as it relies on platform-specific
settings. Changes to get_core_count() are mainly for allowing cleaner
code with the upcoming PB11MPCore patches.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Paul Brook [Fri, 18 Apr 2008 21:43:08 +0000 (22:43 +0100)]
Linux Thumb-2 support for user-space applications
This patch implements Thumb-2 application support in Linux. Original
implementation by Paul Brook with fixes for VFP and Neon by Catalin
Marinas.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Paul Brook [Fri, 18 Apr 2008 21:43:07 +0000 (22:43 +0100)]
Add a prefetch abort handler
This patch adds a prefetch abort handler similar to the data abort one
and renames the latter for consistency. Initial implementation by Paul
Brook with some renaming by Catalin Marinas.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas [Fri, 18 Apr 2008 21:43:06 +0000 (22:43 +0100)]
ARMv7: Add support for the ThumbEE state saving/restoring
This patch adds the detection and handling of the ThumbEE extension on
ARMv7 CPUs.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
David Anders [Thu, 10 Apr 2008 21:36:59 +0000 (22:36 +0100)]
[ARM] 4963/1: S3C2410 - add basic machine support for the TCT Hammer
Add the TinCanTools Hammer board to list of supported machines in the
arch/arm/mach-s3c2410 directory, as well as a default config entry. the
mach-tct_hammer.c file initializes basic i/o, clocks, irqs, as well as
the mtd flash layout if enabled in the kernel configuration.
Signed-off-by: David Anders <danders@amltd.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Davide Rizzo [Sun, 30 Mar 2008 07:58:33 +0000 (08:58 +0100)]
[ARM] 4883/1: Adds some missing gpio defines for S3C2410
This is a small addition of forgotten defines to regs-gpio.h include file for the Samsung S3C2410 ARM9 SoC
Signed-off-by: Davide Rizzo <davide@elpa.it>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Tue, 15 Apr 2008 23:15:20 +0000 (00:15 +0100)]
[ARM] 4987/1: S3C24XX: Ensure watchdog reset initiated from cached code.
There seems to be some problem with at-least the S3C2440 and
bus traffic during an reset. It is unlikely, but still possible
that the system will hang in such a way that the watchdog cannot
get the system out of the state it is in.
Change to making the code that calls the watchdog reset run from
cached memory so that instruction fetches have quiesced before the
watchdog fires.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Tue, 15 Apr 2008 23:12:39 +0000 (00:12 +0100)]
[ARM] 4986/1: S3C24XX: Simtec machines need UCLK as parent to DCLK
All current Simtec designs source the DCLK outputs from
the UPLL. This means the DCLK's parent must be set to UPLL
so that anything enabling and disabling an UPLL sourced
clock does not shutdown the DCLK due to missing open counts.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>