aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAge
* Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into develRussell King2009-06-11
|\ | | | | | | | | | | | | | | Conflicts: arch/arm/Kconfig arch/arm/kernel/smp.c arch/arm/mach-realview/Makefile arch/arm/mach-realview/platsmp.c
| * Fix the VFP handling on the Feroceon CPUCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This CPU generates synchronous VFP exceptions in a non-standard way - the FPEXC.EX bit set but without the FPSCR.IXE bit being set like in the VFP subarchitecture 1 or just the FPEXC.DEX bit like in VFP subarchitecture 2. The main problem is that the faulty instruction (which needs to be emulated in software) will be restarted several times (normally until a context switch disables the VFP). This patch ensures that the VFP exception is treated as synchronous. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Nicolas Pitre <nico@cam.org>
| * Add core support for ARMv6/v7 big-endianCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with ARMv6, the CPUs support the BE-8 variant of big-endian (byte-invariant). This patch adds the core support: - setting of the BE-8 mode via the CPSR.E register for both kernel and user threads - big-endian page table walking - REV used to rotate instructions read from memory during fault processing as they are still little-endian format - Kconfig and Makefile support for BE-8. The --be8 option must be passed to the final linking stage to convert the instructions to little-endian Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Move the IRQ_* definitions out of the board-*.h filesCatalin Marinas2009-05-30
| | | | | | | | | | | | | | The IRQ_* macros need to be made visible via the mach/irqs.h file but without the additional macros defined in the board-*.h files. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * arm: Provide _sdata and __bss_stop in the vmlinux.lds.S fileCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | _sdata and __bss_stop are common symbols defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses these symbols when scanning the data sections. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * ARMv7: Document the PRRR and NMRR registers settingCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | This patch adds a comment to the proc-v7.S file for the setting of the PRRR and NMRR registers. It also sets the PRRR[13:12] bits to 0 (corresponding to the reserved TEX[0]CB encoding 110) to be consistent with the documentation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * ARMv7: Enable the SWP instructionCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | | | | | The SWP instruction has been deprecated starting with the ARMv6 architecture. On ARMv7 processors with the multiprocessor extensions (like Cortex-A9), this instruction is disabled by default but it can be enabled by setting bit 10 in the System Control register. Note that setting this bit is safe even if the ARMv7 processor has the SWP instruction enabled by default. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * Clear the IT state when invoking a Thumb-2 signal handlerCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | If a process is interrupted during an If-Then block and a signal is invoked, the ITSTATE bits must be cleared otherwise the handler would not run correctly. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Joseph S. Myers <joseph@codesourcery.com>
| * ARMv7: Mark the PTWs inner WBWA on SMP and WB on UPTony Thompson2009-05-30
| | | | | | | | | | | | | | | | | | | | There are additional bits to set for the ARMv7 SMP extensions in the TTBR registers. The IRGN bits order is counter-intuitive but it allows software built for the ARMv7 base architecture to run on an implementation with the MP extensions. Signed-off-by: Tony Thompson <Anthony.Thompson@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * Check whether the TLB operations need broadcasting on SMP systemsCatalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | | | | | ARMv7 SMP hardware can handle the TLB maintenance operations broadcasting in hardware so that the software can avoid the costly IPIs. This patch adds the necessary checks (the MMFR3 CPUID register) to avoid the broadcasting if already supported by the hardware. (this patch is based on the work done by Tony Thompson @ ARM) Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Toggle one LED per CPUCatalin Marinas2009-05-30
| | | | | | | | | | | | | | If CONFIG_LEDS is enabled, it makes more sense to toggle one LED per CPU in SMP systems rather than a single LED for all the CPUs. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Allow CONFIG_LEDS on this platformColin Tuckley2009-05-30
| | | | | | | | | | Signed-off-by: Colin Tuckley <Colin.Tuckley@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Allow access to the secure flash memory block on PB1176Catalin Marinas2009-05-30
| | | | | | | | | | | | | | | | | | This patch adds a Kconfig option for specifying whether Linux will only be run in secure mode on the RealView PB1176 platform. Enabling it will make the secure flash memory block (64MB @ 0x3c000000) available to Linux. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Add support for the RealView/PBX platformColin Tuckley2009-05-30
| | | | | | | | | | | | | | | | | | This is a RealView platform supporting core tiles with ARM11MPCore, Cortex-A8 or Cortex-A9 (multicore) processors. It has support for MMC, CompactFlash, PCI-E. Signed-off-by: Colin Tuckley <colin.tuckley@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| * RealView: Allow SMP when the Cortex-A9 tile is enabled for EBCatalin Marinas2009-05-30
| | | | | | | | Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
* | Merge branch 'w90x900' into develRussell King2009-06-11
|\ \
| * | [ARM] 5550/1: Add default configure file for w90p910 platformwanzongshun2009-06-11
| | | | | | | | | | | | | | | | | | | | | Add default configure file for w90p910 platform. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5549/1: Add clock api for w90p910 platform.wanzongshun2009-06-11
| | | | | | | | | | | | | | | | | | | | | Add clock api for w90p910 platform. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5548/1: Add gpio api for w90p910 platformwanzongshun2009-06-11
| | | | | | | | | | | | | | | | | | | | | Add gpio api for w90p910 platform. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5551/1: Add multi-function pin api for w90p910 platform.wanzongshun2009-06-11
| | | | | | | | | | | | | | | | | | | | | Add multi-function pin api for w90p910 platform. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5512/1: Add w90p910 rtc,kpi and usbd device platform_device define.wanzongshun2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | Add rtc,kpi and usbd device platform_device define in arch/arm/mach-w90x900/mach-w90p910evb.c. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5511/1: Add w90p910 rtc,kpi and usbd device map_desc define.wanzongshun2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | Add rtc,kpi and usbd device map_desc define in /arch/arm/mach-w90x900/w90p910.c. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5499/1: Add Usb register controller header file dfinewanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Usb register controller header file dfine. w90p910 usb ip is standard,but some mutifunction controll pin must be special define in w90p910 Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5498/1: w90p910 Clock register controller header file dfinewanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add Clock register controller header file dfine. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5497/1: Add usb and ts relevant kernel maping optionwanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add drivers relevant kernel maping option. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5496/1: Add w90p910 touch screen driver relevant kernel parts[2/2].wanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add this touch screen driver relevant kernel parts. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5495/1: Add w90p910 usb host driver relevant kernel parts[1/2]wanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add this usb host driver relevant kernel parts. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5494/1: Add w90p910 irq number definewanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add irq number define for driver will be submitted. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5493/1: Add w90p910 IC interface controller regester mapwanzongshun2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | Add w90p910 IC other interface controller regester map for driver will be submitted. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [ARM] Make ARM_VIC_NR depend on ARM_VICRussell King2009-06-10
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King2009-06-10
|\ \ \
| * \ \ [ARM] S3C24XX: Merge devel-gpioBen Dooks2009-05-21
| |\ \ \ | | | | | | | | | | | | | | | Merge branch 'devel-gpio' into for-rmk-devel
| | * | | [ARM] S3C24XX: GPIO: Change usb-simtec.c to use gpiolib.Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make arch/arm/mach-s3c2410/usb-simtec.c use gpiolib to manage gpio access. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Fix missing GPIOs in gpiolibBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPG bank has 16 IOs, not 10. Add the missing GPH bank. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Move gpiolib initialisation earlierBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The arch_initcall() is too late for board initialisation to use gpiolib when doing their machine specific initilisation via the .init_machine callback. Bring the file into line with the s3c64xx implementation and use the core_initcall() to register the GPIO chips. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Fix error returns from gpio functionsBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several GPIO functions have been returning -1 to indicate an error instead of returning a proper error code. Change to return -EINVAL for invalid argument(s). Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Change to macros for GPIO numberingBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepare to remove the large number of S3C2410_GPxn defines by moving to S3C2410_GPx(n) in arch/arm. The following perl was used to change the files: perl -pi~ -e 's/S3C2410_GP([A-Z])([0-9]+)([^_^0-9])/S3C2410_GP\1\(\2\)\3/g' Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Add S3C64XX style GPIO numberingBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the new style of GPIO numbering by using a single macro for each GPIO bank. This means S3C2410_GPA0 becomes S3C2410_GPA(0), and so on. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Start removal of S3C24XX_GPIO_BASEBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The S3C24XX_GPIO_BASE makes it difficult to compress the GPIO number space, and is only used in a few places of which everything outside arch/arm/plat-s3c24xx/gpiolib.c will be removed as soon as possible. Change gpiolib.c to use the S3C2410_GPxCON register addresses as the base for each bank, thus eliminating S3C24XX_GPIO_BASE. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Clean out unused definitions in <mach/regs-gpio.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The <mach/regs-gpio.h> really does not need the input and output pin configurations as these are standard and have a generic representation (plus the s3c24xx gpio specific code is going to be phased out soon). The following sed was applied to remove the lines: sed -i~ -e '/S3C2410_GP[A-Z][0-9]*_\INP/d' \ -e '/S3C2410_GP[A-Z][0-9]*_\OUTP/d' \ -e '/S3C2410_GPA[0-9]*_OUT/d' to remove these. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: Fix missing <linux/sysdev.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our recent changes, arch/arm/plat-s3c24xx/gpiolib.c needs to have <linux/sysdev.h> included for it to build. This fixes the following error/warnings: arch/arm/plat-s3c/include/plat/pm.h:104: error: expected declaration specifiers or '...' before 'pm_message_t' arch/arm/plat-s3c/include/plat/pm.h:104: warning: 'struct sys_device' declared inside parameter list arch/arm/plat-s3c/include/plat/pm.h:104: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/plat-s3c/include/plat/pm.h:105: warning: 'struct sys_device' declared inside parameter list Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move all the gpio functions out of <mach/hardware.h> as this file is for defining the generic IO base addresses for the kernel IO calls. Make a new header <mach/gpio-fns.h> to take this and include it via the chain from <linux/gpio.h> which is what most of these files should be using (and will be changed as soon as possible). Note, this does make minor changes to some drivers but should not mess up any pending merges. CC: Richard Purdie <rpurdie@rpsys.net> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> CC: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Remove pin specific input and output definesBen Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of S3C2410_GP[A-Z]x_INP and S3C2410_GP[A-Z]x_OUTP are very rare and are taking up large amounts of space in the regs-gpio.h header. The GPIO layer has had generic input and out defines called S3C2410_GPIO_INPUT and S3C2410_GPIO_OUTPUT for a while which work for all S3C24XX GPIOs. Do the following replacements: S3C2410_GP[A-Z][0-9]*_\OUTP => S3C2410_GPIO_OUTPUT S3C2410_GP[A-Z][0-9]*_\INP => /S3C2410_GPIO_INPUT S3C2410_GPA[0-9]*_OUT => S3C2410_GPIO_OUTPUT to remove any usages of these and prepare the header for the removal of these. The following command was used to acheive this: find . -type f -writable ! -name regs-gpio.h ! -name "*~" | xargs sed -i~ -e 's/S3C2410_GP[A-Z][0-9]*_\OUTP/S3C2410_GPIO_OUTPUT/g' -e 's/S3C2410_GP[A-Z][0-9]*_\INP/S3C2410_GPIO_INPUT/g' -e 's/S3C2410_GPA[0-9]*_OUT/S3C2410_GPIO_OUTPUT/g' Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | [ARM] S3C24XX: GPIO: Remove s3c2410_gpio_irq2pin() callBen Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the s3c2410_gpio_irq2pin() function as it is not being used in any in kernel driver and the function is probably not being used anywhere else. This is also part of the effort to remove any of the s3c24xx gpio specific code that cannot be recreated by using the gpiolib framework now in the kernel. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | | | [ARM] S3C: Merge next-s3c64xx-dma2 into for-rmk-develBen Dooks2009-05-18
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge branch 'next-s3c64xx-dma2' into for-rmk-devel Conflicts: arch/arm/plat-s3c64xx/Makefile
| | * | | | [ARM] S3C64XX: Lower severity of DMA loggingMark Brown2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The message was missing a severity macro so pick pr_debug(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | | [ARM] S3C64XX: DMA supportBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | | [ARM] S3C: Move DMA channel management code to plat-s3cBen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | | [ARM] S3C24XX: dma.h should not include <mach/hardware.h>Ben Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dma.h header does not need to include <mach/hardware.h> as there is nothing it depends on. Remove the include and fixup the couple of places where <mach/map.h> was not explicitly included (dragged in via <mach/hardware.h>) Note, we have to fix arch/arm/plat-s3c24xx/pm.c which seems to rely on having <mach/hardware.h> included by this method. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | | | [ARM] S3C: Make common <plat/dma.h> headerBen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the common information from the <mach/dma.h> header into a new shareable <plat/dma.h> header for re-use on the s3c64xx. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>