Will Deacon [Fri, 30 Apr 2010 10:34:26 +0000 (11:34 +0100)]
ARM: 6071/1: perf-events: allow modules to query the number of hardware counters
For OProfile to initialise oprofilefs correctly, it needs to know
the number of counters it can represent.
This patch adds a function to the ARM perf-events backend to return
the number of hardware counters available for the current PMU.
Cc: Jamie Iles <jamie.iles@picochip.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 30 Apr 2010 10:33:33 +0000 (11:33 +0100)]
ARM: 6070/1: perf-events: add support for xscale PMUs
The perf-events framework for ARM only supports v6 and v7 cores.
This patch adds support for xscale v1 and v2 PMUs to perf, based on the
OProfile drivers in arch/arm/oprofile/op_model_xscale.c
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 30 Apr 2010 10:32:44 +0000 (11:32 +0100)]
ARM: 6069/1: perf-events: use numeric ID to identify PMU
The ARM perf-events framework provides support for a number of different
PMUs using struct arm_pmu. The char *name field of this struct can be
used to identify the PMU, but this is cumbersome if used outside of perf.
This patch replaces the name string for a PMU with an enum, which holds
a unique ID for the PMU being represented. This ID can be used to index
an array of names within perf, so no functionality is lost. The presence
of the ID field, allows other kernel subsystems [currently oprofile] to
use their own mappings for the PMU name.
Cc: Jean Pihet <jpihet@mvista.com>
Acked-by: Jamie Iles <jamie.iles@picochip.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Thu, 29 Apr 2010 16:13:24 +0000 (17:13 +0100)]
ARM: 6064/1: pmu: register IRQs at runtime
The current PMU infrastructure for ARM requires that the IRQs for the PMU
device are fixed at compile time and are selected based on the ARCH_ or MACH_ flags. This has the disadvantage of tying the Kernel down to a
particular board as far as profiling is concerned.
This patch replaces the compile-time IRQ registration with a runtime mechanism which allows the IRQs to be registered with the framework as
a platform_device.
A further advantage of this change is that there is scope for registering
different types of performance counters in the future by changing the id
of the platform_device and attaching different resources to it.
Acked-by: Jamie Iles <jamie.iles@picochip.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 17 May 2010 10:52:31 +0000 (11:52 +0100)]
Merge branches 'at91', 'bcmring', 'ep93xx', 'iop', 'misc', 'nomadik', 'omap', 'pxa', 'spear' and 'versatile' into devel
Conflicts:
arch/arm/Makefile
arch/arm/common/Makefile
arch/arm/mm/Kconfig
Russell King [Sat, 15 May 2010 10:02:43 +0000 (11:02 +0100)]
ARM: Optionally allow ARMv6 to use 'normal, bufferable' memory for DMA
Provide a configuration option to allow the ARMv6 to use normal
bufferable memory for coherent DMA. This option is forced to 'y'
for ARMv7, and offered as a configuration option on ARMv6.
Enabling this option requires drivers to have the necessary barriers
to ensure that data in DMA coherent memory is visible prior to the
DMA operation commencing.
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Kirill A. Shutemov [Sat, 15 May 2010 08:57:06 +0000 (09:57 +0100)]
ARM: 6134/1: Handle instruction cache maintenance fault properly
Between "clean D line..." and "invalidate I line" operations in
v7_coherent_user_range(), the memory page may get swapped out.
And the fault on "invalidate I line" could not be properly handled
causing the oops.
In ARMv6 "external abort on linefetch" replaced by "instruction cache
maintenance fault". Let's handle it as translation fault. It fixes the
issue.
I'm not sure if it's reasonable to check arch version in run-time.
Let's do it in compile time for now.
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@nokia.com>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 15 May 2010 09:40:21 +0000 (10:40 +0100)]
ARM: nwfpe: allow debugging output to be configured at runtime
Enabling CONFIG_USER_DEBUG allows NWFPE to complain about every FP
exception, which with some programs can cause the kernel message log
to fill with NWFPE debug, swamping out other messages.
This change allows NWFPE debugging to be configured at run time.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 15 May 2010 09:18:05 +0000 (10:18 +0100)]
ARM: rename mach_cpu_disable() to platform_cpu_disable()
Consistently name all SMP platform related functions.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jassi Brar [Fri, 14 May 2010 14:18:54 +0000 (15:18 +0100)]
ARM: 6132/1: PL330: Add common core driver
PL330 is a configurable DMA controller PrimeCell device.
The register map of the device is well defined.
The configuration of a particular implementation can be
read from the six configuration registers CR0-4,Dn.
This patch implements a driver for the specification:-
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424a/DDI0424A_dmac_pl330_r0p0_trm.pdf
The exported interface should be sufficient to implement
a driver for any DMA API.
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jason McMullan [Wed, 5 May 2010 17:59:37 +0000 (18:59 +0100)]
ARM: 6094/1: Extend cache-l2x0 to support the 16-way PL310
The L310 cache controller's interface is almost identical
to the L210. One major difference is that the PL310 can
have up to 16 ways.
This change uses the cache's part ID and the Associativity
bits in the AUX_CTRL register to determine the number of ways.
Also, this version prints out the CACHE_ID and AUX_CTRL registers.
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Jason S. McMullan <jason.mcmullan@netronome.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 25 Mar 2010 18:56:05 +0000 (18:56 +0000)]
ARM: Move memory mapping into mmu.c
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 25 Mar 2010 18:47:20 +0000 (18:47 +0000)]
ARM: Ensure meminfo is sorted prior to sanity_check_meminfo
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 25 Mar 2010 17:06:19 +0000 (17:06 +0000)]
ARM: Remove useless linux/bootmem.h includes
These files include linux/bootmem.h without using anything from this
file; remove the unnecessary include.
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Alexey Dobriyan [Sun, 2 May 2010 09:40:35 +0000 (12:40 +0300)]
ARM: convert /proc/cpu/aligment to seq_file
Convert code away from ->read_proc/->write_proc interfaces. Switch to
proc_create()/proc_create_data() which makes addition of proc entries
reliable wrt NULL ->proc_fops, NULL ->data and so on.
Problem with ->read_proc et al is described here commit
786d7e1612f0b0adb6046f19b906609e4fe8b1ba "Fix rmmod/read/write races in
/proc entries"
This patch is part of an effort to remove the old simple procfs PAGE_SIZE
buffer interface.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
FUJITA Tomonori [Sun, 4 Apr 2010 14:25:52 +0000 (23:25 +0900)]
arm: use asm-generic/scatterlist.h
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij [Fri, 7 May 2010 09:03:02 +0000 (10:03 +0100)]
ARM: 6107/1: plat-nomadik: use the MTU clocksrc for sched_clock
This provides some serious scheduling for the Nomadik family by
introducing a sched_clock() using the MTU clock source in the
same manner as e.g. OMAP or U300. This type of solutions has been
discussed at no end in the past, however we need this resolution
for making measurements and using HRTimers.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Mika Westerberg [Tue, 11 May 2010 14:34:54 +0000 (15:34 +0100)]
ARM: 6124/1: ep93xx: SPI driver platform support code
This patch adds platform side support code for the EP93xx SPI
driver. This includes clock, resources and muxing. There is a new
function: ep93xx_register_spi() which can be used by board support
code to register new SPI devices for the board.
This patch depends on patch
5998/1 ep93xx: added chip revision reading function
Cc: Ryan Mallon <ryan@bluewatersys.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Martin Guy <martinwguy@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 10:14:17 +0000 (11:14 +0100)]
ARM: 6104/1: nomadik-gpio: use clk API
Add clocks with appropriate names in platforms that use it, and use the
clk API in nomadik-gpio.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 09:47:25 +0000 (10:47 +0100)]
ARM: 6103/1: nomadik: define clocks statically
Add a table for clocks to be defined statically, so that new clocks can
be added without having to call nmdk_clk_create() for each of them.
Remove the now unused nmdk_clk_create() function.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 09:45:18 +0000 (10:45 +0100)]
ARM: 6102/1: nomadik-gpio: set a default trigger for interrupts
Set a default trigger type for interrupts, otherwise if request_irq is
called without specifiying a trigger type, the interrupt will not
actually be enabled.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 09:43:55 +0000 (10:43 +0100)]
ARM: 6101/1: nomadik-gpio: don't enable in set_type
On this peripheral, setting the trigger type enables the interrupt, and
the current set_type() implementation unconditionally enables the
interrupt, even if it is called when the interrupt is disabled. Fix
set_type() to:
- if the interrupt is disabled, defer the actual trigger setting to
when it is unmasked
- if the interrupt is enabled, change the type immediately by clearing
the old type and then re-enabling with the new type.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 09:42:42 +0000 (10:42 +0100)]
ARM: 6100/1: nomadik-gpio: factor out helper to enable/disable irqs
Remove some nearly-duplicated code to make the following patch simpler.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Thu, 6 May 2010 09:40:47 +0000 (10:40 +0100)]
ARM: 6099/1: nomadik-gpio: fix mask/unmask
Mask/unmask should modify the interrupt mask register (RIMSC
and FIMSC) not the wakeup mask registers (RWIMSC and FWIMSC).
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Harro Haan [Mon, 1 Mar 2010 16:54:55 +0000 (17:54 +0100)]
ARM: 5966/1: at91_udc HW glitch
Add some delay to avoid reading CSR TXCOUNT too early after
updating it.
For more info about this HW glitch see:
http://lists.arm.linux.org.uk/lurker/message/
20090325.150843.
f515c02f.en.html
http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/
20100129/
10ba0f8b/attachment.el
http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/
20100203/
09cdb3b4/attachment.el
http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/
20100203/
08b5b249/attachment.el
First applied: "Fix soft lockup in at91 udc driver"
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=5965
Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
Signed-off-by: Harro Haan <hrhaan@gmail.com>
Acked-by: Remy Bohmer <linux@bohmer.net>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:46:51 +0000 (08:46 +0100)]
ARM: 6090/1: ux500: add U5500 support
Add basic support for the U5500 platform.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:42:07 +0000 (08:42 +0100)]
ARM: 6089/1: ux500: rename cpu-u8500.c to cpu-db8500.c
Move the DB8500-specific file to a more appropriate name.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:31:35 +0000 (08:31 +0100)]
ARM: 6088/1: ux500: use UX500_* macros instead of U8500_*
So that the correct addresses get used on U5500.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:28:05 +0000 (08:28 +0100)]
ARM: 6087/1: ux500: move sys_timer to cpu.c
Move the common system timer setup code to cpu.c.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:25:52 +0000 (08:25 +0100)]
ARM: 6086/1: ux500: move gpio devices to devices-db8500.c
The GPIO layout is different on DB5500, so move the current one to
devices-db8500.c.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:24:37 +0000 (08:24 +0100)]
ARM: 6085/1: ux500: reorganize i2c devices
Move common i2c devices to devices.c and DB8500-specific I2C
devices to devices-db8500.c.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:18:38 +0000 (08:18 +0100)]
ARM: 6084/1: ux500: move UART devices to devices.c
The three PL011 UARTs are common among Ux500 SoCs, so move them to
devices.c.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 07:03:52 +0000 (08:03 +0100)]
ARM: 6083/1: ux500: put DB8500-specific devices in devices-db8500.c
Add devices-db8500.c for DB8500-specific devices, starting
with SSP0.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:46:56 +0000 (07:46 +0100)]
ARM: 6082/1: ux500: put common devices into devices.c
Introduce devices.c, for placing devices common among Ux500 SoCs. Start
with the PL031 device.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:43:48 +0000 (07:43 +0100)]
ARM: 6081/1: ux500: move gpio macros to common header
Move GPIO macros to a common header, and allow them to use the correct
macros for the appropriate SoC, and be named accordingly.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:39:02 +0000 (07:39 +0100)]
ARM: 6080/1: ux500: move irq and common maps to cpu.c
Move IRQ initialization and common io mapping setup code to cpu.c,
renaming U8500* to UX500* along the way.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:38:06 +0000 (07:38 +0100)]
ARM: 6079/1: ux500: allow choice of the DEBUG_LL UART
Allow the UART used for DEBUG_LL to be selected.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:34:53 +0000 (07:34 +0100)]
ARM: 6078/1: ux500: add per-SoC register definitions
Split up all the hardware register definitions previously found in
hardware.h into per-SoC files db8500-regs.h and db5500-regs.h. Rename a
couple of macros to prepare for sharing code between the variants.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Rabin Vincent [Mon, 3 May 2010 06:27:31 +0000 (07:27 +0100)]
ARM: 6077/1: ux500: add SOC Kconfig variables
This adds the different config options for SoCs DB8500 and DB5500 and
refines the SoC/CPU detection code to support the DB5500 as well via
these. The selection between DB5500 and DB8500 is currently a simple
compile-time choice.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Claudio Scordino [Mon, 3 May 2010 12:31:28 +0000 (13:31 +0100)]
ARM: 6092/1: atmel_serial: support for RS485 communications
Final version of the patch that adds support for RS485 communications to the atmel_serial driver.
The patch has been already sent and discussed on both linux-kernel and linux-arm-kernel mailing lists several times.
Many people collaborated to improve and test the code:
Tested-by: Sebastian Heutling <Sebastian.Heutling@who-ing.de>
Tested-by: Bernhard Roth <br@pwrnet.de>
Reviewed-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Michael Trimarchi <michael@evidence.eu.com>
Signed-off-by: Rick Bronson <rick@efn.org>
Signed-off-by: Sebastian Heutling <Sebastian.Heutling@who-ing.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Mon, 3 May 2010 08:24:30 +0000 (09:24 +0100)]
ARM: 6091/1: ST SPEAr: Adding support for shared irq layer
Multiple peripherals in SPEAr share common hardware interrupt lines.
This patch adds support for a shared irq layer, which registers hardware
irqs by itself and exposes virtual irq numbers to peripherals.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Anders Larsen [Tue, 13 Apr 2010 11:05:32 +0000 (12:05 +0100)]
ARM: 6053/1: AT91: Save power by disabling the processor clock when CPU is idle
Disable the processor clock when the CPU is idle.
This saves much more power than merely entering 'Wait for Interrupt' mode.
Since JTAG-debugging doesn't work when the processor clock is switched off,
make it conditional on CONFIG_DEBUG_KERNEL.
Signed-off-by: Anders Larsen <al@alarsen.net>
Acked-by: Andrew Victor <avictor.za@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Thu, 15 Apr 2010 09:16:26 +0000 (10:16 +0100)]
ARM: 6057/1: Realview: register PMU IRQs during board initialisation
This patch updates the initialisation routines for the Realview boards
and the Versatile Express board [ca9x4 tile] so that they register their
PMU IRQs with the PMU framework in the Kernel.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 11 Feb 2010 21:56:07 +0000 (21:56 +0000)]
ARM: Add Versatile Express SMP support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 28 Feb 2010 17:26:25 +0000 (17:26 +0000)]
ARM: Add Versatile Express CA9x4 processor support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 11 Feb 2010 21:44:53 +0000 (21:44 +0000)]
ARM: Add Versatile Express support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 1 Mar 2010 16:18:39 +0000 (16:18 +0000)]
ARM: Indirect round/set_rate operations through clk structure
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Wed, 20 Jan 2010 18:06:26 +0000 (19:06 +0100)]
ARM: 5890/1: Fix incorrect Realview board IRQs for L220 and PMU
In anticipation of PMU support for Realview boards, the IRQs defined
for some of these boards need updating.
This patch removes incorrect L220 IRQ definitions, corrects incorrect PMU
IRQs and adds any missing IRQs that are required.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 20:09:34 +0000 (20:09 +0000)]
ARM: Make Integrator/Versatile/Reaview VCO code similar
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 20:07:35 +0000 (20:07 +0000)]
ARM: Realview/Versatile: separate out common sched_clock()
Provide a common sched_clock() implementation for Versatile and
Realview.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 17 Jan 2010 16:20:56 +0000 (16:20 +0000)]
ARM: Integrator: move 16-bit timer support to Integrator/AP
Only Integrator/AP has 16-bit timers, so move the support into the
Integrator/AP specific support files.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 23:52:12 +0000 (23:52 +0000)]
ARM: Integrator: convert Integrator/CP to use SP804 timer support
The Integrator/CP board has SP804-compatible timer modules, so use
the SP804-compatible code from Versatile and Realview.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 17 Jan 2010 19:27:09 +0000 (19:27 +0000)]
ARM: Realview/Versatile/Integrator: remove unused definitions from platform.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Fri, 15 Jan 2010 18:19:56 +0000 (18:19 +0000)]
ARM: Realview/Versatile: don't use magic numbers for timer frequency
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 22:37:12 +0000 (22:37 +0000)]
ARM: Realview/Versatile: remove useless TIMER_RELOAD calculations
Realview/Versatile copied the Integrator timer code, including the
calculations for ensuring that the reload value fits into the 16-bit
counter. However, these platforms have a 32-bit counter which is
clocked at a slower rate.
The result is that the preprocessor conditions are never triggered:
TICKS_PER_uSEC = 1, mSEC_10 = 10000, which is 0x2710 - less than
0x10000.
So, remove the unnecessary complexity, reducing the TIMER_RELOAD
calculation to just:
TICKS_PER_uSEC * mSEC_10
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 13:30:16 +0000 (13:30 +0000)]
ARM: Realview/Versatile: separate out common SP804 timer code
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 12:48:06 +0000 (12:48 +0000)]
ARM: Realview/Versatile/Integrator: separate out common clock code
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 20:16:10 +0000 (20:16 +0000)]
ARM: ICST: kill duplicate icst code
The only difference between ICST307 and ICST525 are the two arrays
for calculating the S parameter; the code is now identical. Merge
the two files and kill the duplicated code.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 19:46:19 +0000 (19:46 +0000)]
ARM: ICST: indirect s2div and idx2s arrays via icst_params
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 19:49:39 +0000 (19:49 +0000)]
ARM: ICST: move minimum VCO frequency to icst_params
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 17:28:44 +0000 (17:28 +0000)]
ARM: ICST: use Hz instead of kHz
This makes the ICST support fit more nicely with the clk API,
eliminating the need to *1000 and /1000 in places.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 18:08:47 +0000 (18:08 +0000)]
ARM: ICST: provide definitions for max/min VCO frequencies
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 17:15:07 +0000 (17:15 +0000)]
ARM: ICST: icst.*_ps_to_vco() functions are unused, remove them
These functions were originally implemented for the CLCD driver before
we had clk API support. Since the CLCD driver does not use these
anymore, we can remove them.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 16:27:28 +0000 (16:27 +0000)]
ARM: ICST: merge common ICST VCO structures
The structures for the ICST307 and ICST525 VCO devices are
identical, so merge them together.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 17 Jan 2010 20:45:12 +0000 (20:45 +0000)]
ARM: Integrator: convert to use register definitions
Rather than using converted base address plus offset, use the register
address itself now that IO_ADDRESS() can cope with these.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 17 Jan 2010 20:23:57 +0000 (20:23 +0000)]
ARM: Integrator: allow IO_ADDRESS() to be used for register addresses
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 17 Jan 2010 19:59:58 +0000 (19:59 +0000)]
ARM: Integrator: fix Integrator/CP definitions, move to platform.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 9 Apr 2010 12:54:43 +0000 (13:54 +0100)]
ARM: 6046/1: ARM: OMAP: register PMU IRQs during board initialisation
This patch updates the initialisation routines for the OMAP2 and OMAP3
boards so that they register their PMU IRQs with the PMU framework in
the Kernel.
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 9 Apr 2010 12:57:51 +0000 (13:57 +0100)]
ARM: 6049/1: ARM: pxa: register PMU IRQs during board initialisation
This patch adds an initcall for the pxa platforms so that they
register their PMU IRQs with the PMU framework in the Kernel.
Cc: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Fri, 15 Jan 2010 22:12:46 +0000 (22:12 +0000)]
ARM: Integrator: pass 'khz' to integrator_time_init
This is now what the clocksource/clockevent initialization functions
want, so give them the timer tick rate directly.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Fri, 15 Jan 2010 21:49:23 +0000 (21:49 +0000)]
ARM: Integrator: convert to generic clockevent support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Fri, 15 Jan 2010 18:10:33 +0000 (18:10 +0000)]
ARM: Integrator: convert to generic time support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 16 Jan 2010 15:07:08 +0000 (15:07 +0000)]
ARM: Improve documentation in arm_timer.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 14 Jan 2010 19:59:37 +0000 (19:59 +0000)]
ARM: Fix Versatile&Integrator includes to behave in the same way as Realview
Realview doesn't include mach/platform.h in mach/hardware.h, so
make versatile behave in the same way. Also, move the definition
of __io_address() into mach/hardware.h, just like Realview.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 9 Apr 2010 12:57:02 +0000 (13:57 +0100)]
ARM: 6048/1: ARM: iop3xx: register PMU IRQs during board initialisation
This patch adds an initcall for the iop3xx platforms so that they
register their PMU IRQS with the PMU framework in the Kernel.
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Aaro Koskinen [Tue, 16 Feb 2010 21:06:14 +0000 (22:06 +0100)]
ARM: 5943/1: iop: n2100: enable serial interrupt
Thecus N2100 has a jumper (J3/J4) to select whether the XINT1 interrupt
line is connected to the second UHCI controller (position J3) or to
the serial port UART (position J4). Currently, the kernel is hardcoded
to assume the J3 position, and the serial port is always being used in
polling mode.
The patch adds the IRQ autodetection flag for the serial port interrupt,
and also marks it as shared (as the driver for the second UHCI controller
will request the interrupt in any case). Now, when the jumper is set to
the J4 position, the serial port will have an interrupt line, resulting
in less CPU overhead and faster throughput.
Tested-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Fri, 9 Apr 2010 12:55:54 +0000 (13:55 +0100)]
ARM: 6047/1: ARM: BCMRING: register PMU IRQ during board initialisation
This patch updates the initialisation routine for the BCMRING platform
so that it registers its PMU IRQ with the PMU framework in the Kernel.
Acked-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon [Thu, 29 Apr 2010 16:11:45 +0000 (17:11 +0100)]
ARM: 6063/1: pmu: add enum describing PMU types
This patch adds an enum describing the potential PMU device types in
preparation for PMU device registration via platform devices.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Anton Vorontsov [Mon, 19 Apr 2010 12:20:49 +0000 (13:20 +0100)]
ARM: 6058/1: Add support for PCI domains
This patch adds support for PCI domains on ARM platforms.
Also, protect asm/mach/pci.h from multiple inclustions, otherwise
build fails because of pci_domain_nr() and pci_proc_domain()
redefinitions.
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Ferre [Wed, 14 Apr 2010 16:54:04 +0000 (17:54 +0100)]
ARM: 6056/1: AT91: at91sam9g10 chip identification changed
A bit in the at91sam9g10 identification number changed between Engineering
Sample and final product. This patch will identify both as being at91sam9g10.
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij [Thu, 8 Apr 2010 06:40:13 +0000 (07:40 +0100)]
ARM: 6034/1: ARM: U300: set f_max to 24 MHz for MMCI
This employs the frequency setting mechanism introduced to the
MMCI to specify that this system can actually be clocked at 24 MHz.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij [Thu, 8 Apr 2010 06:39:38 +0000 (07:39 +0100)]
ARM: 6033/1: ARM: MMCI: pass max frequency from platform
This introduce the field f_max into the mmci_platform_data,
making it possible to pass in a desired block clocking frequency
from a board configuration. This is often more desirable than
using a module parameter. We keep the module parameter as a
fallback as well as the default frequency specified for this
parameter if a parameter is not provided.
This also adds some kerneldoc style documentation to the
platform data struct in mmci.h.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij [Thu, 8 Apr 2010 06:38:52 +0000 (07:38 +0100)]
ARM: 6032/1: ARM: MMCI: support 8bit mode on the ST Micro version
This adds support for an 8bit wide bus to the card (data lines
MCIDAT0 through 7 exist) on the ST Micro version and alters the
U300 platform to support this. Also add some ST_ prefix to the
ST-specific registers.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Srinidhi Kasagar [Sat, 3 Apr 2010 18:10:45 +0000 (19:10 +0100)]
ARM: 6027/1: ux500: enable l2x0 support
This enables the l2x0 support and ensures that the secondary
CPU can see the page table and secondary data at this point.
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 24 Dec 2009 18:32:13 +0000 (18:32 +0000)]
ARM: dma: add /proc/dma support to arch/arm/kernel/dma.c
We have our own private implementation for ISA-like DMA which has been
missing exposure via the /proc/dma interface. Add support for this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 24 Dec 2009 12:57:01 +0000 (12:57 +0000)]
ARM: remove unnecessary cache flush
This cache flush occurs when we first insert a page into the page
tables, where a page did not exist previously. There can be no
cache lines associated with this virtual mapping, so this cache
flush is redundant.
Tested-by: Mike Rapoport <mike@compulab.co.il>
Tested-by: Mikael Pettersson <mikpe at it.uu.se>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Albin Tonnerre [Sat, 3 Apr 2010 10:40:28 +0000 (11:40 +0100)]
ARM: 6026/1: ARM: Add support for LZMA-compressed kernel images
This patch allows using a kernel image compressed with LZMA on ARM.
Extracting the image is fairly slow, but it might be useful on machines
with a very limited amount of storage, as the size benefit is quite
significant (about 25% smaller with LZMA compared to GZIP)
Tested-by: Martin Michlmayr <tbm@cyrius.com>
Tested-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:49:09 +0000 (12:49 +0100)]
ARM: 6021/1: ST SPEAr: Added ARM PrimeXsys System Controller SP810 header file
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:31:29 +0000 (12:31 +0100)]
ARM: 6020/1: ST SPEAr: Adding gpio pad multiplexing support
GPIO Pads in spear platform are are multiplexed in various machines.
This patch adds support for this pad multiplexing.
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:31:17 +0000 (12:31 +0100)]
ARM: 6019/1: ST SPEAr: Added default configuration files for SPEAr machines
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:31:21 +0000 (12:31 +0100)]
ARM: 6018/1: ST SPEAr: Updated Maintainers and added Documentation/arm/SPEAr
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:58 +0000 (12:30 +0100)]
ARM: 6017/1: ST SPEAr: Added source files for SPEAr3xx machine family
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:31:05 +0000 (12:31 +0100)]
ARM: 6016/1: ST SPEAr: Added support for SPEAr platform and machines in arch/arm/
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:31:01 +0000 (12:31 +0100)]
ARM: 6015/1: ST SPEAr: Added source files for SPEAr6xx machine family
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:46 +0000 (12:30 +0100)]
ARM: 6014/1: ST SPEAr: Added clock framework for SPEAr platform and machines
Clock framework for SPEAr is based upon clkdev framework for ARM
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:49 +0000 (12:30 +0100)]
ARM: 6013/1: ST SPEAr: Added source files for SPEAr platform
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:42 +0000 (12:30 +0100)]
ARM: 6012/1: ST SPEAr: Added basic header files for SPEAr platform
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:31 +0000 (12:30 +0100)]
ARM: 6011/1: ST SPEAr: Added basic header files for SPEAr6xx machine family
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
viresh kumar [Thu, 1 Apr 2010 11:30:19 +0000 (12:30 +0100)]
ARM: 6010/1: ST SPEAr: Added basic header files for SPEAr3xx machine family
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Christian Glindkamp [Tue, 13 Apr 2010 13:55:27 +0000 (14:55 +0100)]
ARM: 6055/1: AT91: add defconfig for taskit PortuxG20 and Stamp9G20
Support for both boards can easily be built into one kernel image, so
there is no need to add one defconfig for each of them.
Signed-off-by: Christian Glindkamp <christian.glindkamp@taskit.de>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>