summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa25x.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ARM: pxa: Move UNCACHED_PHYS_0 mapping from generic.c to pxa2[57]x.cLaurent Pinchart2014-07-121-0/+5
| | | | | | | | | | The UNCACHED_PHYS_0 mapping is only needed on PXA25x and PXA27x platforms. Move it to pxa25x.c and pxa27x.c to avoid wasting vmalloc space on PXA3xx. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
* ARM: pxa: Don't hardcode addresses and size in map_desc tablesLaurent Pinchart2014-07-121-1/+1
| | | | | | | | | | The virtual address, physical address and size of all regions for which we create static mappings are defined in PXA headers. Replaced the hardcoded values with macros. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
* ARM: pxa: move PXA_GPIO_TO_IRQ macroHaojian Zhuang2013-04-111-1/+2
| | | | | | | | Since PXA_GPIO_TO_IRQ() & MMP_GPIO_TO_IRQ() macro are depended on arch code, move them from gpio driver to platform driver instead. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org>
* ARM: pxa: remove cpu_is_xxx in gpio driverHaojian Zhuang2013-04-111-2/+6
| | | | | | | | Avoid to use cpu_is_xxx() in pxa gpio driver. Use platform_device_id to identify the difference. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org>
* ARM: pxa: add dummy SA1100 rtc clock in pxa25xAndrea Adami2012-11-231-0/+1
| | | | | | | | | * fix failure seen on Zaurus corgi: * sa1100-rtc sa1100-rtc: failed to find rtc clock source * sa1100-rtc: probe of sa1100-rtc failed with error -2 Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
* ARM: pxa: fix pxa25x gpio wakeup settingAndrea Adami2012-11-211-0/+5
| | | | | | | | | * Since 3.3 gpio wakeup is broken on pxa25x (tested on corgi and poodle). * Use gpio_set_wake like done for pxa27x with commit id * b95ace54a23e2f8ebb032744cebb17c9f43bf651 Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
* ARM: pxa: remove duplicated registeration on pxa-gpioHaojian Zhuang2012-03-061-1/+0
| | | | | | | | | | | | | Both reboot (via reboot(RB_AUTOBOOT)) and suspend freeze on hx4700. Registration of pxa_gpio_syscore_ops is moved into pxa-gpio driver, but it still exists in arch-pxa directory. It resulsts failure on reboot and suspend. Now remove the registration code in arch-pxa. Reported-by: Paul Parsons <lost.distance@yahoo.com> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
* ARM: pxa: add dummy clock for pxa25x and pxa27xHaojian Zhuang2012-03-061-0/+1
| | | | | | | | | | | | | | gpio-pxa driver is shared among arch-pxa and arch-mmp. Clock is the essential component on pxa3xx/pxa95x and arch-mmp. So we need to define dummy clock in pxa25x/pxa27x instead. This regression was introduced by the commit "ARM: pxa: add dummy clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6. Reported-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Paul Parsons <lost.distance@yahoo.com> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
* arch/arm/mach-pxa/: included linux/gpio.h twiceDanny Kukawka2012-02-161-1/+0
| | | | | | | | arch/arm/mach-pxa/pxa25x.c and arch/arm/mach-pxa/saarb.c included 'linux/gpio.h' twice, remove the duplicates. Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
* Revert "ARM: pxa: add dummy clock for sa1100-rtc"Russell King2012-01-191-2/+0
| | | | | | | This reverts commit 7557c175f60d8d40baf16b22caf79beadef8f081. This revert is necessary to revert the broken "RTC: sa1100: support sa1100, pxa and mmp soc families" change.
* Merge branch 'drivers/rtc-sa1100' into next/driversArnd Bergmann2011-12-281-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | * drivers/rtc-sa1100: ARM: sa1100: clean up of the clock support ARM: pxa: add dummy clock for sa1100-rtc RTC: sa1100: support sa1100, pxa and mmp soc families RTC: sa1100: remove redundant code of setting alarm RTC: sa1100: Clean out ost register Conflicts: arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c
| * ARM: pxa: add dummy clock for sa1100-rtcJett.Zhou2011-12-281-0/+2
| | | | | | | | | | | | | | | | | | | | Now sa1100-rtc can support sa1100/pxa/mmp soc series, then we need add dummy clock for sa1100-rtc. Signed-off-by: Jett.Zhou <jtzhou@marvell.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* | ARM: pxa: add clk support in gpio driverHaojian Zhuang2011-11-151-0/+1
| | | | | | | | | | | | | | | | Support clk in gpio driver. There's no gpio clock in PXA25x and PXA27x. So use dummy clk instead. And move the gpio edge initialization into gpio driver for arch-mmp. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
* | ARM: pxa: change gpio to platform deviceHaojian Zhuang2011-11-151-2/+1
| | | | | | | | | | | | Remove most gpio macros and change gpio driver to platform driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
* | ARM: pxa: rename gpio_to_irq and irq_to_gpioHaojian Zhuang2011-11-141-1/+1
|/ | | | | | | Avoid to define gpio_to_irq() and irq_to_gpio() for potential name confliction since multiple architecture will be built together. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
* Merge branch 'depends/rmk/gpio' into next/fixesArnd Bergmann2011-10-311-1/+2
|\ | | | | | | | | | | | | This sorts out merge conflicts with the arm/gpio branch that already got merged into mainline Linux. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * ARM: 7104/1: plat-pxa: break out GPIO driver specificsLinus Walleij2011-10-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.hRussell King2011-08-081-1/+1
| | | | | | | | | | | | | | | | Convert arch/arm includes of mach/gpio.h and asm/gpio.h to linux/gpio.h before we start consolidating the individual platform implementations of the gpio header files. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | ARM: pxa: use correct __iomem annotationsArnd Bergmann2011-10-081-1/+1
|/ | | | | | | | | | | This tries to clear up the confusion between integers and iomem pointers in the marvell pxa platform. MMIO addresses are supposed to be __iomem* values, in order to let the Linux type checking work correctly. This patch moves the cast to __iomem as far back as possible, to the place where the MMIO virtual address windows are defined. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: pm: hide 1st and 2nd arguments to cpu_suspend from platform codeRussell King2011-06-241-2/+2
| | | | | | | | | The first and second arguments shouldn't concern platform code, so hide them from each platforms caller. Tested-by: Kevin Hilman <khilman@ti.com> Acked-by: Jean Pihet <j-pihet@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: pm: pxa: move cpu_suspend into C codeRussell King2011-06-241-1/+2
| | | | | | | | We don't need a veneer for cpu_suspend, it can be called directly from C code now. Move it into the PXA CPU suspend functions, along with the accumulator register saving/restoring. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM / PXA: Use struct syscore_ops for "core" power managementRafael J. Wysocki2011-04-241-19/+6
| | | | | | | | | | | | | Replace sysdev classes and struct sys_device objects used for "core" power management by the PXA platform code with struct syscore_ops objects that are simpler. This reduces the code size and the kernel memory footprint. It also is necessary for removing sysdevs entirely from the kernel in the future. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
* ARM: pxa: convert incorrect IRQ_TO_IRQ() to irq_to_gpio()Eric Miao2011-04-131-1/+1
| | | | | | | | | | This fixes the failure to register the IRQ_RTCAlrm alarm as a wakeup event. It is misinterpreted as a gpio irq not a PWER bitmask. Fixed this by converting the incorrect IRQ_TO_IRQ() to a correct version of irq_to_gpio(). Reported-by: Nick Bane <nickbane1@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
*-. Merge branches 'at91', 'ep93xx', 'errata', 'footbridge', 'fncpy', 'gemini', ↵Russell King2011-03-171-2/+3
|\ \ | | | | | | | | | 'irqdata', 'pm', 'sh', 'smp', 'spear', 'ux500' and 'via' into devel
| | * ARM: pxa: enable pxa-pcm-audio on pxa210/pxa25x platformDmitry Eremin-Solenikov2011-02-271-0/+1
| |/ |/| | | | | | | | | | | | | | | | | pxa25x platforms were left out of major ASoC Update patch. Since f0fba2ad1b a registration of pxa-pcm-audio device is required for ASoC to function on pxa platforms. Register one also for pxa210/pxa25x. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Cc: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
| * ARM: pm: convert PXA to generic suspend/resume supportRussell King2011-02-221-2/+2
|/ | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PXA SoCs: irq_data conversion.Lennert Buytenhek2011-01-131-3/+4
| | | | Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
* ARM: pxa: introduce pxa2xx_clock_sysclass for clock suspend/resumeEric Miao2010-12-161-4/+3
| | | | Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: pxa: remove get_memclk_frequency_10khz()Eric Miao2010-12-161-10/+10
| | | | | | | Introduce 'struct clk' for memory and remove get_memclk_frequency_10khz(). Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: pxa: separate the clock support into clock-{pxa2xx,pxa3xx}.cEric Miao2010-12-161-20/+21
| | | | Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: pxa: Access SMEMC via virtual addressesMarek Vasut2010-12-161-2/+3
| | | | | | | | | | | | | This is important because on PXA3xx, the physical mapping of SMEMC registers differs from the one on PXA2xx. In order to get PCMCIA working on both PXA2xx and PXA320, the PCMCIA driver was adjusted accordingly as well. Also, various places in the kernel had to be patched to use __raw_read/__raw_write. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
* ARM: pxa: Introduce pxa{25x,27x,3xx}_map_io()Marek Vasut2010-12-161-0/+17
| | | | | | | | | | | This patch introduces pxa2xx_map_io() and pxa3xx_map_io() to distinguish between PXA25x/PXA27x and PXA3xx memory mapping. Also, fixup for platforms broken after introducing pxa{25x,27x}_map_io() and pxa3xx_map_io() is included. 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: Consolidate clks_register() and similarRussell King2010-02-121-2/+2
| | | | | | | | | | | | | 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: allow platforms to control which uarts are registeredRussell King2009-12-011-6/+1
| | | | | | | | | | | | | | | | | | 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: move IRQ handling of GPIO 0 and 1 outside of gpio.cEric Miao2009-03-091-2/+3
| | | | | | | | | | | | | | | 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>
* [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usageEric Miao2009-03-091-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering the header mess ATM, it is not always possible to include the correct header files within board code. Let's keep this simple: <mach/pxa25x.h> - for pxa25x based platforms <mach/pxa27x.h> - for pxa27x based platforms <mach/pxa300.h> - for pxa300 based platforms <mach/pxa320.h> - for pxa320 based platforms <mach/pxa930.h> - for pxa930 based platforms NOTE: 1. one header one board file, they are not compatible (i.e. they have conflicting definitions which won't compile if included together). 2. Unless strictly necessary, the following header files are considered to be SoC files use _only_, and is not recommended to be included in board code: <mach/hardware.h> <mach/pxa-regs.h> <mach/pxa2xx-regs.h> <mach/pxa3xx-regs.h> <mach/mfp.h> <mach/mfp-pxa2xx.h> <mach/mfp-pxa25x.h> <mach/mfp-pxa27x.h> <mach/mfp-pxa3xx.h> <mach/mfp-pxa300.h> <mach/mfp-pxa320.h> <mach/mfp-pxa930.h> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* Merge branch 'for-rmk' of ↵Russell King2008-12-021-8/+10
|\ | | | | | | | | | | | | | | 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-1/+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: add support for additional GPIOs on PXA26xEric Miao2008-12-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original patch from Marek Vasut, the problems with PXA26x are: 1. there are additional 4 GPIOs 86,87,88,89 have their direction bits inverted in GPDR2, as well as their alternate function bits being '1' for their GPIO functionality in GAFRx 2. there is no easy way to decide if the processor is a pxa26x or a pxa250/pxa255 at run-time, so the assumption here is the pxa26x will be treated as one of the pxa25x variants, and board code should have a better knowledge of the processor it is featured Introduce pxa26x_init_irq() for the second purpose, and treat the additional GPIOs > 85 on PXA25x specially. Kconfig option CONFIG_CPU_PXA26x is introduced to optimize the code a bit when PXA26x support isn't needed. Board config options have to select this to enable the support for PXA26x. __gpio_is_inverted() will be optimized way when CONFIG_CPU_PXA26x isn't selected. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * Revert "[ARM] pxa: introduce cpu_is_pxa26x()"Eric Miao2008-12-021-7/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0. The originally proposed way in the above commit is incorrect. And there is no easy way to distinguish between pxa25x and pxa26x at run-time. 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-28/+43
|/ | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branches 'pxa-core' and 'pxa-machines' into pxa-allRussell King2008-10-071-25/+3
|\ | | | | | | | | | | | | | | Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c
| * [ARM] pxa: better MFP low power state support for pxa25x/pxa27xEric Miao2008-09-271-25/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When configured as a specific low power state: MFP_LPM_DRIVE_LOW, MFP_LPM_DRIVE_HIGH, the corresponding GPDR register bit during low power mode shall be re-configured as output (if they are not configured so), thus the PGSRx bits can output. Create an additional low power values GPDR registers, and properly save/restore the GAFR + GPDR registers when doing suspend/resume. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] pxa: introduce cpu_is_pxa26x()Eric Miao2008-09-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | PXA26x (PXA261/262) is actually a PXA250 with stacked Intel(R) StartaFlash. And this can be decided by bit 3 (PKG_TYPE) of BOOT_DEF register. Due to this extra I/O register access, make cpu_is_pxa26x() a public function instead of a macro. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] pxa: make cpu_is_pxa2* macros more consistentEric Miao2008-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 1. add a CPUID table in the comment 2. make cpu_is_pxa25x() true for PXA210/250/255/26x 3. PXA210 is treated as PXA25x, all related code modified to reflect this Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] pxa: merge common cpu_is_pxa255() code togetherEric Miao2008-09-251-6/+4
| | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] pxa: Allow platforms to override PSPR settingRussell King2008-09-091-5/+15
|/ | | | | | | | | | | | Currently, we set PSPR just before entering sleep mode. However, some platforms have different requirements for setting PSPR in order to properly wake up. Set PSPR earlier in the suspend cycle so that platforms can change the setting by using a sysdev driver instead. Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] clocklib: Update users of aliases to new APIIan Molton2008-08-121-9/+1
| | | | | | | This patch removes the hardcoded alias array from pxa25x.c and reimplements its functionality using the new clock alias call. Signed-off-by: Ian Molton <spyro@f2s.com>