aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [ARM] 5422/1: ARM: MMU: add a Non-cacheable Normal executable memory typePaul Walmsley2009-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a Non-cacheable Normal ARM executable memory type, MT_MEMORY_NONCACHED. On OMAP3, this is used for rapid dynamic voltage/frequency scaling in the VDD2 voltage domain. OMAP3's SDRAM controller (SDRC) is in the VDD2 voltage domain, and its clock frequency must change along with voltage. The SDRC clock change code cannot run from SDRAM itself, since SDRAM accesses are paused during the clock change. So the current implementation of the DVFS code executes from OMAP on-chip SRAM, aka "OCM RAM." If the OCM RAM pages are marked as Cacheable, the ARM cache controller will attempt to flush dirty cache lines to the SDRC, so it can fill those lines with OCM RAM instruction code. The problem is that the SDRC is paused during DVFS, and so any SDRAM access causes the ARM MPU subsystem to hang. TI's original solution to this problem was to mark the OCM RAM sections as Strongly Ordered memory, thus preventing caching. This is overkill: since the memory is marked as non-bufferable, OCM RAM writes become needlessly slow. The idea of "Strongly Ordered SRAM" is also conceptually disturbing. Previous LAKML list discussion is here: http://www.spinics.net/lists/arm-kernel/msg54312.html This memory type MT_MEMORY_NONCACHED is used for OCM RAM by a future patch. Cc: Richard Woodruff <r-woodruff2@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5420/1: MMCI devinit and devexit macrosLinus Walleij2009-03-12
| | | | | | | | This adds __devinit and __devexit macros to the module probe and remove functions in MMCI. Now includes the __devexit_p() thing too. Signed-off-by: Linus Walleij <linus.walleij@ericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: add DM9000_PLATF_NO_EEPROM flag to CM-X... platformsMike Rapoport2009-03-09
| | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: separate definitions from pxa-regs.h and remove it finallyEric Miao2009-03-09
| | | | | | | | | | | | | | | | | | | The remaining registers are separated into: - <mach/regs-ost.h> - <mach/regs-rtc.h> - <mach/regs-intc.h> and then we can remove pxa-regs.h completely. Instead of #include this file, let's: 1. include the specific <mach/regs-*.h> with care (if that's absolutely necessary) 2. define the registers in the driver, make cleanly defined API to expose the register access to external with sufficient reason Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move pxa2xx chip selects definitions out of pxa-regs.hEric Miao2009-03-09
| | | | | | | | The definitions of PXA_CS<x>_PHYS are really PXA2xx specific and should be moved out of pxa-regs.h. As an illustration, the PXA3xx static chip selects definitions are added into pxa3xx-regs.h. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: make lubbock specific debugging stuffs back into lubbock.cEric Miao2009-03-09
| | | | | | | | This isn't perfect but at least solves the problem of pm.c's dependency on register definitions in <mach/lubbock.h>, which doesn't make much sense. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move PCMCIA definitions out of pxa-regs.h into pxa2xx_base.cEric Miao2009-03-09
| | | | | | | | | | | | | Move the processor specific initialization (largely resources initialization) out of soc_common_drv_pcmcia_probe() into dedicated sa11xx_drv_pcmcia_probe() and __pxa2xx_drv_pcmcia_probe(). By doing this, we are now able to move the PCMCIA related definitions out of pxa-regs.h and back into pxa2xx_base.c. As a result, remove that reference of _PCMCIA1IO in arch/arm/mach-pxa/viper.c. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.hEric Miao2009-03-09
| | | | | | | pxa-regs.h and hardware.h are not intended for use directly in driver code, remove those unnecessary references. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: remove machine class specific stuffs from serial driverEric Miao2009-03-09
| | | | | | | | | | | | | | | The only things prevent drivers/serial/pxa.c from being generic enough are: 1. IER_UUE which can be safely replaced by UART_IER_UUE as defined in serial_reg.h for PXA 2. __PREG() and FFUART/BTUART/STUART definitions to decide the UART port name And removed the un-necessary #include of <mach/...> and <asm/...> headers. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: access GPIO registers by chip so to make it further genericEric Miao2009-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's handle GPIOs by banks, each bank covers up to 32 GPIOs with one set of registers, and each set of registers start from different offsets. GPLR GPDR GPSR GPCR GRER GFER GEDR BANK 0 - 0x0000 0x000C 0x0018 0x0024 0x0030 0x003C 0x0048 BANK 1 - 0x0004 0x0010 0x001C 0x0028 0x0034 0x0040 0x004C BANK 2 - 0x0008 0x0014 0x0020 0x002C 0x0038 0x0044 0x0050 BANK 3 - 0x0100 0x010C 0x0118 0x0124 0x0130 0x013C 0x0148 BANK 4 - 0x0104 0x0110 0x011C 0x0128 0x0134 0x0140 0x014C BANK 5 - 0x0108 0x0114 0x0120 0x012C 0x0138 0x0144 0x0150 NOTE: BANK 3 is only available on PXA27x and later processors. BANK 4 and 5 are only available on PXA935 1. introduce GPIO_BANK(n) for the offset base of each bank 2. 'struct pxa_gpio_chip' is expanded to include IRQ edge and mask setings, and saved register values as well, and is dynamically allocated due to possible bank number ranging from 3 to 6 3. all accesses to GPIO registers are made through 'regbase' within 'pxa_gpio_chip', and register offset 4. introduce several inline functions to simplify the code a bit 5. change IRQ demux handler to base on gpio chips Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move declaration of 'pxa_last_gpio' into <mach/gpio.h>Eric Miao2009-03-09
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move GPIO register definitions into <mach/gpio.h>Eric Miao2009-03-09
| | | | | | | | This makes gpio.c fully independent of pxa-regs.h (except for the virtual address of the registers). Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move pxa_gpio_mode() outside of generic gpio.cEric Miao2009-03-09
| | | | | | | | Looks like we have to live with pxa_gpio_mode() for a while, giving its presence is actually making gpio.c not generic enough, let's move it temporarily outside before it can be fully purged. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move IRQ handling of GPIO 0 and 1 outside of gpio.cEric Miao2009-03-09
| | | | | | | | | | | | | | | This is part of the work making gpio.c generic enough, the changes include: 1. move IRQ handling of GPIO 0 and 1 outside (and back into irq.c) 2. pxa_init_gpio() accepts a range for muxed GPIO IRQs, and an IRQ number for the muxed GPIOs 3. __gpio_is_occupied() and __gpio_is_inverted() are made inline, and are moved into <mach/gpio.h> instead of generic gpio.c Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move DMA registers definitions into <mach/dma.h>Eric Miao2009-03-09
| | | | | | | | | | | | | | 1. Driver code where pxa_request_dma() is called will most likely reference DMA registers as well, and it is really unnecessary to include pxa-regs.h just for this. Move the definitions into <mach/dma.h> and make relevant drivers include it instead of <mach/pxa-regs.h>. 2. Introduce DMAC_REGS_VIRT as the virtual address base for these DMA registers. This allows later processors to re-use the same IP while registers may start at different I/O address. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: allow DMA controller IRQ being specifiedEric Miao2009-03-09
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usageEric Miao2009-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering the header mess ATM, it is not always possible to include the correct header files within board code. Let's keep this simple: <mach/pxa25x.h> - for pxa25x based platforms <mach/pxa27x.h> - for pxa27x based platforms <mach/pxa300.h> - for pxa300 based platforms <mach/pxa320.h> - for pxa320 based platforms <mach/pxa930.h> - for pxa930 based platforms NOTE: 1. one header one board file, they are not compatible (i.e. they have conflicting definitions which won't compile if included together). 2. Unless strictly necessary, the following header files are considered to be SoC files use _only_, and is not recommended to be included in board code: <mach/hardware.h> <mach/pxa-regs.h> <mach/pxa2xx-regs.h> <mach/pxa3xx-regs.h> <mach/mfp.h> <mach/mfp-pxa2xx.h> <mach/mfp-pxa25x.h> <mach/mfp-pxa27x.h> <mach/mfp-pxa3xx.h> <mach/mfp-pxa300.h> <mach/mfp-pxa320.h> <mach/mfp-pxa930.h> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa/magician: remove unused forward declaration of pasic3Philipp Zabel2009-03-09
| | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa/magician: default to backlight trigger for keypad illuminationPhilipp Zabel2009-03-09
| | | | | | | Default to the same behaviour as the shipped WinCE system. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa/magician: register pda_power IRQs as rising/falling edgePhilipp Zabel2009-03-09
| | | | | | | so they can be shared with gpio_vbus. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa/magician: select PXA_SSP for touchscreen and soundPhilipp Zabel2009-03-09
| | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa/magician: fix htc-egpio resource sizePhilipp Zabel2009-03-09
| | | | | | | Fixes an off-by-one error. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* Merge branch 'devel' of ssh://master.kernel.org/home/rmk/linux-2.6-arm into ↵Eric Miao2009-03-09
|\ | | | | | | devel
| * [ARM] 5414/2: ep93xx m2p dma coreRyan Mallon2009-03-03
| | | | | | | | | | | | | | | | Add m2p dma support to the ep93xx Signed-off-by: Ryan Mallon <ryan@bluewatersys.com> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5413/1: Add ep93xx dma m2p clocksRyan Mallon2009-02-27
| | | | | | | | | | | | | | | | Add the clocks for ep93xx m2p dma engine. Signed-off-by: Ryan Mallon <ryan@bluewatersys.com> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5412/1: XSCALE: add ice dcc supportJean-Christop PLAGNIOL-VILLARD2009-02-27
| | | | | | | | | | | | | | | | | | | | | | SCALE: add ice dcc support Tested on the ixp425 with the ice PEEDI Ack-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * Merge branch 'dma' into develRussell King2009-02-21
| |\ | | | | | | | | | | | | | | | Conflicts: arch/arm/plat-mxc/dma-mx1-mx2.c
| | * [ARM] dma: RiscPC: don't modify DMA SG entriesRussell King2009-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | We should not be modifying the scatterlist passed to us from the driver code; doing so breaks assumptions made by the DMA API code, and could cause problems if the driver retries a transfer using an old scatterlist. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: move IOMD and floppy DMA structures to RiscPC DMA codeRussell King2009-02-21
| | | | | | | | | | | | | | | | | | | | | There's no point these being in a generic include file when they're only used in arch/arm/mach-rpc/dma.c. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: remove dmamode_t typedefRussell King2009-01-02
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: remove usage of dmamode_t from MXC platform supportRussell King2009-01-02
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: make DMA_MODE_xxx reflect ISA DMA settingsRussell King2009-01-02
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: Use sensible DMA parameters for Acorn driversRussell King2008-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware supports transfers up to a page boundary per buffer. Currently, we work around that in the DMA code by splitting each buffer up as we run through the scatterlist. Avoid this by telling the block layers about the hardware restriction. Eventually, this will allow us to phase out the splitting code, but not until the old IDE layer allows us to control the value it gives to blk_queue_segment_boundary(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: pata_icside's contiguous sg array is now redundantRussell King2008-12-11
| | | | | | | | | | | | | | | | | | | | | Now that the IOMD DMA code walks the scatterlist using sg_next, converting the sg list into a contiguous list is no longer required. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: convert IOMD DMA to use sg_next()Russell King2008-12-11
| | | | | | | | | | | | | | | | | | ... rather than incrementing the sg pointer. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: ensure that the single entry sg is properly initializedRussell King2008-12-11
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: constify dma controller name and dma opsRussell King2008-12-11
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: move RiscPC specific DMA data out of dma_structRussell King2008-12-11
| | | | | | | | | | | | | | | | | | | | | Separate the RiscPC specific (IOMD and floppy FIQ) data out of the core DMA structure by making the IOMD and floppy DMA supersets. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: rejig DMA initializationRussell King2008-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than having the central DMA multiplexer call the architecture specific DMA initialization function, have each architecture DMA initialization function use core_initcall(), and register each DMA channel separately with the multiplexer. This removes the array of dma structures in the central multiplexer, replacing it with an array of pointers instead; this is more flexible since it allows the drivers to wrap the DMA structure (eventually allowing us to transition non-ISA DMA drivers away.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: factor out code looking up the DMA channelRussell King2008-12-08
| | | | | | | | | | | | | | | | | | | | | This is a preparitory patch to allow us to easily change the way we add and lookup DMA channel structures. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] dma: remove dmach_t typedefRussell King2008-12-08
| | | | | | | | | | | | | | | | | | Remove a pointless integer typedef. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5399/1: [AT91] Configure MCLK and SSC for AT91SAMG20-EKMark Brown2009-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | The AT91SAM20-EK has a WM8731 attached to it with MCLK supplied from PCLK0 and the digital audio interface supplied by SSC0. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5408/1: SA1100: update defconfigs after h3800 removalDmitry Artamonow2009-02-21
| | | | | | | | | | | | | | | Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5407/1: SA1100: drop broken for ages iPAQ h3800 supportDmitry Artamonow2009-02-21
| | | | | | | | | | | | | | | | | | | | | | | | Code has never been in buildable state since initial merge. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5406/1: ep93xx: remove unneeded header in ohci-ep93xx.cHartley Sweeten2009-02-21
| | | | | | | | | | | | | | | | | | | | | Remove the unneeded #include <mach/hardware.h> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5397/1: RealView: Add support for the ISP1761 USB chipCatalin Marinas2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds the platform_device and resource structures for the USB ISP1761 chip, usable with the in-kernel isp1760 driver. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5396/1: RealView: Use PATA_PLATFORM to access the CompactFlashCatalin Marinas2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver adds the platform_device definitions to allow the use of CompactFlash on the RealView PB11MPCore and PB-A8 platforms. Note that the CompactFlash controller is expected to be initialised by the Boot Monitor and support the True IDE mode. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5395/1: RealView: Add support for the DS1338 RTC chipCatalin Marinas2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This chip is on the I2C bus on the RealView and Versatile boards. The patch adds the i2c_board_info definition for this device and registers it with the I2C subsystem. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5394/1: Add static bus numbering support to i2c-versatileCatalin Marinas2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If dev->id is not -1, the platform code may use static bus numbering rather than dynamic. The patch also changes the i2c_versatile_init to a subsys_initcall rather than module_init to make sure it is initialised before the I2C devices initialisation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5363/1: Shark cleanup and new defconfigAlexander Schulz2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This includes a new defconfig for the Shark and some changes to the mach-shark directory to avoid namespace pollution and to switch the rtc to the newer driver. Signed-off-by: Alexander Schulz <alex@shark-linux.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>