Russell King [Thu, 28 Sep 2006 21:20:39 +0000 (22:20 +0100)]
Merge nommu branch
Kevin Hilman [Thu, 21 Sep 2006 23:58:57 +0000 (00:58 +0100)]
[ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
Enables the ixp4xx platforms to use Generic time-of-day.
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Kevin Hilman [Thu, 21 Sep 2006 23:16:30 +0000 (00:16 +0100)]
[ARM] 3855/1: Add generic time support
This patch adds Generic time-of-day support for the ARM architecture.
The support is currently added using #ifdef's so that it can support
sub-arches that do not (yet) have a clocksource added. As sub-arches
add clocksource support, they should 'select GENERIC_TIME'
Signed-off-by: Deepak Saxena <dsaxena@mvista.com>
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Thu, 28 Sep 2006 19:51:35 +0000 (20:51 +0100)]
[ARM] 3873/1: S3C24XX: Add irq_chip names
Add names to all the irq_chip structes
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Thu, 28 Sep 2006 19:45:29 +0000 (20:45 +0100)]
[ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
Apply consistant tabbing to the IRQ chip
structures in arch/arm/mach-s3c2410/irq.c
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Thu, 28 Sep 2006 19:40:50 +0000 (20:40 +0100)]
[ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
The demux code for the IRQ EINTs above 3 was
using find last set instead of finding first
set.
Also fix it so that we only check EINT4..7
when the parent EINT4t7 goes off, and the
8..23 when EINT8t23 goes off.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Thu, 28 Sep 2006 12:46:34 +0000 (21:46 +0900)]
[ARM] nommu: confirms the CR_V bit in nommu mode
In nommu mode, the exception vector location depends on the platforms.
Some of the implementations may have some special exception control
forwarding method in their ROM/flash and for some of them has its own
re-mapping mechanism by the h/w.
This patch introduces a special configuration CONFIG_CPU_HIGH_VECTOR which
turns on the CR_V bit in nommu mode. The CR_V bit is turned off by default.
This feature depends on CP15 and does not supported by ARM740.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Thu, 28 Sep 2006 12:46:16 +0000 (21:46 +0900)]
[ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
There is no FSR/FAR register on no-CP15 or MPU cores. This patch adds a
dummy abort handler which returns zero for the base restored Data Abort
model !CPU_CP15_MMU cores. The abort-lv4t.S is still used with the fix-up
for the base updated Data Abort model cores.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Thu, 28 Sep 2006 15:26:47 +0000 (16:26 +0100)]
[ARM] 3870/1: AT91: Start removing static memory mappings
This patch removes the static memory mapping for the currently-unused
peripherals [Synchronous Serial, Timer/Counter unit], and for those
drivers that already ioremap() their registers [UART].
Also, the Ethernet driver now uses the platform_device resources but
doesn't yet use ioremap() so we need to pass it the virtual address
instead of the physical address.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Thu, 28 Sep 2006 09:27:00 +0000 (10:27 +0100)]
[ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
This patch adds support for the NAND flash on the Atmel AT91RM9200-DK
and KwikByte KB920x boards.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Wed, 27 Sep 2006 15:18:18 +0000 (16:18 +0100)]
[ARM] 3868/1: AT91 hardware header update
This patch adds the hardware register definitions for the TWI (I2C)
controller found on the AT91RM9200 and AT91SAM9xx processors.
It also defines the AIC Fast-Forcing registers added to the AT91SAM9's.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Wed, 27 Sep 2006 12:23:00 +0000 (13:23 +0100)]
[ARM] 3867/1: AT91 GPIO update
This patch makes the AT91 gpio.c support processor-generic (AT91RM9200
and AT91SAM9xxx). The GPIO controllers supported by a particular AT91
processor are defined in the processor-specific file and are registered
with gpio.c at startup.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Wed, 27 Sep 2006 09:50:59 +0000 (10:50 +0100)]
[ARM] 3866/1: AT91 clock update
This patch makes the AT91 clock.c support processor-generic (AT91RM9200
and AT91SAM9xxx). The clocks supported by a particular AT91 processor
are defined in the processor-specific file and are registered with
clock.c at startup.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Wed, 27 Sep 2006 08:44:11 +0000 (09:44 +0100)]
[ARM] 3865/1: AT91RM9200 header updates
This is more preparation for adding support for the new Atmel AT91SAM9
processors.
Changes include:
- Replace AT91_BASE_* with AT91RM9200_BASE_*
- Replace AT91_ID_* with AT91RM9200_ID_*
- ROM, SRAM and UHP address definitions moved to at91rm9200.h.
- The raw AT91_P[ABCD]_* definitions are now depreciated in favour of
the GPIO API.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Anders [Tue, 26 Sep 2006 16:46:00 +0000 (17:46 +0100)]
[ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
this patch registers the wakeup irq, sets a gpio pin to indicate the
status of system for suspend/resume operations, and adds the machine to
the supported machines for use with the simtec-pm
Signed-off-by: David Anders <danders@amltd.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Serge E. Hallyn [Mon, 7 Aug 2006 16:57:36 +0000 (11:57 -0500)]
[ARM] kthread: switch arch/arm/kernel/apm.c
Switch arch/arm/kernel/apm.c from using kernel_thread - whose export
is deprecated - to kthread.
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Eric Sesterhenn [Tue, 26 Sep 2006 12:22:00 +0000 (14:22 +0200)]
[ARM] Off-by-one in arch/arm/common/icst*
hi,
a quick find -iname \*.[ch] | xargs grep "> ARRAY_SIZE(", revealed
these in the icst drivers.
If i == ARRAY_SIZE, we get past the idx2s array.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dirk Opfer [Mon, 25 Sep 2006 21:51:02 +0000 (22:51 +0100)]
[ARM] 3864/1: Refactore sharpsl_pm
This patch adds another hook into sharpsl_pm to notify the machine
specific driver immediately after resume. This is needed to support the Sharp SL-6000 (Tosa).
Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dirk Opfer [Mon, 25 Sep 2006 21:41:47 +0000 (22:41 +0100)]
[ARM] 3863/1: Add Locomo SPI Device
The Locomo chip has a SPI interface which is used for SD/MMC cards (only collie).
This patch adds the definition for the SPI device inside the Locomo chip.
Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Richard Purdie [Mon, 25 Sep 2006 19:11:48 +0000 (20:11 +0100)]
[ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
Convert LOMOMO to use struct device * for GPIOs instead of struct
locomo_dev. This enables access to the GPIOs from code which is not
a locomo device itself (such as audio). Access for gpio 31 is removed
for error handling (no such hardware exists).
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 18:57:54 +0000 (19:57 +0100)]
Merge /linux/kernel/git/tmlind/linux-omap-upstream into devel
Russell King [Wed, 27 Sep 2006 17:00:35 +0000 (18:00 +0100)]
[ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
Three of the generic cache method options were using explicit CPU
types, whereas they could use the CPU_CACHE_* definitions instead.
Switch them over to use the CPU_CACHE_* definitions.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 16:44:39 +0000 (17:44 +0100)]
[ARM] Make !MMU CPUs depend on !MMU
Don't offer non-MMU based CPUs for selection when CONFIG_MMU is
set.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:38:32 +0000 (17:38 +0900)]
[ARM] nommu: add ARM946E-S core support
This patch adds ARM946E-S core support which has typically 8KB I&D cache.
It has a MPU and supports ARMv5TE instruction set.
Because the ARM946E-S core can be synthesizable with various cache size,
CONFIG_CPU_DCACHE_SIZE is defined for vendor specific configurations.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:38:18 +0000 (17:38 +0900)]
[ARM] nommu: add ARM940T core support
This patch adds ARM940T core support which has 4KB D-cache, 4KB I-cache
and a MPU.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:38:05 +0000 (17:38 +0900)]
[ARM] nommu: add ARM9TDMI core support
This patch adds ARM9TDMI core support which has no cache and no CP15
register(no memory control unit).
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:37:50 +0000 (17:37 +0900)]
[ARM] nommu: add ARM740T core support
This patch adds ARM740T core support which has a MPU and 4KB or 8KB cache.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:37:36 +0000 (17:37 +0900)]
[ARM] nommu: add ARM7TDMI core support
This patch adds ARM7TDMI core support which has no cache and no CP15
register(no memory control unit).
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:36:37 +0000 (17:36 +0900)]
[ARM] nommu: manage the CP15 things
All the current CP15 access codes in ARM arch can be categorized and
conditioned by the defines as follows:
Related operation Safe condition
a. any CP15 access !CPU_CP15
b. alignment trap CPU_CP15_MMU
c. D-cache(C-bit) CPU_CP15
d. I-cache CPU_CP15 && !( CPU_ARM610 || CPU_ARM710 ||
CPU_ARM720 || CPU_ARM740 ||
CPU_XSCALE || CPU_XSC3 )
e. alternate vector CPU_CP15 && !CPU_ARM740
f. TTB CPU_CP15_MMU
g. Domain CPU_CP15_MMU
h. FSR/FAR CPU_CP15_MMU
For example, alternate vector is supported if and only if
"CPU_CP15 && !CPU_ARM740" is satisfied.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:36:37 +0000 (17:36 +0900)]
[ARM] nommu: defines CPU_CP15, CPU_CP15_MMU and CPU_CP15_MPU
By merging of uClinux/ARM, we need to treat various CPU cores which have
MMU, MPU or even none for memory management. The memory management
coprocessors are controlled by CP15 register set and the ARM core family
can be categorized by 5 groups by the register ;
G-a. CP15 is MMU : 610, 710, 720, 920, 922, 925, 926, 1020, 1020e, 1022,
v6 and the derivations sa1100, sa110, xscale, xsc3.
G-b. CP15 is MPU : 740, 940, 946, 996, 1156.
G-c. CP15 is MPU or MMU : 1026 (selectable by schematic design)
G-d. CP15 is exist, but nothing for memory managemnt : 966, 968.
G-e. no-CP15 : 7tdmi, 9tdmi, 9e, 9ej
This patch defines CPU_CP15, CPU_CP15_MMU and CPU_CP15_MPU. Thus the
family can be defined as :
- CPU_CP15 only : G-d
- CPU_CP15_MMU(implies CPU_CP15) : G-a, G-c(selectable)
- CPU_CP15_MPU(implies CPU_CP15) : G-b, G-c(selectable)
- !CPU_CP15 : G-e
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hyok S. Choi [Tue, 26 Sep 2006 08:37:07 +0000 (17:37 +0900)]
[ARM] nommu: allows to support module in nommu
A simple patch to support module in nommu mode.
The vmalloc is used instead of __vmalloc_area which depends on CONFIG_MMU.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 15:13:48 +0000 (16:13 +0100)]
[ARM] do_bad_area() always takes current and current->active_mm
Since do_bad_area() always takes the currently active task and
(supposed to) take the currently active MM, there's no point passing
them to this function. Instead, obtain references to them inside
do_bad_area().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 14:43:47 +0000 (15:43 +0100)]
[ARM] Add setup_mm_for_reboot() for nommu
Add an empty setup_mm_for_reboot() function for nommu machines.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 14:40:28 +0000 (15:40 +0100)]
[ARM] Rename mm-armv.c to pgd.c
mm-armv.c now only contains the pgd allocation/freeing code, so
rename it to have a more sensible filename.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 14:38:34 +0000 (15:38 +0100)]
[ARM] Move rest of MMU setup code from mm-armv.c to mmu.c
If we're going to have mmu.c for code which is specific to the MMU
machines, we might as well move the other MMU initialisation
specific code from mm-armv.c into this new file. This also allows
us to make some functions static.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 14:27:33 +0000 (15:27 +0100)]
[ARM] Split ARM MM initialisation for !mmu
Move the MMU specific code from init.c into mmu.c, and add nommu
fixups to nommu.c
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 27 Sep 2006 09:00:54 +0000 (10:00 +0100)]
[ARM] Separate page table manipulation code from bootmem initialisation
nommu does not require the page table manipulation code in the
bootmem initialisation paths. Move this into separate inline
functions.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Paul Brook [Sun, 24 Sep 2006 15:54:40 +0000 (16:54 +0100)]
[ARM] 3860/1: Versatile PCI config byte accesses
The ARM Versatile board PCI config space read routines are broken for byte
accesses. The access uses a byte read, so masking the bottom two bits of the
address is wrong.
I guess this is a cut/paste error from the the halfword code which uses
aligned word access+shift+mask.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
George G. Davis [Fri, 22 Sep 2006 17:36:38 +0000 (18:36 +0100)]
[ARM] 3859/1: Fix devicemaps_init() XIP_KERNEL odd 1MiB XIP_PHYS_ADDR translation error
The ARM XIP_KERNEL map created in devicemaps_init() is wrong.
The map.pfn is rounded down to an even 1MiB section boundary
which results in va/pa translations errors when XIP_PHYS_ADDR
starts on an odd 1MiB boundary and this causes the kernel to
hang. This patch fixes ARM XIP_KERNEL translation errors for
the odd 1MiB XIP_PHYS_ADDR boundary case.
Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Fri, 22 Sep 2006 14:42:18 +0000 (15:42 +0100)]
[ARM] 3858/1: S3C2412: power management code
Add S3C2412 power management code, and move the
core register saving in from s3c2412.c
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Anders [Thu, 21 Sep 2006 21:57:12 +0000 (22:57 +0100)]
[ARM] 3854/2: S3C2410 - add machine type for AML M5900 series (resubmitted)
Add the AML M5900 series to the list of supported machines in the
arch/arm/mach-s3c2410 directory. This ensures the core peripherals
are registered, and the timer source is configured. if selected in
the kernel config the framebuffer registers and mtd partition
information are set. This version of the patch has corrected
formatting and removed the legacy procfs directory entry.
Signed-off-by: David Anders <danders@amltd.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tony Lindgren [Mon, 25 Sep 2006 10:28:17 +0000 (13:28 +0300)]
ARM: OMAP: Remove common pm.c
There is now separate pm.c for OMAP1 and OMAP2.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 10:27:20 +0000 (13:27 +0300)]
ARM: OMAP: Sync clocks with linux-omap tree
Mostly clean up CONFIG_OMAP_RESET_CLOCKS. Also includes a
patch from Imre Deak to make McSPI clocks use id.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Komal Shah [Mon, 25 Sep 2006 09:51:08 +0000 (12:51 +0300)]
[PATCH] ARM: OMAP: Check gpio_fck not gpio_ick
Check gpio_fck not gpio_ick.
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:45:45 +0000 (12:45 +0300)]
ARM: OMAP: Sync DMA with linux-omap tree
This patch syncs OMAP DMA code with linux-omap tree.
Mostly allow changing DMA callback function and set
OMAP2 specific transfer mode.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:50 +0000 (12:41 +0300)]
ARM: OMAP2: Make sure peripherals can be accessed after clk_enable
Some peripherals seem to need additional delay until they
can actually be accessed after enabling their FCLK and ICLK.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:49 +0000 (12:41 +0300)]
ARM: OMAP2: Keep both APLLs active during bootup
Enabling and disabling the 54 MHz and 96 MHz APLLs can happen
unnecessarily often during bootup. Make sure they're kept
enabled during init.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:47 +0000 (12:41 +0300)]
ARM: OMAP: Add sanity check to clk_disable
BUG() if the clock use count is already zero.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Hiroshi DOYU [Mon, 25 Sep 2006 09:41:46 +0000 (12:41 +0300)]
ARM: OMAP: GPIO: IRQSTATUS2 workaround for retention state
In OMAP2420, an incoming GPIO interrupt always sets both GPIO_IRQSTATUS1
and GPIO_IRQSTATUS2, even if the relevant bit is disabled in
GPIO_IRQENABLE1/2 and DSP doesn't use GPIO at all. GPIO_IRQSTATUS1
is for MPU and GPIO_IRQSTATUS2 is for DSP. If IRQSTATUS is set, this
will prevent the system from going to idle state. This patch also clears
IRQSTATUS2 to avoid the above situation.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:45 +0000 (12:41 +0300)]
ARM: OMAP: Fix typo for 24xx GPIO resume
Fix typo for 24xx GPIO resume
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:44 +0000 (12:41 +0300)]
ARM: OMAP: OMAP2 dmtimer power management support
GPT1 will be set into non-posted mode, and the wakeup register
is set for all timers.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:43 +0000 (12:41 +0300)]
ARM: OMAP: Add support for forcing osc_ck on
Some boards might use the oscillator clock for powering
external peripherals. Add support for making sure osc_ck
stays active even when trying to go to sleep.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Timo Teras [Mon, 25 Sep 2006 09:41:42 +0000 (12:41 +0300)]
ARM: OMAP: Add enable/disable functions for dmtimer
Add enable/disable functions which effectively control the GPT iclk and fclk.
Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 25 Sep 2006 09:41:41 +0000 (12:41 +0300)]
ARM: OMAP: Remove Remove superfluous/recursive locking for GPIO
Remove Remove superfluous/recursive locking for GPIO
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:40 +0000 (12:41 +0300)]
ARM: OMAP: Fix spinlock recursion for dyntick
Fix spinlock recursion for dyntick. Modified version based
on Imre Deak's earlier patch.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Komal Shah [Mon, 25 Sep 2006 09:41:39 +0000 (12:41 +0300)]
ARM: OMAP: Remove IVA IRQ bank
ARM11 can't access the IVA interrupt controller from
IVA slave port.
From Richard Woodruff:
"The 0x40000000 is an IVA-ARM7 local bus address.
The IVA-INTC is NOT accessible through the IVA-L3-Slave Port.
The current TRM does say this directly and indirectly in a few spots and
in figures."
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:38 +0000 (12:41 +0300)]
ARM: OMAP: Reset GPIO irq state after free_irq()
This is needed to reset GPIO after free_irq().
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Mon, 25 Sep 2006 09:41:37 +0000 (12:41 +0300)]
ARM: OMAP: Add write memory barriers to OMAP2 clock code
After adjusting clock parameters, OMAP2 CPUs need a memory
barrier to make sure the changes go into effect immediately.
Otherwise bad things will happen if we try to access the
peripheral whose clock is just being enabled.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Samuel Ortiz [Mon, 25 Sep 2006 09:41:36 +0000 (12:41 +0300)]
ARM: OMAP: Fix OMAP2 clock.c typo
A forgotten parenthesis in clock.c caused the PLL stabilization loop
to not be executed correctly.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Timo Teras [Mon, 25 Sep 2006 09:41:35 +0000 (12:41 +0300)]
ARM: OMAP: Use GPT iclk only when needed
This patch makes the OMAP2 dmtimers module using the interface
clocks only while the registers are accessed (except GPT1 which has
iclk enabled all the time).
Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:34 +0000 (12:41 +0300)]
ARM: OMAP: DMA source and destination addresses are unsigned
Also export some omap24xx specific DMA functions.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Mon, 25 Sep 2006 09:41:33 +0000 (12:41 +0300)]
ARM: OMAP2: Dynamic allocator for GPMC memory space
Add support for assigning memory regions dynamically to peripherals
attached to GPMC interface. Platform specific code should now call
gpmc_cs_request to get a free GPMC memory region instead of using
a fixed address.
Make the H4 and Apollon platform initialization use the new API.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jonathan McDowell [Mon, 25 Sep 2006 09:41:31 +0000 (12:41 +0300)]
ARM: OMAP: Add some extra #defines for Amstrad Delta
This patch adds some further #defines regarding GPIOs and latch bits for
the Amstrad Delta; the drivers that use them will be submitted at a
later date but there's no reason not to have the information already
there and available for use.
Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jonathan McDowell [Mon, 25 Sep 2006 09:41:30 +0000 (12:41 +0300)]
ARM: OMAP: Fix OMAP1 compilation after MPUIO check change
The recent MPUIO range change fix breaks compilation if
CONFIG_ARCH_OMAP24XX isn't defined; it should be OMAP_MAX_GPIO_LINES not
MAX_GPIO_LINES I believe. This one liner fixes it.
Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Mark Howell [Mon, 25 Sep 2006 09:41:29 +0000 (12:41 +0300)]
ARM: OMAP: mux: add config for 16xx SPI pins
This patch adds pin mux info for the SPI master/slave interface on
OMAP16xx. Data from OMAP 1611/1612 TRM and errata. Works for me on my
1611/H2 with current git kernel.
Signed-off-by: Mark Howell <mhowell@northlink.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Mon, 25 Sep 2006 09:41:28 +0000 (12:41 +0300)]
ARM: OMAP: Sleep is prevented when no LCD is attached
We have to make sure that the LCD DMA external destination bit is
cleared by default, otherwise OMAP won't sleep.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Mon, 25 Sep 2006 09:41:27 +0000 (12:41 +0300)]
ARM: OMAP: GPIO: fix MPUIO check
- MPUIO doesn't exist on OMAP2
- no error was returned for too big MPUIO numbers
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:26 +0000 (12:41 +0300)]
ARM: OMAP: Remove sys_ck and sys_clkout from McBSP for 24xx
McBSP does not need sys_ck or sys_clkout. If the devices connected
to McBSP need sys_clkout, they need to request it.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kyungmin Park [Mon, 25 Sep 2006 09:41:25 +0000 (12:41 +0300)]
ARM: OMAP: Apollon MMC support
Apollon board MMC supports on OMAP2
TODO:
We have to check MMC on H4
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kevin Hilman [Mon, 25 Sep 2006 09:41:24 +0000 (12:41 +0300)]
ARM: OMAP: 2420 boot BUG(): failure to map SRAM
ARM: OMAP: Fix SRAM static mapping for EMU devices.
Fix SRAM static mapping for EMU devices.
Signed-off-by: Kevin Hilman <khilman@deeprooted.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Samuel Ortiz [Mon, 25 Sep 2006 09:41:22 +0000 (12:41 +0300)]
ARM: OMAP: Added OMAP24xx camera IRQ definition
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Mon, 25 Sep 2006 09:41:21 +0000 (12:41 +0300)]
ARM: OMAP: timer32k: fix tick count calculation when reprogramming
Reprogramming takes places before putting the CPU into idle mode if
the dynamic tick option is enabled. The timer is then set to expire
at the next pending timer event. Because some time has already passed
since the last reported jiffy we have to wait less than the time
specified in jiffies.
Also make sure we don't set a load value of 0 whose outcome is
unspecified according to the TRM.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 25 Sep 2006 09:41:20 +0000 (12:41 +0300)]
ARM: OMAP: Avoid sleeping during arch_reset
If we call clk_get() from arch_reset we get ugly messages before
reboot.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 20 Sep 2006 12:03:34 +0000 (13:03 +0100)]
[ARM] 3838/1: ARM: DCC debug console support for ARM11
Adds support for CONFIG_DEBUG_ICEDCC for ARM11.
Tested on ARM1136 (OMAP2420).
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 21 Sep 2006 16:00:08 +0000 (17:00 +0100)]
[ARM] Cleanups for
4cc9bd2eaa1063c68341c1c00e66660adcfdf254
- Document the meaning for OP_SCALAR, OP_SD and add OP_DD.
- Formatting cleanups
- Remove now redundant code for making compare instructions
operate on scalar values.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Gen FUKATSU [Thu, 21 Sep 2006 13:08:24 +0000 (14:08 +0100)]
[ARM] 3789/4: Fix VFP emulation to ignore VECITR for scalar instruction
VECITR in Floating-Point Exception register indicates the number of
remaining short vector iterations after a potential exception was
detected.
In case of exception caused by scalar instructions, VECITR is NOT updated.
Therefore emulation for VFP must ignore VECITR field
and treat "veclen" as zero when recognizing scalar instructing.
Signed-off-by: Gen Fukatsu <fukatsu.gen@jp.panasonic.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dan Fandrich [Wed, 20 Sep 2006 22:28:51 +0000 (23:28 +0100)]
[ARM] 3792/2: Fix description of ZBOOT_ROM_BSS
The documentation for the ZBOOT_ROM_BSS config option describes it as
"The base address of 64KiB of read/write memory in the target for the
ROM-able zImage..." In actuality, it requires more than 100 KiB of
space in addition to enough space to hold the decompressed kernel.
This patch fixes the description in the Kconfig file.
Signed-off-by: Dan Fandrich <dfandrich@intrinsyc.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
George G. Davis [Thu, 21 Sep 2006 02:57:04 +0000 (03:57 +0100)]
[ARM] 3853/1: Fix flush_ptrace_access() thinko for nonaliasing VIPT cache case
Fix thinko in the flush_ptrace_access() "if (expr)" for the ARM
VIPT non-aliasing cache case. We only need to flush cache when
VM_EXEC is set in vma->vm_flags but "if (expr) always evaluates
to true on UP systems for the ARM VIPT non-aliasing cache case.
Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Thu, 21 Sep 2006 02:35:20 +0000 (03:35 +0100)]
[ARM] 3852/1: convert atomic bitops and __xchg over to raw_local_irq_{save,restore}
Thomas Gleixner noticed that bitops.h should also use the raw_* irq
disable/enable variants, and __xchg needs them as well.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Thu, 21 Sep 2006 01:46:03 +0000 (02:46 +0100)]
[ARM] 3851/1: iop3xx: add io-data glantank support
Add support for the IO-Data GLAN Tank, from Martin Michlmayr.
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Thu, 21 Sep 2006 01:42:12 +0000 (02:42 +0100)]
[ARM] 3850/1: iop3xx: add thecus n2100 support
Add support for the Thecus n2100 (80219-based.)
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Thu, 21 Sep 2006 01:24:38 +0000 (02:24 +0100)]
[ARM] 3849/1: fix get_unaligned() for gcc >= 4.1
gcc 4.1's __typeof__ propagates 'const', which breaks get_unaligned().
Rewrite get_unaligned() not to use __typeof__.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 20:57:06 +0000 (21:57 +0100)]
[ARM] 3846/1: S3C24XX: Fix osiris memory map
The memory mapping for the Osiris machine
are all off by one bit, and the base address
has been fixed for writing (bit25 is being
checked by the write, but not on read)
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 20:15:29 +0000 (21:15 +0100)]
[ARM] 3844/1: S3C24XX: update s3c2410_defconfig
New s3c2410_defconfig, updated 2.6.18
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 19:54:54 +0000 (20:54 +0100)]
[ARM] 3843/1: S3C24XX: Remove modfication lines from comments
Remove the redundant Modification lines from
the top of the files in arch/arm/mach-s3c2410
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 19:46:09 +0000 (20:46 +0100)]
[ARM] 3842/1: S3C2412: Rename LCD device
The S3C2412 LCD controller is different enough
to warrant renaming the platform device.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 19:39:15 +0000 (20:39 +0100)]
[ARM] 3841/1: S3C2412: Add new IDCODE
32412003
Add new code for the S3C2412
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 20 Sep 2006 19:32:33 +0000 (20:32 +0100)]
[ARM] 3840/1: S3C2412: Add machine VSTMS
Add new machine VSTMS
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Gleixner <tglx@linuxtronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 23 Sep 2006 19:48:24 +0000 (20:48 +0100)]
[ARM] Update mach-types
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:32:04 +0000 (23:32 +0100)]
[ARM] 3834/1: iop3xx: remove per-board defconfigs
Remove the old per-board defconfigs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:31:31 +0000 (23:31 +0100)]
[ARM] 3833/1: iop3xx: add per-mach defconfigs
Add one defconfig for all iop32x boards and one defconfig for all
iop33x boards.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:26:25 +0000 (23:26 +0100)]
[ARM] 3832/1: iop3xx: coding style cleanup
Since the iop32x code isn't iop321-specific, and the iop33x code isn't
iop331-specfic, do a s/iop321/iop32x/ and s/iop331/iop33x/, and tidy up
the code to conform to the coding style guidelines somewhat better.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:25:33 +0000 (23:25 +0100)]
[ARM] 3831/1: iop3xx: factor out common register defines
Factor out the register defines for a number of other peripherals
common to the iop32x and iop33x.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:24:52 +0000 (23:24 +0100)]
[ARM] 3830/1: iop3xx: board support file cleanup
Revamp the iop3xx board support: move the support code for each iop
board type into its own file, start using platform serial and platform
physmap flash devices, switch to a per-board time tick rate, and get
rid of the ARCH_EP80219 and STEPD config options by doing the relevant
checks at run time.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:24:10 +0000 (23:24 +0100)]
[ARM] 3829/1: iop3xx: optimise irq entry macros
Squeeze three instructions out of the iop32x irq demuxer, and nine
out of the iop33x irq demuxer by using the hardware vector generator.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:23:38 +0000 (23:23 +0100)]
[ARM] 3828/1: iop3xx: remove useless loadsp macro
The iop33x loadsp hunk in arch/arm/boot/compressed/head.S serves
no purpose -- remove it.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:23:07 +0000 (23:23 +0100)]
[ARM] 3827/1: iop3xx: add common gpio module
Implement the gpio_line_{config,get,set} API for iop3xx.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:22:24 +0000 (23:22 +0100)]
[ARM] 3826/1: iop3xx: remove IOP3??_IRQ_OFS irq offset
Get rid of the unused IOP3??_IRQ_OFS irq offset define, start IRQ
numbering from zero.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:21:38 +0000 (23:21 +0100)]
[ARM] 3825/1: iop3xx: use cp6 enable/disable macros
Add CP6 enable/disable sequences to the timekeeping code and the IRQ
code. As a result, we can't depend on CP6 access being enabled when
we enter get_irqnr_and_base anymore, so switch the latter over to
using memory-mapped accesses for now.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Lennert Buytenhek [Mon, 18 Sep 2006 22:20:55 +0000 (23:20 +0100)]
[ARM] 3824/1: iop3xx: add cp6 enable/disable macros
Add macros to enable and disable access to CP6. On the iop3xx, enabling
CP6 access unfortunately also enables access to that coprocessor from
unprivileged code, so we need these macros to enable and disable access
to the coprocessor whenever we need to access it.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>