summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa3xx.c
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] pxa: fix HSIO bus x24 multiplier for pxa3xxMarek Vasut2010-08-051-1/+1
| | | | | | | | The latest PXA3xx DM has enabled 312MHz for the HSS bus, which allows x24 multiplier. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: move pmu device back into mach-pxa/Eric Miao2010-08-051-0/+1
| | | | | | | | | Not tested and enabled on MMP at this moment, and since the IRQ is different from mach-pxa, I'd prefer to move the PMU device back into mach-pxa/. Will introduce the PMU device to MMP once it's enabled and tested. Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: add set_type to the pxa3xx ext_wakeup irq chip.Igor Grinberg2010-08-051-0/+12
| | | | | | | | | pxa3xx cpu needs the irq type setup to be able to wakeup from low power mode on IRQ_WAKEUPx events. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: remove unnecessary #include of <mach/ssp.h>Eric Miao2010-05-111-1/+0
| | | | Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: Consolidate clks_register() and similarRussell King2010-02-121-1/+1
| | | | | | | | | | | | | Most machine classes want some way to register a block of clk_lookup structures, and most do it by implementing a clks_register() type function which walks an array, or by open-coding a loop. Consolidate all this into clkdev_add_table(). Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: add EXT_WAKEUP interrupts handling for pxa3xxMike Rapoport2009-12-011-0/+42
| | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: allow platforms to control which uarts are registeredRussell King2009-12-011-3/+0
| | | | | | | | | | | | | | | | | | For some platforms, it is inappropriate to register all PXA UARTs. In some cases, the UARTs may not be used, and in others we may want to avoid registering the UARTs to allow other drivers (eg, FICP) to make use of the UART. In addition, a while back there was a request to be able to pass platform data to the UART driver. This patch enables all of this by providing functions platforms can call to register each individual UART. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: register U2D clock for pxa3xxIgor Grinberg2009-12-011-0/+2
| | | | | | Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: correct I2CPWR clock for pxa3xxDaniel Mack2009-07-031-1/+1
| | | | | | | | | | In commit f23d4911319fd, the pwr-i2c device name changed due to the newly introduced device table. This patch fixes the clock so the driver's probe will succeed again. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* [ARM] pxa: add udc support for pxa3xxRobert Jarzmik2009-06-051-1/+1
| | | | | | | | | | As reported by Aric Blumer, the pxa27x_udc driver does work with pxa3xx devices. Add support into device files. Reported-by: Aric Blumer <aric@sdgsystems.com> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Matt Reimer <mattjreimer@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move mach/i2c.h to plat/i2c.hEric Miao2009-06-051-1/+1
| | | | | Signed-off-by: Paul Shen <paul.shen@marvell.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move IRQ handling of GPIO 0 and 1 outside of gpio.cEric Miao2009-03-091-1/+2
| | | | | | | | | | | | | | | This is part of the work making gpio.c generic enough, the changes include: 1. move IRQ handling of GPIO 0 and 1 outside (and back into irq.c) 2. pxa_init_gpio() accepts a range for muxed GPIO IRQs, and an IRQ number for the muxed GPIOs 3. __gpio_is_occupied() and __gpio_is_inverted() are made inline, and are moved into <mach/gpio.h> instead of generic gpio.c Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: allow DMA controller IRQ being specifiedEric Miao2009-03-091-1/+1
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* Merge branch 'for-rmk' of ↵Russell King2008-12-021-21/+3
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/pxa25x.c
| * [ARM] pxa: add resources for incoming rtc-pxa driverRobert Jarzmik2008-12-021-0/+1
| | | | | | | | | | | | | | | | Add IO memory and IRQ ressources for pxa based SoC to be able to use the new rtc-pxa driver. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: register Power I2C device only when necessaryEric Miao2008-12-021-2/+2
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: move power I2C device definitions into devices.cEric Miao2008-12-021-19/+0
| | | | | | | | | | | | | | Let's put these devices into a central place even if they are now processor specific, as they might be re-used in later processors. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: convert to clkdev and match clocks by struct device where possibleRussell King2008-11-271-36/+51
|/ | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5201/1: PXA3xx: Add support for power i2c busMike Rapoport2008-09-091-0/+45
| | | | | | | Add power I2C support for PXA3xx processors Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'for-rmk' of ↵Russell King2008-08-071-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 Conflicts: arch/arm/mach-pxa/generic.c arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c arch/arm/mach-pxa/pxa2xx.c arch/arm/mach-pxa/pxa3xx.c arch/arm/mach-pxa/reset.c arch/arm/mach-pxa/spitz.c arch/arm/mach-pxa/tosa.c drivers/watchdog/sa1100_wdt.c
| * [ARM] pxa: introduce reset_status and clear_reset_status for driver's usageEric Miao2008-08-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Due to the problem of reset status bits being handled by different registers between pxa2xx and pxa3xx, introduce a global reset_status variable, initialized by SoC-specific code and later being used by other drivers. And also introduce clear_reset_status(), which is used to clear the corresponding status bits. Pass RESET_STATUS_ALL to clear all bits. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2008-08-071-6/+6
| | | | | | | | | | | | This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Remove asm/hardware.h, use asm/arch/hardware.h insteadRussell King2008-08-071-1/+1
|/ | | | | | | | | Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: move pxa310 specific MMC3 clk out of generic pxa3xx.cEric Miao2008-07-091-1/+0
| | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: make PXA3xx_CK() and PXA3xx_CKEN() public in clock.heric miao2008-07-091-21/+3
| | | | | | | | So processor specific clock sources can be defined in pxa300.c and pxa320.c. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC ↵Philipp Zabel2008-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | drivers The pxa2xx_udc.c driver is renamed to pxa25x_udc.c (the platform driver name changes from pxa2xx-udc to pxa25x-udc) and the platform driver name of pxa27x_udc.c is fixed to pxa27x-udc. pxa_device_udc in devices.c is split into pxa25x and pxa27x flavors and the pxa27x_device_udc is enabled in pxa27x.c. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Nicolas Pitre <nico@cam.org> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Including from Ian Molton: Fixes for mistakes left over from the PXA2{5,7}X UDC split. Signed-off-by: Ian Molton <spyro@f2s.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
*-. Merge branches 'pxa-misc', 'pxa-pwm' and 'pxa-multi' into pxaRussell King2008-07-091-1/+5
|\ \
| | * [ARM] pxa: separate PXA25x and PXA27x UDC register definitionsRussell King2008-05-191-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PXA25x and PXA27x USB device controller register definitions are different. Currently, they live side by side in pxa-regs.h, but only one set is available depending on the setting of PXA25x or PXA27x. This means that if we build to support both PXA25x and PXA27x, the PXA27x definitions are unavailable, even to PXA27x specific code. Remove these definitions from pxa-regs.h, and place them in separate files. Include these files where appropriate. Note: according to the dependencies in drivers/usb/gadget/Kconfig, we do not support the UDC on PXA27x nor PXA3xx CPUs, so remove the platform devices from pxa27x.c and pxa3xx.c. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] pxa: Add PXA support for PWM APIeric miao2008-05-191-0/+4
|/ | | | | | | | | | | Patch mainly from Eric Miao, with minor edits by rmk. Note: PWM0 and PWM2 share the same register I/O space and clock gating on pxa{27x, 3xx}, thus PWM2 is treated in the driver as a child PWM of PWM0. And this is also true for PWM1/3. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle.Robert Jarzmik2008-05-041-4/+3
| | | | | | | | | | | Each time a pxa type cpu went in suspend, a portion of kmalloc memory was corrupted. The issue was an incorrect length allocation introduced by the commit 711be5ccfe9a02ba560aa918a008c31ea4760163 for the save registers array (=> overflow). Signed-off-by: Robert Jarzmik <rjarzmik@free.fr> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake()Mark Brown2008-04-241-0/+2
| | | | | | | | | | pxa3xx_set_wake() silently accepts unsupported wake sources, causing users to believe that they have succesfully configured sources that they haven't. Fail the operation instead. 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>
* [ARM] pxa: initialise PXA devices before platform init codeRussell King2008-04-191-1/+1
| | | | | | | | 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>
* [ARM] 4946/1: pxa3xx: Print an error if we refuse to suspendMark Brown2008-04-191-1/+3
| | | | | | | | | | 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>
* [ARM] pxa: add pxa27x_keypad device and pxa_set_keypad_info()eric miao2008-04-191-0/+1
| | | | | | | 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>
* [ARM] pxa: move mfp sysdev registeration out for suspend/resume ordereric miao2008-04-191-0/+2
| | | | | | | | | 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>
* [ARM] pxa: merge assignment of set_wake into pxa_init_{irq,gpio}()eric miao2008-04-191-10/+3
| | | | | | | | | | | | | 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>
* [ARM] pxa: integrate low IRQ chip (ICIP) and high IRQ chip (ICIP2) into oneeric miao2008-04-191-6/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* [ARM] 4832/2: Support AC97CLK on PXA3xx via the clock APIMark Brown2008-04-191-2/+28
| | | | | | | | | 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>
* [ARM] 4830/1: Add support for the CLK_POUT pin on PXA3xx CPUsMark Brown2008-04-191-0/+22
| | | | | | | 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>
* [ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_*eric miao2008-02-291-8/+0
| | | | | | | | This is unnecessary since it is already protected by spin_lock_irq{save, restore} in clock.c. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4824/1: pxa: clear RDH bit after any resetDmitry Krivoschekov2008-02-091-0/+8
| | | | | | | | | | | | | | | | | | | | According to PXA300/310 and PXA320 Developer manuals, the ASCR[RDH] "bit needs to be cleared as part of the software initialization coming out of any reset and coming out of D3". The latter requirement is addressed by commit "c4d1fb627ff3072", as for the former (coming out of any reset), the kernel relies on boot loaders and assumes that RDH bit is cleared there. Though, not all bootloaders follow the rule so we have to clear the bit in kernel. We clear the RDH bit in pxa3xx_init() function since it is always invoked after any reset. We also preserve D1S, D2S and D3S bits from being cleared in case we invoke pxa3xx_init() function not from normal hardware reset (e.g. kexec scenario), so these bits can be properly referenced later. Signed-off-by: Dmitry Krivoschekov <dmitry.krivoschekov@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: remove debugging PM: printkRussell King2008-02-091-2/+0
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: add preliminary suspend/resume code for pxa3xxeric miao2008-02-041-14/+59
| | | | | | | | | | 1. clear RDH bit after resuming back from D3, otherwise, the multi function pins will retain the low power state 2. save/restore essential system registers Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: introduce sysdev for GPIO register saving/restoringeric miao2008-02-041-0/+2
| | | | | Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: introduce sysdev for IRQ register saving/restoringeric miao2008-02-041-3/+21
| | | | | Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'pxa-plat' into develRussell King2008-01-281-4/+237
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pxa-plat: (53 commits) [ARM] 4762/1: Basic support for Toradex Colibri module [ARM] pxa: fix mci_init functions returning -1 [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270 [ARM] 4746/1: pcm027: network support for phyCORE-PXA270 [ARM] 4745/1: pcm027: default configuration [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module [NET] smc91x: Make smc91x use IRQ resource trigger flags [ARM] pxa: add default config for littleton [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform) [ARM] 4664/1: Add basic support for HTC Magician PDA phones [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs. [ARM] pxa: skip registers saving/restoring if entering standby mode [ARM] pxa: fix PXA27x resume [ARM] pxa: Avoid fiddling with CKEN register on suspend [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme [ARM] pxa: Add zylonite MFP wakeup configurations [ARM] pxa: program MFPs for low power mode when suspending [ARM] pxa: make MFP configuration processor independent [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions ... Conflicts: arch/arm/mach-pxa/ssp.c Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake schemeRussell King2008-01-261-0/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wakeup sources on PXA3 are enabled at two levels. First, the MFP configuration has to be set to enable which edges a specific pin will trigger a wakeup. The pin also has to be routed to a functional unit. Lastly, the functional unit must be enabled as a wakeup source in the appropriate AD*ER registers (AD2D0ER for standby resume.) This doesn't fit well with the IRQ wake scheme - we currently do a best effort conversion from IRQ numbers to functional unit wake enable bits. For instance, there's several USB client related enable bits but there's no corresponding IRQs to determine which you'd want. Conversely, there's a single enable bit covering several functional units. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] pxa: add clk of CKEN_USBHOST for pxa3xxeric miao2008-01-261-0/+1
| | | | | | | | | | Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] pxa: mmc: add 3rd host controller support for pxa310Bridge Wu2008-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | This patch is to add the third mmc controller support _only_ for pxa310. On zylonite, the third controller support one slot. Signed-off-by: Bridge Wu <bridge.wu@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] pxa: mmc: add 2nd host controller support for pxa3xxBridge Wu2008-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | This patch is to add the second mmc controller support for pxa3xx. It's valid for pxa3[0|1|2]0. On zylonite, the second controller has no slot. Signed-off-by: Bridge Wu <bridge.wu@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
OpenPOWER on IntegriCloud