summaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: OMAP2: bard-h4: list those eepromsDavid Brownell2008-12-101-0/+14
| | | | | | | | | | Declare the two 1Kbit EEPROMs included in the H4 board stack. One is on the CPU card; the other is on the mainboard. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP2: Use omap_rev() instead of system_revLauri Leukkunen2008-12-107-43/+66
| | | | | | | | | | | system_rev is meant for board revision, this patch changes all relevant instances to use the new omap_rev() function liberating system_rev to be used with ATAG_REVISION as it has been designed. Signed-off-by: Lauri Leukkunen <lauri.leukkunen@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP2: Fix cpu detectionTony Lindgren2008-12-104-226/+145
| | | | | | | | | | | At some point omap2 changed the bits for GET_OMAP_CLASS, which broke 15xx detection on 730 as noticed by Russell King. This patch fixes omap2 cpu detection to respect the original GET_OMAP_CLASS, and simplifies the detection for 34xx. Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP2: Prepare cpu detection for further improvementsTony Lindgren2008-12-101-1/+6
| | | | | | | | | Rename omap2_check_revision to omap24xx_check_revision. Then next patch will split if further and add omap34xx_check_revision. Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP1: osk5912: LED trigger update for CFDavid Brownell2008-12-101-1/+2
| | | | | | | | | | Help OSK work better with root-on-CF, by having one of the LEDs use the "ide-disk" trigger (to kick in during CF I/O). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP1: osk5912: Mistral eeprom supportDavid Brownell2008-12-101-2/+27
| | | | | | | | | | | | | | List the 4 Kbit I2C EEPROM included on the Mistral board. Also add a comment about the hardware workaround needed to properly support the WAKE button. More info at http://elinux.org/OSK_Mistral_wakeup_button_mod Still no support for the (optional) camera sensor. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: Switch to gpio_request/free callsJarkko Nikula2008-12-1016-39/+43
| | | | | | | | | | Switch to gpio_request/free calls Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: minor gpio bugfixesDavid Brownell2008-12-101-5/+15
| | | | | | | | | | | | | | | | Minor GPIO fixes: - If get_gpio_bank() fails, then BUG() out. - In omap_set_gpio_debounce(): * protect the read/modify/write with the relevant spinlock * make the omap3 clock ops pass "sparse" checking Except for the spinlock problem, these were reported through "make". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: make legacy gpio request/free calls superfluousJarkko Nikula2008-12-102-34/+21
| | | | | | | | | | | | | | | Clean up OMAP GPIO request/free functions - Rename and declare static OMAP specific GPIO request/free functions - Register them into gpiolib as chip-specific hooks - Add omap_request_gpio/omap_free_gpio wrappers for existing code not converted yet to use gpiolib Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> [ dbrownell@users.sourceforge.net: remove needless check_gpio() calls ] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: use gpio_to_irqDavid Brownell2008-12-106-18/+19
| | | | | | | | | | | | Have most uses of OMAP_GPIO_IRQ() use gpio_to_irq() instead. Calls used for table initialization are left alone, at least this time around. (This patch is for code in both the OMAP tree and mainline.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: switch to gpio_direction_outputDavid Brownell2008-12-108-36/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | More conversion to the standard GPIO interfaces: stop using omap_set_gpio_direction() entirely, and switch over to the gpio_direction_output() call. Note that because gpio_direction_output() includes the initial value, this change isn't quite transparent. - For the call sites which defined an initial value either before or after setting the direction, that value was used. When that value was previously assigned afterwards, this could eliminate a brief output glitch ... and possibly change behavior. In a few cases (LCDs) several values were assigned together ... those were re-arranged to match the explicit sequence provided. - Some call sites didn't define such a value; so I chose an initial "off/reset" value that seemed to default to "off". In short, files touched by this patch might notice some small changes in startup behavior (with trivial fixes). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: switch to gpio_direction_inputDavid Brownell2008-12-109-14/+14
| | | | | | | | More switchover to the cross-platform GPIO interface: use gpio_direction_input(), not an OMAP-specific call. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: switch to standard gpio get/set callsDavid Brownell2008-12-1016-67/+47
| | | | | | | | | | | | | | | | This patch replaces some legacy OMAP GPIO calls with the "new" (not really, any more!) calls that work on most platforms. The calls addressed by this patch are the simple ones to get and set values ... for code that's in mainline, including the implementations of those calls. Except for the declarations and definitions of those calls, all of these changes were performed by a simple SED script. Plus, a few "if() set() else set()" branches were merged by hand. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: gpios implement new to_irq()David Brownell2008-12-102-4/+21
| | | | | | | | | | | Make OMAP use the new __gpio_to_irq() hook, to make it easier to support IRQs coming in from off-chip gpio controllers like the TWL4030/TPS65930 chip used on OMAP3 boads like Beagleboard.org and the Gumstix Overo. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: Extend gpio label column width in omap_gpio debugfs fileJarkko Nikula2008-12-101-1/+1
| | | | | | | | | | | | There are already various drivers having bigger label than 10 bytes. Most of them fit well under 20 bytes but make column width exact so that oversized labels don't mess up output alignment. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: Enable GPIO debounce clock only when debounce is enabled v3Jouni Hogander2008-12-102-29/+33
| | | | | | | | | | | | | | | | | | | This patch changes gpio "driver" to enable debounce clock for gpio-bank only when debounce is enabled for some gpio in that bank. Gpio functional clocks are also renamed in clock tree, gpioX_fck -> gpioX_dbck. This patch triggers problem with gpio wake-up and Omap3. Gpios in PER domain aren't capable to generate wake-up if PER domain is in sleep state. For this iopad wake-up should be used and needed pad configuration should be done. Enabling iopad wake-up for gpio pads is left for bootloader or omap mux configuration in kernel. Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-12-097-18/+42
|\ | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Fix alignment fault handling for ARMv6 and later CPUs [ARM] 5340/1: fix stack placement after noexecstack changes [ARM] 5339/1: fix __fls() on ARM [ARM] Orion: fix bug in pcie configuration cycle function field mask [ARM] omap: fix a pile of issues
| * [ARM] Fix alignment fault handling for ARMv6 and later CPUsRussell King2008-12-071-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARMv6 and later CPUs, it is possible for userspace processes to get stuck on a misaligned load or store due to the "ignore fault" setting; unlike previous CPUs, retrying the instruction without the 'A' bit set does not always cause the load to succeed. We have no real option but to default to fixing up alignment faults on these CPUs, and having the CPU fix up those misaligned accesses which it can. Reported-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5340/1: fix stack placement after noexecstack changesLennert Buytenhek2008-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 8ec53663d2698076468b3e1edc4e1b418bd54de3 ("[ARM] Improve non-executable support") added support for detecting non-executable stack binaries. One of the things it does is to make READ_IMPLIES_EXEC be set in ->personality if we are running on a CPU that doesn't support the XN ("Execute Never") page table bit or if we are running a binary that needs an executable stack. This exposed a latent bug in ARM's asm/processor.h due to which we'll end up placing the stack at a very low address, where it will bump into the heap on any application that uses significant amount of stack or heap or both, causing many interesting crashes. Fix this by testing the ADDR_LIMIT_32BIT bit in ->personality instead of testing for equality against PER_LINUX_32BIT. Reviewed-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5339/1: fix __fls() on ARMNicolas Pitre2008-12-041-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0c65f459ce6c intended to fix truncation issues with fls() on ARMv5+ by renaming it to __fls() and wrapping it into a C function. However that didn't take into account the fact that __fls() already already had different semantics in the kernel. Let's move the __fls() code into fls() function directly, and redefine __fls() with the appropriate semantics. While at it, bring a generic __fls() definition for pre ARMv5 too. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Orion: fix bug in pcie configuration cycle function field maskSaeed Bishara2008-12-021-1/+1
| | | | | | | | | | | | | | The function field is 3 bits. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| * [ARM] omap: fix a pile of issuesRussell King2008-12-013-7/+7
| | | | | | | | | | | | | | | | | | This patch fixes a number of sillies, from missing 'const' to using 'return' in void functions, to functions with no arguments not even 'void' and a cast which isn't required. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | spi: fix spi_s3c24xx_gpio num_chipselectBen Dooks2008-12-011-0/+1
|/ | | | | | | | | | The spi master driver must have num_chipselect set to allow the bus to initialise. Pass this through the platform data. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-rmk' of ↵Russell King2008-11-273-33/+120
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
| * [ARM] pxa/palmtx: misc fixes to use generic GPIO APIMarek Vasut2008-11-271-32/+118
| | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/corgi: update default config to exclude tosa from being builtEric Miao2008-11-261-1/+1
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera dataGuennadi Liakhovetski2008-11-261-0/+1
| | | | | | | | | | | | | | | | 0 is a valid GPIO number, use a negative number to specify, that this camera doesn't have a GPIO for bus-width switching. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge branch 'omap-fixes' of ↵Russell King2008-11-272-3/+4
|\ \ | |/ |/| | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| * ARM: OMAP: Fixes for suspend / resume GPIO wake-up handlingTero Kristo2008-11-261-2/+3
| | | | | | | | | | | | | | | | | | Use the correct wake-up enable register, and make it work with 34xx also. Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Typo fix for clock_allow_idleAmit Kucheria2008-11-251-1/+1
| | | | | | | | | | | | | | The second clk_deny_idle instance should be clk_allow_idle instead. Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | [ARM] pxa/MioA701: bluetooth resume fixRobert Jarzmik2008-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | The G3IPL expects the value at RAM address 0xa020b020 to be exactly 1 to setup the bluetooth GPIOs properly. The actual code got a value from gpio_get_value() which was not 1, but a "not equal to 0" integer. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa/MioA701: fix memory corruption.Robert Jarzmik2008-11-221-0/+1
| | | | | | | | | | | | | | | | | | | | In the resume bootstrap, the early disable address is wrong. Fix it to RAM address 0xa020b000 instead of 0xa0200000, and make it consistent with RESUME_ENABLE_ADDR in mioa701.c. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] 5330/1: mach-pxa: Fixup reset for systems using reboot=cold or other ↵Jaya Kumar2008-11-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | strings This patch makes do_hw_reset the default reboot behavior when nothing else matches. This restores reboot functionality on gumstix basix devices where reboot=cold is the default boot argument. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge branch 'for-rmk' of ↵Russell King2008-11-172-2/+3
|\ \ | |/ |/| | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
| * [ARM] pxa: fix incorrect PCMCIA PSKTSEL pin configuration for spitzEric Miao2008-11-161-1/+2
| | | | | | | | | | | | | | | | | | The original incorrect configuration caused GPIO79_nCS_3 being overriden, thus resulted in the NAND flash not being detected. The real PSKTSEL pin is on GPIO104 instead of GPIO79. Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net>
| * [ARM] pxa: fix I2C controller device being registered twice on AkitaEric Miao2008-11-161-1/+0
| | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net>
| * pxafb: introduce LCD_TYPE_MASK and use it.Eric Miao2008-11-111-0/+1
| | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-11-1314-98/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constants [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants [ARM] dma-mapping: fix compiler warning [ARM] iop: iop3xx needs registers mapped uncached+unbuffered [ARM] versatile: correct MMC clock rate [ARM] realview: correct MMC clock rate [ARM] 5329/1: Feroceon: fix feroceon_l2_inv_range
| * | [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constantsRussell King2008-11-131-18/+0
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constantsRussell King2008-11-134-13/+9
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constantsRussell King2008-11-133-53/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FLASH_* and EPROM_* constants are unused, and clash with drivers: drivers/atm/ambassador.h:257:1: warning: "FLASH_BASE" redefined drivers/atm/ambassador.h:258:1: warning: "FLASH_SIZE" redefined drivers/atm/iphase.h:332:1: warning: "EPROM_SIZE" redefined so remove them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] dma-mapping: fix compiler warningRussell King2008-11-131-2/+11
| | | | | | | | | | | | | | | | | | | | | arch/arm/mm/dma-mapping.c: In function `dma_sync_sg_for_cpu': arch/arm/mm/dma-mapping.c:588: warning: statement with no effect Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] iop: iop3xx needs registers mapped uncached+unbufferedRussell King2008-11-093-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mikael Pettersson reported: The 2.6.28-rc kernels fail to detect PCI device 0000:00:01.0 (the first ethernet port) on my Thecus n2100 XScale box. There is however still a strange "ghost" device that gets partially detected in 2.6.28-rc2 vanilla. The IOP321 manual says: The user designates the memory region containing the OCCDR as non-cacheable and non-bufferable from the IntelR XScaleTM core. This guarantees that all load/stores to the OCCDR are only of DWORD quantities. Ensure that the OCCDR is so mapped. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] versatile: correct MMC clock rateRussell King2008-11-081-1/+1
| | | | | | | | | | | | | | | | | | The MMC clock source is actually 24MHz, not 33MHz. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] realview: correct MMC clock rateRussell King2008-11-081-1/+1
| | | | | | | | | | | | | | | | | | The MMC clock source is actually 24MHz, not 33MHz. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5329/1: Feroceon: fix feroceon_l2_inv_rangeNicolas Pitre2008-11-081-2/+2
| |/ | | | | | | | | | | | | | | | | | | Same fix as commit c7cf72dcadb: when 'start' and 'end' are less than a cacheline apart and 'start' is unaligned we are done after cleaning and invalidating the first cacheline. Cc: <stable@kernel.org> Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | iop-adma: use iop_paranoia() for debug BUG_ONsDan Williams2008-11-113-3/+11
|/ | | | | | | | Now that the critical read back to flush the next descriptor address is fixed we can downgrade some BUG_ONs that need only be enabled when testing changes to the driver. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Merge branch 'omap-fixes' of ↵Russell King2008-11-064-16/+16
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| * ARM: OMAP: Fix define for twl4030 irqsTony Lindgren2008-11-041-1/+1
| | | | | | | | | | | | | | Otherwise twl4030 gpios won't work. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix get_irqnr_and_base to clear spurious interrupt bitsTony Lindgren2008-11-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On omap24xx, INTCPS_SIR_IRQ_OFFSET bits [6:0] contains the current active interrupt number. However, on 34xx INTCPS_SIR_IRQ_OFFSET bits [31:7] also contains the SPURIOUSIRQFLAG, which gets set if the interrupt sorting information is invalid. If the SPURIOUSIRQFLAG bits are not ignored, the interrupt code will occasionally produce a bunch of confusing errors: irq -33, desc: c02ddcc8, depth: 0, count: 0, unhandled: 0 ->handle_irq(): c006f23c, handle_bad_irq+0x0/0x22c ->chip(): 00000000, 0x0 ->action(): 00000000 Fix this by masking out only the ACTIVEIRQ bits. Also fix a confusing comment. Signed-off-by: Tony Lindgren <tony@atomide.com>
OpenPOWER on IntegriCloud