Commit Graph

6102 Commits

Author SHA1 Message Date
Sergei Shtylyov
efd911814e davinci: DM646x: pass correct MUSB IRQs
DM646x has MUSB connected to IRQs 13 and 14 (unlike IRQ12 on other platforms),
so pass the correct IRQ resources with the platform device.

Signed-off-by: Dmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 11:55:38 +03:00
Sudhakar Rajashekhara
c96b56c53f davinci: Rearrange the da830/omap-l137 macros and functions
Rearrange the PINMUX macros and pinmux_setup function which
are common between da830/omap-l137 and da850/omap-l138.

Also, replace the da830 string in function names to da8xx.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:02 +03:00
Sudhakar Rajashekhara
2259bbd460 davinci: Pass proper EDMA CC interrupt number for DA830/OMAP-L137
In EDMA resource structure, instead of passing EDMA CC
interrupt, EDMA TC error interrupt number is being passed.

Before the patch:
	root@arago:~# cat /proc/interrupts
	           CPU0
	 12:          0     cp_intc  edma_error
	 13:          0     cp_intc  edma
	Err:

After the patch:
	root@arago:~# cat /proc/interrupts
	           CPU0
	 11:          0     cp_intc  edma
	 12:          0     cp_intc  edma_error
	Err:

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:02 +03:00
Rajashekhara, Sudhakar
bea238f65c davinci: Move the da830/omap-l137 #defines to header file
With the introduction of TI da850/omap-l138, some of the macros
defined for da830/omap-l137 will be needed in da850 source file.
So, move the common macros to da8xx.h header file.

Also, modify the macro names from DA830_... to DA8XX_.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:02 +03:00
Hemant Pedanekar
1c92a554fc davinci: dm646x: Add IDE setup
This patch adds platform data and init function for IDE which could be called
from board specific file to register IDE device.

Note that for 594MHz device the transfer mode is limited to UDMA4 since ideclk
rate is less than 100 MHz, which forces udma_mask in palm_bk3710.c to UDMA4,
while for 729MHz device, it is UDMA5.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:02 +03:00
Sekhar Nori
6077d26532 davinci: make arch_idle and arch_reset as inline functions
Make arch_idle and arch_reset inline as inline function.

Not having them inline leads to a warning of this sort when only
one of these functions is used:

arch/arm/mach-davinci/include/mach/system.h:24: warning: 'arch_reset' \
defined but not used

boot, re-boot tested on OMAP-L138 EVM

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:01 +03:00
Kevin Hilman
baf09a4cd0 davinci: da830: updates for mach-type name change
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:01 +03:00
Hemant Pedanekar
9eb7115bcc davinci: Move IO device mapping macros from io.h to hardware.h
This patch takes out IO mapping macros from mach/io.h and puts them in
mach/hardware.h avoiding need to include mach/io.h in various files such as
serial.h, vmalloc.h etc.

The main reason to avoid inclusion of mach/io.h is, when default in/out macros
are overridden by machine specific functions (e.g., in case of PCI I/O), they
result into linker error. An example snippet and error snapshot is listed below.

Following code in mach/io.h:

	#define inl(p)  my_inl()

	static inline unsigned int my_inl(unsigned int addr)
	{
		if (IS_PCI_IO(addr))
			return pci_inl ();
		else
			return le32_to_cpu(__raw_readl(__typesafe_io(addr)));
	}

leads to error:
	LD      arch/arm/boot/compressed/vmlinux
	arch/arm/boot/compressed/misc.o: In function `my_inl':
	misc.c:(.text+0x2744): undefined reference to `pci_inl'
	make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1

This is because mach/io.h gets included in arch/arm/boot/compressed/misc.c
through mach/serial.h but pci.c file, which defines 'pci_inl' doesn't get built
into compressed vmlinux.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:01 +03:00
Hemant Pedanekar
3e25d5f4fd davinci: dm646x: Add clock info and update mux setup for ATA
This patch adds clock data for IDE and also updates pin mux mask for ATA so as
to disable PCI when ATA is selected.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:01 +03:00
Kevin Hilman
88659988d5 davinci: Kconfig: update default config for 2.6.31-rc
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:00 +03:00
Chaithrika U S
25acf553ae davinci: ASoC: Add the platform devices for ASP
1) Registers the platform devices for ASP on dm355, dm644x and dm646x
   so that the machine driver can probe to get ASP related platform
   data.
2) Move towards definition of the asp clocks using physical name(for
   dm355 and dm644x)
3) Add platform data to board specific files.

Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:00 +03:00
David Brownell
7a36071e79 davinci: dm365 gpio irq support
Support DM365 GPIOs ... primarily by handling non-banked GPIO IRQs:

 - Flag DM365 chips as using non-banked GPIO interrupts, using a
   new soc_info field.

 - Replace the gpio_to_irq() mapping logic.  This now uses some
   runtime infrastructure, keyed off that new soc_info field,
   which doesn't handle irq_to_gpio().

 - Provide a new irq_chip ... GPIO IRQs handled directly by AINTC
   still need edge triggering managed by the GPIO controller.

DM365 chips no longer falsely report 104 GPIO IRQs as they boot.

Intelligence about IRQ muxing is missing, so for the moment this
only exposes the first eight DM365 GPIOs, which are never muxed.
The next eight are muxed, half with Ethernet (which uses most of
those pins anyway).

Tested on DM355 (10 unbanked IRQs _or_ 104 banked ones) and also
on DM365 (16 unbanked ones, only 8 made available).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:00 +03:00
Sandeep Paulraj
af5dbaef76 davinci: DM365 Updating PINMUX Entries
Patch updates DM365 PINMUX by adding entries for Video, SPI 1 - 4,
PWM 0 - 3.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:57:00 +03:00
Mark A. Greer
8593790d60 davinci: da8xx: Add support for DA830/OMAP-L137 EVM board
Add support for the DA830/OMAP-L137 Evaluation Module (EVM)
from TI.  The EVM has User Interface (UI) and Audio cards
that can be connected which contain various devices.
Support for those devices and ones on the EVM will be
added in subsequent patches.

Additional generalizations for future SoCs in da8xx family done by
Sudhakar Rajashekhara and Sekhar Nori.

Signed-off-by: Steve Chen <schen@mvista.com>
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:59 +03:00
Mark A. Greer
55c79a40e3 davinci: da8xx: Add base DA830/OMAP-L137 SoC support
The da830/omap l137 is a new SoC from TI that is similar
to the davinci line.  Since its so similar to davinci,
put the support for the da830 in the same directory as
the davinci code.

There are differences, however.  Some of those differences
prevent support for davinci and da830 platforms to work
in the same kernel binary.  Those differences are:

1) Different physical address for RAM.  This is relevant
   to Makefile.boot addresses and PHYS_OFFSET.  The
   Makefile.boot issue isn't truly a kernel issue but
   it means u-boot won't work with a uImage including
   both architectures.  The PHYS_OFFSET issue is
   addressed by the "Allow for runtime-determined
   PHYS_OFFSET" patch by Lennert Buytenhek but it
   hasn't been accepted yet.

2) Different uart addresses.  This is only an issue
   for the 'addruart' assembly macro when CONFIG_DEBUG_LL
   is enabled.  Since the code in that macro is called
   so early (e.g., by _error_p in kernel/head.S when
   the processor lookup fails), we can't determine what
   platform the kernel is running on at runtime to use
   the correct uart address.

These areas have compile errors intentionally inserted
to indicate to the builder they're doing something wrong.

A new config variable, CONFIG_ARCH_DAVINCI_DMx, is added
to distinguish between a true davinci architecture and
the da830 architecture.

Note that the da830 currently has an issue with writeback
data cache so CONFIG_CPU_DCACHE_WRITETHROUGH should be
enabled when building a da830 kernel.

Additional generalizations for future SoCs in the da8xx family done by
Sudhakar Rajashekhara and Sekhar Nori.

Signed-off-by: Steve Chen <schen@mvista.com>
Signed-off-by: Mikhail Cherkashin <mcherkashin@ru.mvista.com>
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:59 +03:00
David Brownell
ff255c6caa davinci: dm365 evm cpld support: leds, card detect, other setup
Add basic support for the CPLD on the DM365 EVM board:

 - Read SW5 to set up NAND and keypad vs (someday) OneNAND
 - Export MMC/SD card detect and writeprotect signals
 - LED support (same layout as on DM355 EVM)
 - Static config for video input:
     * external HD imager precludes MMC1, Ethernet, audio
     * else either tvp5146 (SD/default) or tvp7002 (HD)

The video input could actually be switched around dynamically;
change that if/when that's needed (and after those other video
inputs have driver support).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:59 +03:00
Sandeep Paulraj
37b798da5d davinci: dm365: add NAND support to EVM board
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:59 +03:00
Sandeep Paulraj
a45c8ba30b davinci: MMC/SD Support for dm365 EVM
Patch adds support for MMC/SD in the DM365 EVM.
Pinmux for MMC/SD slot 1 on the DM365 EVM is also
configured.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:59 +03:00
Sandeep Paulraj
19ff3bf2e8 davinci: dm365: add MMC/SD support
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:58 +03:00
Sandeep Paulraj
15061b5d02 davinci: dm365: add EDMA support
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:58 +03:00
Sandeep Paulraj
8ed0a9d4e7 davinci: dm365: EMAC support for SoC and dm365 EVM
The patch adds Support for EMAC in the DM365 SOC and
the DM365 EVM board.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:58 +03:00
Sandeep Paulraj
9f51315383 davinci: dm365: add mux entries for EDMA, RTC, EMAC, keypad.
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:58 +03:00
Sandeep Paulraj
a46e9e403c davinci: Adding DM365 entries to Makefile/Kconfig/defconfig
This patch does the following
1) Adds entries to davinci_all_defconfig for DM365
2) Adds entries to the Makefile for DM365
3) Adds entries for DM365 in the Kconfig

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:58 +03:00
Sandeep Paulraj
37dd009563 davinci: Adding DM365 EVM board support
The patch adds support for Evaluation Module (EVM) board for the dm365
SoC.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
Sandeep Paulraj
fb8fcb8913 davinci: Adding DM365 SOC Support
The patch adds base support for new TI SOC DM365, which s
similar to the dm355.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
Kevin Hilman
5fcd294df2 davinci: remove watchdog from soc_info
watchdog info is not needed in soc_info, platform_device can
be used directly in core code.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
David Brownell
1d3bba61f6 davinci: sram warning fix
CC      arch/arm/mach-davinci/sram.o
arch/arm/mach-davinci/sram.c: In function 'sram_init':
arch/arm/mach-davinci/sram.c:63: warning: comparison of distinct pointer types lacks a cast

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
Kevin Hilman
f28f03bba4 davinci: Kconfig: enable EVMs by default when SoCs are enabled
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
Rajashekhara, Sudhakar
98d0e9fc6b davinci: dm644x: Support for dm644x silicon revision 2.1
JTAG ID for DM644x silicon revision 2.1 has changed. An entry for the new
silicon revision needs to be added to the davinci_id structure. Without
this addition, EVMs with new silicon revision fail to boot the kernel.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:57 +03:00
David Griego
a23f7dc82d davinci: Fix watchdog reset code
The davinci reset routine, davinci_watchdog_reset(), sets the
TCR register instead of the TGCR register as it should to put
the WDT into its "Initial State".

It also writes the WDTCR register without the proper WDKEY
which is pointless since the register will be write-protected.

Signed-off-by: David Griego <dgriego@mvista.com>
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:56 +03:00
Chaithrika U S
75d0fa70e7 davinci: dm646x: Adds McASP clock
Adds McASP clock support for the two instances of mcasp (mcasp0,mcasp1). This
patch is part of the audio support for dm646x series.

Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:56 +03:00
Sudhakar Rajashekhara
2bcb613a79 davinci: EDMA: add support for dm646x
Enables module clock for DM646x EDMA channel controller and transfer
controller.

Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:56 +03:00
Sudhakar Rajashekhara
60902a2cb1 davinci: EDMA: multiple CCs, channel mapping and API changes
- restructure to support multiple channel controllers by using
  additional struct resources for each CC

- interface changes visible to EDMA clients

  Introduce macros to build IDs from controller and channel number,
  and to extract them. Modify the edma_alloc_slot function to take an
  extra argument for the controller.

  Also update ASoC drivers to use API.  ASoC changes
  Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

- Move queue related mappings to dm<soc>.c

  EDMA in DM355 and DM644x has two transfer controllers while DM646x
  has four transfer controllers. Moving the queue to tc mapping and
  queue priority mapping to dm<soc>.c will be helpful to probe these
  mappings from platform device so that the machine_is_* testing will
  be avoided.

- add channel mapping logic

  Channel mapping logic is introduced in dm646x EDMA. This implies
  that there is no fixed association for a channel number to a
  parameter entry number. In other words, using the DMA channel
  mapping registers (DCHMAPn), a PaRAM entry can be mapped to any
  channel. While in the case of dm644x and dm355 there is a fixed
  mapping between the EDMA channel and Param entry number.

Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Reviewed-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-08-26 10:56:56 +03:00
Jarkko Nikula
d09a2afc93 ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop
Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enable
can be merged into omap_mcbsp_start and omap_mcbsp_stop since API of
those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowing
to start and stop individually the transmitter and receiver.

This cleans up the code in arch/arm/plat-omap/mcbsp.c and in
sound/soc/omap/omap-mcbsp.c which was the only user for those removed
functions.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-25 10:20:48 +01:00
Jarkko Nikula
9b30050908 OMAP: McBSP: Use textual values in DMA operating mode sysfs files
Use more descriptive than numerical value when showing and storing the
McBSP DMA operating mode. Show function is using similar syntax than e.g.
the led triggers so that all possible values for store function are
printed but with current value surrounded with square brackets.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-25 10:14:37 +01:00
Janusz Krzysztofik
9f0f4ae570 ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510
Implement DMA channel self linking on OMAP1510 using AUTO_INIT and REPEAT
flags of the DMA CCR register.

Created against linux-2.6.31-rc5.

Tested on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-24 23:05:25 +01:00
John Holland
c55bf102b6 [ARM] Kirkwood: enable eSATA on QNAP TS-219P
Initialize PCI/PCIe on the QNAP TS-119, TS-219 and TS-219P hardware
allowing the use of the discrete eSATA controller connected to the PCIe
bus in the TS-219P.

Signed-off-by: John Holland <john.holland@cellent-fs.de>
Tested-by: Thomas Reitmayr <treitmayr@devbase.at>
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-24 11:56:00 -04:00
Martin Michlmayr
3e475f579e [ARM] Kirkwood: __init requires linux/init.h
Include linux/init.h for __init to fix this error:

CC [M]  drivers/net/wireless/wl12xx/boot.o
In file included from arch/arm/mach-kirkwood/include/mach/gpio.h:13,
                 from arch/arm/include/asm/gpio.h:5,
                 from include/linux/gpio.h:7,
                 from drivers/net/wireless/wl12xx/boot.c:24:
arch/arm/plat-orion/include/plat/gpio.h:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘orion_gpio_init’
make[6]: *** [drivers/net/wireless/wl12xx/boot.o] Error 1
make[5]: *** [drivers/net/wireless/wl12xx] Error 2

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-24 11:55:59 -04:00
Ben Dooks
14412acde5 ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards
Add core support for the range of S3C24XX Simtec boards with TLV320AIC23
CODECs on them. Since there are also boards with similar IIS routing the
AMP and the configuration code is placed in a core file for re-use with
other CODEC bindings.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-21 10:52:42 +01:00
Eero Nurkkala
72cc6d715d OMAP: McBSP: Let element DMA mode hit retention also
The device no longer hits retention if element DMA
mode is taken for at least the duration of the
serial console timeout. Force element DMA mode to
shut down through smartidle.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:28 +01:00
Eero Nurkkala
fa3935ba34 OMAP: McBSP: Do not enable wakeups for no-idle mode
When no-idle mode is taken, wakeups need not to be enabled.
Moreover, CLOCKACTIVITY bits are unnecessary with this mode
also.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:28 +01:00
Eduardo Valentin
d99a7454e5 OMAP: McBSP: Configure NO IDLE mode for DMA mode different of threshold
Use dma mode property to configure NO IDLE or SMART IDLE of McBSPs.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:27 +01:00
Eero Nurkkala
2ba93f8fa7 OMAP: McBSP: Retain McBSP FCLK clockactivity
FCLK may get autogated so that it prevents the McBSP
to work properly. It is the bit 9 that must be set
for maintaining the McBSP FCLK.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:27 +01:00
Eduardo Valentin
d9a9b3f5f7 OMAP: McBSP: Change wakeup signals
Configure only XRDYEN and RRDYEN wakeup signals
in order to get better power consumption.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:27 +01:00
Eero Nurkkala
2122fdc629 OMAP: McBSP: Wakeups utilized
This patch enables the smart idle mode while
McBPS is being utilized. Once it's done,
force idle mode is taken instead. Apart of it,
it also configures what signals will wake mcbsp up.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:27 +01:00
Peter Ujfalusi
98cb20e889 OMAP: McBSP: Add link DMA mode selection
It adds a new sysfs file, where the user can configure the mcbsp mode to use.
If the mcbsp channel is in use, it does not allow the change.
Than in omap_pcm_open we can call the omap_mcbsp_get_opmode to get the mode,
store it, than use it to implement the different modes.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:27 +01:00
Eduardo Valentin
4c8200aeb0 OMAP: McBSP: Rename thres sysfs symbols
This patch renames the symbols that handles threshold
sysfs properties. This way we can add more sysfs properties
to them.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:26 +01:00
Peter Ujfalusi
7e4f943b72 OMAP3: McBSP: Lower the maximum buffersize for McBSP1, 3, 4, 5
Do not allow applications to use the full buffer found on
McBSP1,3,4,5. Using the full buffer in threshold mode causes
the McBSP buffer to run dry, which can be observed as channels
are switching (in reality the channels are shifting).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:26 +01:00
Eduardo Valentin
a1a56f5faa OMAP: McBSP: Create and export max_(r|t)x_thres property
This patch export through sysfs two properties to configure
maximum threshold for transmission and reception on each
mcbsp instance. Also, it exports two helper functions to
allow mcbsp users to read this values.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:26 +01:00
Eduardo Valentin
7aa9ff56ca OMAP: McBSP: Add transmit/receive threshold handler
This patch adds a way to handle transmit/receive threshold.
It export to mcbsp users a callback registration procedure.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:26 +01:00
Eduardo Valentin
44a6311c0a OMAP: McBSP: Use appropriate value for startup delay
Increasing startup delay value as worst case:
 CLKSRG*2 = 8000khz: (1/8000) * 2 * 2 usec

Although, 100us may give enough time for two CLKSRG,
due to some unknown PM related, clock gating etc. reason,
this patch increases it to 500us.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:25 +01:00
Eduardo Valentin
946a49a95d OMAP: McBSP: Add IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers.
Adding McBSP register definition for IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:25 +01:00
Eero Nurkkala
9abea08e43 OMAP: McBSP: Provide functions for ASoC frame syncronization
ASoC has an annoying bug letting either L or R channel to be
played on L channel. In other words, L and R channels can
switch at random. This provides McBSP funtionality that may
be used to fix this feature.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-20 20:10:25 +01:00
Rafael J. Wysocki
af15c1addf Merge branch 'master' into for-linus 2009-08-18 23:37:37 +02:00
Joonyoung Shim
0914b93f4f ASoC: Fix data format configuration for S3C64XX IISv2
The data format configuration for S3C64xx IISv2 was hardcoded for IISMOD
register. This patch changes to the defined values it.

And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-18 16:02:36 +01:00
Russell King
65cec8e3db ARM: implement highpte
Add the ARM implementation of highpte, which allows PTE tables to be
placed in highmem.  Unfortunately, we do not offer highpte support
when support for L2 cache is enabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-17 20:02:06 +01:00
Russell King
29c08460d4 Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel-stable 2009-08-17 18:16:28 +01:00
Ben Dooks
baa28e3530 ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ
The show_fiq_list() call in arch/arm/kernel/irq.c currently depends on
CONFIG_ARCH_ACORN, but this is not the only architecture that supports
the usage of FIQ. Change to calling this if CONFIG_FIQ is set (which
is what arch/arm/kernel/fiq.c is built by).

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-17 00:00:41 +01:00
Ben Dooks
db616eb676 ARM: S3C: Add S3C_DEV_NAND Kconfig entry
Currently the S5PC100 does not define S3C_PA_NAND, leaving the NAND device
definitions in arch/arm/plat-s3c/dev-nand.c unbuildable. Add a KConfig
entry to select whether this is built.

As backwards compatibility, both the S3C24XX and S3C64XX define the new
configuration in their main Kconfig files until better support for basing
this selection on a per-machine basis can be sorted out.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:54:58 +01:00
Byungho Min
e119766f4e ARM: S5PC100: Board and configuration file
SMDKC100 board support.
The board can be obtained from meritech (http://www.meritech.co.kr)

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: fixup subject and description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:40:39 +01:00
Byungho Min
5a7652f203 ARM: S5PC100: Kconfigs and Makefiles
S5PC100 is a new SoC with ARM coretex-A8 and numerous peripherals. This SoC is
successor of S3C64XX. S5PC100 has peripherals which are still similar to S3C
families so some drivers in "arch/arm/plat-s3c" can be shared. S5PC100 specific
drivers will be added in "arch/arm/plat-s5pcxx" or "arch/arm/mach-s5pc100"

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: tidy and edit description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:35:19 +01:00
Byungho Min
c1cc3db8e9 ARM: S5PC100: Clock and PLL support
S5PC100 has 4 PLLs (APLL,MPLL,EPLL,HPLL) and 3 clock domains. Clock scheme is
implemented here.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: edited title]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:25:00 +01:00
Byungho Min
c9b870e7e7 ARM: S5PC100: IRQ and timer
S5PC100 has 3 VICs(Vectored Interrupt Controller). The VICs come from S3C64xx
series, so the driver source code can be shared with S3C families. The S5PC100
has 3 VICs while S3C64xx has only 2.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:25:00 +01:00
Byungho Min
0164cbf439 ARM: S5PC100: GPIO and I2C
S5PC100 has more GPIO group then previous one. It has 34 groups of GPIO, while
S3C6410 has 17 groups. For now, only header files are written.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:59 +01:00
Byungho Min
8acd1ade2e ARM: S5PC100: CPU initialization
Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:58 +01:00
Byungho Min
433a915fc6 ARM: S5PC100: UART and Serial
Serial driver of S5PC100 is the same as S3C6400, so S5PC100 shares the serial
driver with S3C6400. Uart driver is copied from plat-s3c64xx to plat-s5pc1xx,
as I do not use plat-s3c64xx directory.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: title fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:37 +01:00
Byungho Min
ff54b45784 ARM: S5PC100: Memory map
S5PC100's the physical IO space starts at 0xe000"0000. To maximize space for
vmalloc, the virtual IO space starts at 0xf400"0000 as same as other samsung
CPUs(s3c24xx and s3c64xx) do.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject and description fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:16 +01:00
Russell King
9b2616c2e8 Merge branch 'for-rmk-2.6.32' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel-stable 2009-08-15 16:51:48 +01:00
Russell King
590a94d934 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2009-08-15 16:49:31 +01:00
Leo Chen
7f33527f54 ARM: 5670/1: bcmring: add default configuration for bcmring arch
add default configuration for bcmring arch

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:51 +01:00
Leo Chen
6288e28dce ARM: 5641/1: bcmring: add Kconfig and Makefile entries in arch/arm
add bcmring option in Kconfig and add entry in Makefile
in arch/arm directory

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:51 +01:00
Leo Chen
831f1f73a6 ARM: 5642/1: bcmring: add Makefile/Kconfig/Makefile.boot in mach-bcmring
add arch/arm/mach-bcmring directory

add Kconfig, Makefile, and Makefile.boot in mach-bcmring

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:50 +01:00
Leo Chen
bc5739005f ARM: 5653/1: bcmring: add Makefile of csp code
add Makefile of csp code

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:49 +01:00
Leo Chen
a364143127 ARM: 5661/1: bcmring: add csp security hardware headers
add csp security hardware headers

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:49 +01:00
Leo Chen
7ba0902028 ARM: 5660/1: bcmring: add csp timer block header and source files
add csp timer block header and source files

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:48 +01:00
Leo Chen
cf2ddacb56 ARM: 5659/1: bcmring: add csp dmac source files
add csp dmac source files

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:47 +01:00
Leo Chen
1a4a561bdd ARM: 5658/1: bcmring: add csp dmac header files
add csp dmac header files

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:47 +01:00
Leo Chen
638ee2db19 ARM: 5657/1: bcmring: add csp chipc block source code
add csp chipc block source code

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:46 +01:00
Leo Chen
4818a4727d ARM: 5656/1: bcmring: add csp chipc inline functions
add csp chipc inline functions

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:45 +01:00
Leo Chen
2c4b57a204 ARM: 5655/1: bcmring: add csp chipc hardware definition file
add csp chipc hardware definition file

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:45 +01:00
Leo Chen
f1947c7a67 ARM: 5654/1: bcmring: add csp chipc hardware register file
add csp chipc hardware register file

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:44 +01:00
Leo Chen
9133760f4b ARM: 5652/1: bcmring: add misc headers for csp code
add misc wrapper headers for csp code
add ddrc register header file

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:43 +01:00
Leo Chen
7bab8bfc7f ARM: 5651/1: bcmring: csp capability header files
add mach-bcmring csp capability header files

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:43 +01:00
Leo Chen
16f5875034 ARM: 5650/1: bcmring: add io.h, uncompress. h, and entry-macro.S
add remaining header files in include/mach directory
add entry-macro.S file

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:42 +01:00
Leo Chen
3455912574 ARM: 5649/1: bcmring: add bcmring timer function
bcmring timer helper function, hardware register headers

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:41 +01:00
Leo Chen
859277f7db ARM: 5648/1: bcmring: add bmcring dma.c
implement dma support for bcmring

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:41 +01:00
Leo Chen
7c4c2951c0 ARM: 5647/1: bcmring: add bcmring dma.h and dma_device.c
add bcmring dma.h and dma_device.c

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:40 +01:00
Leo Chen
661f78d809 ARM: 5646/1: bcmring: add mach-bcmring/mm.c and memory headers
memory map addresses
memory map description and init functions

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:40 +01:00
Leo Chen
b7462d654f ARM: 5645/1: bcmring: add bcmring irq.c
init irq and handler
add irq controller register file and header files

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:39 +01:00
Leo Chen
278a6752e8 ARM: 5644/1: add bcmring core.c, clock.c, clock.h
add core.c, clock.c, and clock.h in mach-bcmring

implement timer init, clocksource init, amba device init
implement clock set/get enable/disable API
add dummy clkdev.h

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:38 +01:00
Leo Chen
4663712cc7 ARM: 5643/1: bcmring: arch.c and header files
add arch.c in mach-bcmring
add related header files in mach-bcmring

Signed-off-by: Leo Chen <leochen@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 16:01:38 +01:00
wanzongshun
a8bc4eadd9 ARM: 5676/1: Provide more useful introduction for w90x900
Provide more useful introduction for w90x900

Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 15:49:04 +01:00
wanzongshun
f346becf2f ARM: 5675/1: The semaphore is used as mutex so make it a mutex
The semaphore is used as mutex so make it a mutex.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 15:49:03 +01:00
wanzongshun
58b5369e6e ARM: 5674/1: Add clocksource/clockevent support for w90p910 platform
Add clocksource/clockevent support for w90p910 platform.

Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 15:49:02 +01:00
Linus Walleij
a2bb9f4d6a ARM: 5673/1: U300 fix initsection compile warning
The u300_init_check_chip() function was not properly tagged with
the __init macro and provided a initsection mismatch on
compilation.

Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 15:36:52 +01:00
Mikael Pettersson
369842658a ARM: 5677/1: ARM support for TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait
This patch adds support for TIF_RESTORE_SIGMASK to ARM's
signal handling, which allows to hook up the pselect6, ppoll,
and epoll_pwait syscalls on ARM.

Tested here with eabi userspace and a test program with a
deliberate race between a child's exit and the parent's
sigprocmask/select sequence. Using sys_pselect6() instead
of sigprocmask/select reliably prevents the race.

The other arch's support for TIF_RESTORE_SIGMASK has evolved
over time:

In 2.6.16:
- add TIF_RESTORE_SIGMASK which parallels TIF_SIGPENDING
- test both when checking for pending signal [changed later]
- reimplement sys_sigsuspend() to use current->saved_sigmask,
  TIF_RESTORE_SIGMASK [changed later], and -ERESTARTNOHAND;
  ditto for sys_rt_sigsuspend(), but drop private code and
  use common code via __ARCH_WANT_SYS_RT_SIGSUSPEND;
- there are now no "extra" calls to do_signal() so its oldset
  parameter is always &current->blocked so need not be passed,
  also its return value is changed to void
- change handle_signal() to return 0/-errno
- change do_signal() to honor TIF_RESTORE_SIGMASK:
  + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK
    is set
  + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK
  + if no signal was delivered and TIF_RESTORE_SIGMASK is set then
    clear it and restore the sigmask
- hook up sys_pselect6() and sys_ppoll()

In 2.6.19:
- hook up sys_epoll_pwait()

In 2.6.26:
- allow archs to override how TIF_RESTORE_SIGMASK is implemented;
  default set_restore_sigmask() sets both TIF_RESTORE_SIGMASK and
  TIF_SIGPENDING; archs need now just test TIF_SIGPENDING again
  when checking for pending signal work; some archs now implement
  TIF_RESTORE_SIGMASK as a secondary/non-atomic thread flag bit
- call set_restore_sigmask() in sys_sigsuspend() instead of setting
  TIF_RESTORE_SIGMASK

In 2.6.29-rc:
- kill sys_pselect7() which no arch wanted

So for 2.6.31-rc6/ARM this patch does the following:
- Add TIF_RESTORE_SIGMASK. Use the generic set_restore_sigmask()
  which sets both TIF_SIGPENDING and TIF_RESTORE_SIGMASK, so
  TIF_RESTORE_SIGMASK need not claim one of the scarce low thread
  flags, and existing TIF_SIGPENDING and _TIF_WORK_MASK tests need
  not be extended for TIF_RESTORE_SIGMASK.
- sys_sigsuspend() is reimplemented to use current->saved_sigmask
  and set_restore_sigmask(), making it identical to most other archs
- The private code for sys_rt_sigsuspend() is removed, instead
  generic code supplies it via __ARCH_WANT_SYS_RT_SIGSUSPEND.
- sys_sigsuspend() and sys_rt_sigsuspend() no longer need a pt_regs
  parameter, so their assembly code wrappers are removed.
- handle_signal() is changed to return 0 on success or -errno.
- The oldset parameter to do_signal() is now redundant and removed,
  and the return value is now also redundant and changed to void.
- do_signal() is changed to honor TIF_RESTORE_SIGMASK:
  + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK
    is set
  + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK
  + if no signal was delivered and TIF_RESTORE_SIGMASK is set then
    clear it and restore the sigmask
- Hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-08-15 15:10:31 +01:00
Russell King
824df399a3 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-08-15 12:43:13 +01:00
Russell King
8b61207895 Merge branch 'for-rmk-rc' of git://git.pengutronix.de/git/imx/linux-2.6 2009-08-15 12:42:46 +01:00
Russell King
dde5828f56 ARM: Fix broken highmem support
Currently, highmem is selectable, and you can request an increased
vmalloc area.  However, none of this has any effect on the memory
layout since a patch in the highmem series was accidentally dropped.
Moreover, even if you did want highmem, all memory would still be
registered as lowmem, possibly resulting in overflow of the available
virtual mapping space.

The highmem boundary is determined by the highest allowed beginning
of the vmalloc area, which depends on its configurable minimum size
(see commit 60296c71f6 for details on
this).

We should create mappings and initialize bootmem only for low memory,
while the zone allocator must still be told about highmem.

Currently, memory nodes which are completely located in high memory
are not supported.  This is not a huge limitation since systems
relying on highmem support are unlikely to have discontiguous memory
with large holes.

[ A similar patch was meant to be merged before commit 5f0fbf9eca
  and be available  in Linux v2.6.30, however some git rebase screw-up
  of mine dropped the first commit of the series, and that goofage
  escaped testing somehow as well. -- Nico ]

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Nicolas Pitre <nico@marvell.com>
2009-08-15 12:36:00 +01:00
Martin Schwidefsky
0a54419836 timekeeping: Move NTP adjusted clock multiplier to struct timekeeper
The clocksource structure has two multipliers, the unmodified multiplier
clock->mult_orig and the NTP corrected multiplier clock->mult. The NTP
multiplier is misplaced in the struct clocksource, this is private
information of the timekeeping code. Add the mult field to the struct
timekeeper to contain the NTP corrected value, keep the unmodifed
multiplier in clock->mult and remove clock->mult_orig.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134810.149047645@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2009-08-15 10:55:46 +02:00
Ben Dooks
b282e29b54 Merge branch 'next-s3c64xx-moves' into next-s3c 2009-08-14 15:24:06 +01:00
Ben Dooks
c378aa275e Merge branch 'next-s3c64xx' into next-s3c 2009-08-14 15:24:01 +01:00
Ben Dooks
215ed3236a Merge branch 'next-s3c24xx-cpufreq' into next-s3c 2009-08-14 15:23:45 +01:00
Ben Dooks
0fbdd27007 Merge branch 'next-s3c24xx' into next-s3c 2009-08-14 15:23:34 +01:00
Ben Dooks
69e3728967 Merge branch 'next-s3c-machines' into next-s3c 2009-08-14 15:23:22 +01:00
Ben Dooks
63c949ea1d Merge branch 'next-s3c-hwmon' into next-s3c 2009-08-14 15:23:15 +01:00
Sascha Hauer
c35d3a4181 mx21ads: Fix framebuffer platform data
struct imx_fb_platform_data has changed and the mx21ads was
forgotten to change. Fix it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:16 +02:00
Sascha Hauer
f6d2fa7dcb MX21: Compilation fix for devices.c
The OTG devices are only available on i.MX27, so ifdef
them out for i.MX21.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:15 +02:00
Valentin Longchamp
2718c15c5f mx31moboard: two GPIOS are used to reset other microcontrolers on the robot
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:13 +02:00
Valentin Longchamp
8b1a540c24 mx31moboard: initialize 4 input gpios for mx31moboard
These gpios are exported to userspace and are here to be used as
a selector

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:11 +02:00
Valentin Longchamp
77aa561db1 mx31moboard: support for the 4 leds used on mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:10 +02:00
Valentin Longchamp
4bd1527a64 mx31: define various GPIOs used on mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:09 +02:00
Luotao Fu
e0fd4db372 pcm037: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:08 +02:00
Luotao Fu
8d5c1ed3f6 pcm043: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:06 +02:00
Luotao Fu
0160651a65 pcm038: mux configuration for predefined gpio line
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
2009-08-14 12:41:04 +02:00
Sascha Hauer
3fd2691a1d MX31 Fix spi clock names
Fix the SPI clock names to match the device names.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:03 +02:00
Sascha Hauer
7bc07ebc7d mx3x: Fixup USB base addresses
The i.MX31 and the i.MX35 have different USB base addresses. Adjust
the resources accordingly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:41:01 +02:00
Luotao Fu
337316986f mx27: add support for phytec pca100 (phyCARD-s) board
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:59 +02:00
Sascha Hauer
547270a3b9 i.MX35 clock support: Add USB clocks
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:57 +02:00
Sascha Hauer
d37ba97d49 MX31: add spi controller devices/resources
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:54 +02:00
Sascha Hauer
f420db843b MX2: Add SPI devices/resources
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:52 +02:00
Valentin Longchamp
88b0564717 mx31moboard: move usb otg support back to moboard common file
since all boards finally have this device

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:50 +02:00
Valentin Longchamp
b23f1534bb mx31moboard: added usb xcvr reset for mx31moboard
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:49 +02:00
Valentin Longchamp
89829d5fe3 mx31: added one more pin definition
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:48 +02:00
Dmitriy Taychenachev
94da274b49 MXC: add iomux pins configuration support for MXC91231
Signed-off-by: Dmitriy Taychenachev <dimichxp@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:47 +02:00
Dmitriy Taychenachev
fd6ac7bb9d MXC: add basic MXC91231 support
Signed-off-by: Dmitriy Taychenachev <dimichxp@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:46 +02:00
Lothar Waßmann
8e5be212cb i.MX25 iomux definitions (corrected version)
Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:45 +02:00
Sascha Hauer
cf983c93ae fix mx35 wrong clock
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:44 +02:00
Sascha Hauer
635baf6b40 Freescale i.MX25 PDK (3ds) board support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:43 +02:00
Sascha Hauer
8c25c36f33 Add i.MX25 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:42 +02:00
Sascha Hauer
a058cbc179 mxc pwm: add mx25 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:41 +02:00
Sascha Hauer
6134b2cbb0 iomux-v3: Allow for a runtime base address
also, check for a valid pad_ctrl_ofs before changing the
pad control register.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:41 +02:00
Sascha Hauer
fc2a9f0bc7 MXC: i.MX25 timer support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:40 +02:00
Sascha Hauer
12b8eb8652 MXC: use variable for irq controller base in entry-macro.S
This allows us to determine the irq controller base address
on runtime.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:39 +02:00
Daniel Mack
c372a5cf4c ARM: MX3: add ckil clock
The CKIL clock source is used by the upcoming RTC driver, so we need
to export it.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:40:38 +02:00
Sascha Hauer
cf87a6e2fe ARM: mxc: Fix i2c_board_info definitions
Fix i2c_board_info definitions - we were defining the 'type' field
of these structures twice since the first argument of I2C_BOARD_INFO
sets this field.  Move the second definition into I2C_BOARD_INFO().

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
2009-08-14 12:40:37 +02:00
Valentin Longchamp
563abb4be1 mx31moboard: invert sdhc ro signal sense
Small confusion with our hardware engineer, the WP signal (RO) is
active low on our boards, the signal has to inverted.

This is a pretty straightforward patch, it could even go to -rc,
but if not, then push it for 2.6.32.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-14 12:33:23 +02:00
Tejun Heo
384be2b18a Merge branch 'percpu-for-linus' into percpu-for-next
Conflicts:
	arch/sparc/kernel/smp_64.c
	arch/x86/kernel/cpu/perf_counter.c
	arch/x86/kernel/setup_percpu.c
	drivers/cpufreq/cpufreq_ondemand.c
	mm/percpu.c

Conflicts in core and arch percpu codes are mostly from commit
ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many
num_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all
the first chunk allocators into mm/percpu.c, the changes are moved
from arch code to mm/percpu.c.

Signed-off-by: Tejun Heo <tj@kernel.org>
2009-08-14 14:45:31 +09:00
Ben Dooks
a2c195fdde ARM: S3C24XX: Add SPI bus 1 on GPD8 through GPD10
Add configuration callback for SPI bus 1 on GPD[8..10] and ensure the
correct GPIO configuration register definitions in regs-gpio.h

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:26:09 +01:00
Mark Brown
d91e9a7ab9 ARM: S3C24XX: Add platform device for AC97 controller
Move the definition of the "generic" IRQ in the process.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:13:29 +01:00
Ben Dooks
229fd8ffba ARM: S3C24XX: Add FIQ IRQ routing support
Add support for routing an IRQ from the normal ARM IRQ mechanism to the
FIQ input of the processor.

Note, also fix a bug where the init_FIQ() function has not been called
when CONFIG_FIQ is enabled.

Signed-off-by; Ben Dooks <ben@simtec.co.uk>

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:13:28 +01:00
Mark Brown
c233d94931 ARM: S3C: Move S3C64xx audio devices into S3C64xx directory
Allowing us to make the Kconfig a little bit saner.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:08:27 +01:00
Mark Brown
c7c8f615c8 ARM: S3C64XX: Add address mapping for AC97 controller
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:05 +01:00
Mark Brown
25b15da14a ARM: S3C64XX: Add mapping for IISv4 port
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:04 +01:00
Matt Hsu
bd258e525a ARM: S3C64XX: Add UART2,UART3 support for SMDK6410 (resend)
Add proper uartcfg for UART port 2,3 and tidy it up on SMDK6410.

Signed-off-by: Matt Hsu <matt@0xlab.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:03 +01:00
Marek Szyprowski
4d4e2bc268 ARM: NCP: make ncp_iodesc static and move it to initdata section
Make ncp_iodesc struct static to clean a public namespace a bit and move
it to __initdata section to save memory a bit.

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:03 +01:00
Davide Rizzo
48ec45e725 ARM: S3C24XX: Fix clkout mpx error
Bug correction: CLK Outputs cannot have XTAL as parent

Signed-off-by: Davide Rizzo <elpa.rizzo@gmail.com>
[ben-linux@fluff.org: updated patch subject]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:45:49 +01:00
Marek Vasut
4ac0478f2a ALSA: Allow passing platform_data for pxa2xx-ac97
This patch adds support for passing platform data to ac97 bus devices
from PXA2xx-AC97 driver..

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-13 22:19:37 +01:00
Uwe Kleine-König
ac25150f2c [ARM] let arch/arm/Kconfig source drivers/Kconfig
The changes introduced by this change are:
  - drivers/mtd/Kconfig doesn't depend on ALIGNMENT_TRAP ||
    !CPU_CP15_MMU any more
  - the following files are sourced additionally:
    + drivers/macintosh/Kconfig
      completely depends on PPC || MAC || X86
    + drivers/telephony/Kconfig
      new
    + drivers/pps/Kconfig
      new
    + drivers/infiniband/Kconfig
      new
    + drivers/edac/Kconfig
      depends on X86 || PPC
    + drivers/vlynq/Kconfig
      depends on AR7 && EXPERIMENTAL (that is ARCH_MIPS)
    + drivers/xen/Kconfig
      everything depends on XEN
    + drivers/platform/Kconfig
      depends on X86
  - drivers/regulator/Kconfig is sourced later as is
    drivers/accessibility/Kconfig

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2009-08-13 21:09:21 +02:00
Uwe Kleine-König
d45a398fca Use kernel/Kconfig.preempt for ARM
before this patch ARM had it's own definition of CONFIG_PREEMPT.
Instead of that use the general definition provided in
kernel/Kconfig.preempt.

This patch changes the available options in *config.  Namely PREEMPT
isn't a stand alone bool anymore, but part of a 'choice' the
following Kconfig symbols are added:

	PREEMPT_NONE
	PREEMPT_VOLUNTARY

Selecting PREEMPT_NONE now produces exactly the code as not selecting
PREEMPT before (apart from a comment in
/sys/kernel/debug/tracing/(per_cpu/cpuX/)?trace).  The only difference
PREEMPT_VOLUNTARY does is that might_resched might reschedule.  Both
should't introduce regressions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
2009-08-13 20:34:38 +02:00
Uwe Kleine-König
0d928b0b61 Complete irq tracing support for ARM
Before this patch enabling and disabling irqs in assembler code and by
the hardware wasn't tracked completly.

I had to transpose two instructions in arch/arm/lib/bitops.h because
restore_irqs doesn't preserve the flags with CONFIG_TRACE_IRQFLAGS=y

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2009-08-13 20:34:37 +02:00
Uwe Kleine-König
181f817eaa [ARM] support tracing when using newer compilers
Since gcc 4.4 the name and calling convention for function profiling
on ARM changed.  With this patch both types are supported.

See http://sourceware.org/ml/libc-ports/2008-04/msg00009.html for some
details.

Lightly-Tested-by: Anand Gadiyar <gadiyar@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2009-08-13 20:34:36 +02:00
Uwe Kleine-König
b88fb83b13 netx: Use get_irqnr_preamble to initialize base register
This patch optimizes the irq handling a bit.  Now the base register is
only computed once per irq exception instead of at least twice.
Moreover the mov+add sequence is simplified to an ldr (which might save
some cycles depending on memory timing).

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2009-08-13 20:34:36 +02:00
Russell King
6973ee7e60 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable 2009-08-13 14:22:39 +01:00
Russell King
3b3119fc54 Merge branch 'ixp4xx-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 2009-08-13 09:55:38 +01:00
David S. Miller
aa11d958d1 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	arch/microblaze/include/asm/socket.h
2009-08-12 17:44:53 -07:00
Mikael Pettersson
dee2b904a1 IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes
2.6.31-rc kernels don't boot on my ixp4xx box (ds101), because the libata
driver doesn't find the PCI IDE controller any more. 2.6.30 was fine.
I traced this to a PCI update (1f82de10d6)
in 2.6.30-git19. Diffing the kernel boot logs from 2.6.30-git18 and
2.6.30-git19 illustrates the breakage:

> --- dmesg-2.6.30-git18	2009-08-04 01:45:22.000000000 +0200
> +++ dmesg-2.6.30-git19	2009-08-04 01:45:46.000000000 +0200
> @@ -26,6 +26,13 @@
>  pci 0000:00:02.2: PME# supported from D0 D1 D2 D3hot
>  pci 0000:00:02.2: PME# disabled
>  PCI: bus0: Fast back to back transfers disabled
> +pci 0000:00:01.0: BAR 0: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:01.0: BAR 1: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:01.0: BAR 2: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:01.0: BAR 3: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:01.0: BAR 4: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:02.0: BAR 4: can't allocate I/O resource [0x10000-0xffff]
> +pci 0000:00:02.1: BAR 4: can't allocate I/O resource [0x10000-0xffff]
>  bio: create slab <bio-0> at 0
>  SCSI subsystem initialized
>  NET: Registered protocol family 2
> @@ -44,11 +51,7 @@
>  console [ttyS0] enabled
>  serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale
>  Driver 'sd' needs updating - please use bus_type methods
> -PCI: enabling device 0000:00:01.0 (0140 -> 0141)
> -scsi0 : pata_artop
> -scsi1 : pata_artop
> -ata1: PATA max UDMA/100 cmd 0x1050 ctl 0x1060 bmdma 0x1040 irq 28
> -ata2: PATA max UDMA/100 cmd 0x1058 ctl 0x1064 bmdma 0x1048 irq 28
> +pata_artop 0000:00:01.0: no available native port
>  Using configured DiskOnChip probe address 0x50000000
>  DiskOnChip found at 0x50000000
>  NAND device: Manufacturer ID: 0x98, Chip ID: 0x73 (Toshiba NAND 16MiB 3,3V 8-bit)

The specific change in 1f82de10d6 responsible
for this failure turned out to be the following:

> --- a/drivers/pci/probe.c
> +++ b/drivers/pci/probe.c
> @@ -193,7 +193,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
>  		res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN;
>  		if (type == pci_bar_io) {
>  			l &= PCI_BASE_ADDRESS_IO_MASK;
> -			mask = PCI_BASE_ADDRESS_IO_MASK & 0xffff;
> +			mask = PCI_BASE_ADDRESS_IO_MASK & IO_SPACE_LIMIT;
>  		} else {
>  			l &= PCI_BASE_ADDRESS_MEM_MASK;
>  			mask = (u32)PCI_BASE_ADDRESS_MEM_MASK;

Every arch except arm's ixp4xx defines IO_SPACE_LIMIT as an all-bits-one
bitmask, typically -1UL but sometimes only a 16-bit 0x0000ffff. But ixp4xx
defines it as 0xffff0000, which is now causing the PCI failures.

Russell King noted that ixp4xx has 64KB PCI IO space, so IO_SPACE_LIMIT
should be 0x0000ffff. This patch makes that change, which fixes the PCI
failures on my ixp4xx box.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
2009-08-11 19:22:20 +02:00
Ron Lee
decf770795 [ARM] Kirkwood: Initialise SATA for OpenRD-Base
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Dhaval Vasa <dhaval.vasa@einfochips.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-10 18:04:00 -04:00
Dhaval Vasa
7eeae54c68 [ARM] Kirkwood: Marvell OpenRD-Base board support
reference:
http://open-rd.org
http://code.google.com/p/openrd

This patch is tested for:
1. Boot from DRAM/NAND flash
2. NAND read/write/erase
3. GbE0
4. USB read/write

FIXME:
1. SD/UART1 selection
2. MPP configuration (currently, default)
3. PEX

Signed-off-by: Dhaval Vasa <dhaval.vasa@einfochips.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-10 18:03:59 -04:00
Lennert Buytenhek
7153c360eb ¶ARM] Orion5x: fix cpu window mapping for 88f6183
On the 88f6183, orion5x's setup_cpu_win() fails to ever program any
mbus bridge remap registers, which causes transactions for PCI/PCIe
IO/MEM space to get sent to random mbus targets.  Adding a check for
the 6183 in orion5x_cpu_win_can_remap() is necessary and sufficient
to make PCIe wlan cards work on the 6183 reference design.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-10 18:03:59 -04:00
Siddarth Gore
aec1bad326 [ARM] Kirkwood: Add support for 6281-A1
Signed-off-by: Siddarth Gore <gores@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-10 18:03:59 -04:00
Simon Guinot
8f2208601f [ARM] orion5x: Add LaCie NAS d2Network support
This patch add support for the d2 Network and the Big Disk Network
LaCie boards.

Signed-off-by: Simon Guinot <sguinot@lacie.com>
Acked-by: Christopher Moore <moore@free.fr>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-08-10 18:03:59 -04:00
Rafael J. Wysocki
dcbf77cac6 Merge branch 'master' into for-linus 2009-08-10 23:40:50 +02:00
Russell King
96a4d1e234 Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm 2009-08-10 15:50:27 +01:00
Russell King
f40aac940a Merge branch 'omap_fixes_31' of git://git.pwsan.com/linux-2.6 2009-08-10 14:24:18 +01:00
Russell King
7063c88c72 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-08-10 14:23:29 +01:00
Roger Quadros
4177662ec9 OMAP3: RX51: Updated rx51_defconfig
Added REGULATOR, MMC and updated default CMDLINE so RX51 now boots.

Note that the regulator code should be moved from mmc-twl4030.c
to omap_hsmmc.c so it can be a module.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:52 +03:00
Roger Quadros
22833044fb OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
twl_mmc_cleanup() must free up the regulators that were
allocated by twl_mmc_late_init().
This eliminates the below error when 'omap_hsmmc' module is
repeatedly loaded and unloaded.

"sysfs: cannot create duplicate filename '/devices/platform
 /mmci-omap-hs.0/microamps_requested_vmmc'"

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:51 +03:00
Roger Quadros
dfc27b3449 OMAP3: RX51: Define TWL4030 USB transceiver in board file
Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer
dereference during MUSB initialisation.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:51 +03:00
Sergio Aguirre
5032902c33 OMAP3: Overo: Fix smsc911x platform device resource value
Fixes a wrong setting of resource parameter list in
SMSC911x platform driver data structure for Overo case.

This fixes folowing warning when compiling for Overo board:

	warning: initialization from incompatible pointer type

Introduced since commit id:
	commit 172ef27544
	Author: Steve Sakoman <sakoman@gmail.com>
	Date:   Mon Feb 2 06:27:49 2009 +0000

	    ARM: Add SMSC911X support to Overo platform (V2)

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:50 +03:00
Janboe Ye
370bc1fdef OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
commit e85c205ac1 increase vmalloc size.
vmalloc space will overlap with OMAP3 sram virtual address.

Signed-off-by: Li Hong Mei <hong-mei.li@motorola.com>
Signed-off-by: Janboe Ye <yuan-bo.ye@motorola.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
2009-08-10 14:49:50 +03:00
Vikram Pandita
284119c48f OMAP2/3: DMA errata correction
This errata is valid for:
OMAP2420 Errata 1.85 Impacts all 2420 ES rev
OMAP2430 Errata 1.10 Impacts only ES1.0
Description: DMA may hang when several channels are used in parallel
OMAP3430: Not impacted, so remove the errata fix for omap3

Fixed issue reported on cpu_is_omap24xx check reported by Nishant Kamat

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Reviewed-by: Nishant Kamat <nskamat@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:50 +03:00
Tony Lindgren
cd92204924 OMAP: Fix testing of cpu defines for mach-omap1
There's no need to keep these defines limited in the ifdef block
for mach-omap2. It will just cause problems testing for the CPU
revision in the common code, like the next patch does for the DMA
errata.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-10 14:49:50 +03:00
Dmitry Torokhov
09113aea55 Input: w90p910_keypad - adjust to use definitions from matrix_keypad.h
Also have the driver send MSC_SCAN events as most keyboards do to aid
in updating keymap from userspace.

Tested-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-09 21:24:26 -07:00
Wan ZongShun
4a15235e79 Input: add keypad driver for w90p910
Add keypad driver for the 4x4 keypad on an evaluation board based
on w90p910.

Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Reviewed-by: Trilok Soni <soni.trilok@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-09 21:24:09 -07:00
Gupta, Ajay Kumar
e8e2ff462d USB: musb: fix the nop registration for OMAP3EVM
OMAP3EVM uses ISP1504 phy which doesn't require any programming and
thus has to use NOP otg transceiver.

Cleanups being done:
	- Remove unwanted code in usb-musb.c file
	- Register NOP in OMAP3EVM board file using
	  usb_nop_xceiv_register().
	- Select NOP_USB_XCEIV for OMAP3EVM boards.
	- Don't enable TWL4030_USB in omap3_evm_defconfig

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Eino-Ville Talvala <talvala@stanford.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-08-07 16:05:13 -07:00
Linus Torvalds
36b8659f93 Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)
  ARM: 5639/1: arm: clkdev.c should include <linux/clk.h>
  ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH
  ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers
  ARM: S3C64XX: serial: Fix section mismatch warning
  ARM: S3C24XX: serial: Fix section mismatch warnings
  ARM: S3C: PWM fix for low duty cycle
  ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization
  ARM: 5627/1: Fix restoring of lr at the end of mcount
  ARM: 5624/1: Document cache aliasing region
  S3C64XX: Fix ARMCLK configuration
  S3C64XX: Fix get_rate() for ARMCLK
  S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip
  mx3 defconfig update
  mx27 defconfig update
  ARM: 5623/1: Treo680: ir shutdown typo fix
  ARM: includecheck fix: plat-stmp3xxx/pinmux.c
  ARM: includecheck fix: plat-s3c64xx/pm.c
  ARM: includecheck fix: mach-omap2/mcbsp.c
  ARM: includecheck fix: mach-omap1/mcbsp.c
  ARM: includecheck fix: board-sffsdr.c
  ...
2009-08-07 10:46:51 -07:00
Eric Benard
a961bf380b Add support for Eukrea's MBIMX27
MBIMX27 is the evaluation board for CPUIMX27 and integrates : a
QVGA TFT, a SPI touchscreen controler, a SDCard connector wired to
SDHC1.

Signed-off-by: Eric Benard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:12 +02:00
Eric Benard
af5b1df713 Add support for Eukrea's CPUIMX27
CPUIMX27 is built around Freescale's i.MX27 and has up to 64MB of
 NOR Flash, up to 512MB of NAND Flash and up to 256MB of mDDR,
 it includes an ethernet PHY in MII mode, an I2C RTC and a
 ST16554 QuadUART on nCS3.

Signed-off-by: Eric Benard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:12 +02:00
javier Martin
627fb3b9d2 MX27: Add USB platform devices and resources
This adds clocks and resources for usb in i.mx27 SoC.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:12 +02:00
Daniel Mack
88e29a8d21 MX3: add additional USB pins to iomux
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:12 +02:00
Sascha Hauer
6558f985a1 ehci mxc: Fix clocks
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:11 +02:00
Daniel Mack
c13a482c43 MX3: Add USB platform devices and resources
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:11 +02:00
Sascha Hauer
5e63ff9a97 [ARM] MXC: remove the now unused #ifndef CONFIG_COMMON_CLKDEV
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:11 +02:00
Sascha Hauer
7dae1134cd [ARM] MXC: Switch MX1 to clkdev support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:10 +02:00
Sascha Hauer
6d73665f05 MXC PLL decoding: calculate mfn value with less magic
Also, use cpu_is_* macros rather than CONFIG_ARCH_*

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:10 +02:00
Sascha Hauer
5ef881bbec MXC: pwm driver fixes
- fix off-by-one error in divider calculation
- disable pwm in pwm_disable

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:10 +02:00
Sascha Hauer
494f22dddc MXC gpio interrupt support: move register definitions to .c file
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:10 +02:00
Sascha Hauer
8afaada2dc mxc gpio: CONFIG_ARCH_* -> cpu_is_*()
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:09 +02:00
Sascha Hauer
61b032ef26 pcm038: Add support for SJA1000 on baseboard
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:09 +02:00
Sascha Hauer
91bf9a2566 pcm037: Add support for SJA1000 on baseboard
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:11:09 +02:00
Sascha Hauer
343684ffb7 imxfb: Add support for multiple displays
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:56 +02:00
Sascha Hauer
f497d0153a imxfb: calculate bpix value from bits_per_pixel
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:56 +02:00
Sascha Hauer
9b0e6db0da mx1: Codingstyle: Let the compiler count arrays
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:55 +02:00
Sascha Hauer
3f4f54b4f0 mx3: Codingstyle: Let the compiler count arrays
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:55 +02:00
Sascha Hauer
bf50bcc242 mx2: Codingstyle: Let the compiler count arrays
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:55 +02:00
Sascha Hauer
aa68c02777 mx2: remove mxc_irda platform device
Irda support is handled by the normal ims serial driver, so
we do not need this device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:54 +02:00
Sascha Hauer
997d74b18a MXC iomux-v3: Fix defines for PAD_CTL registers
The old defines leaked in from an old version of the patch.
Change the defines to match the register layout of the iomuxer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:54 +02:00
Sascha Hauer
c5aa0ad0c5 mxc: turn to soc specific init_irq functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:54 +02:00
Sascha Hauer
12308dfe37 mxc: remove do not include directly
Everyone should be free to include the files he actually needs.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-07 12:10:54 +02:00