summaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] pxa: add GPIO support for pxa168Eric Miao2009-03-233-0/+57
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add iWMMXt support for pxa168Eric Miao2009-03-232-2/+3
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add base support for Marvell's PXA168 processor lineEric Miao2009-03-2340-2/+1669
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | """The Marvell® PXA168 processor is the first in a family of application processors targeted at mass market opportunities in computing and consumer devices. It balances high computing and multimedia performance with low power consumption to support extended battery life, and includes a wealth of integrated peripherals to reduce overall BOM cost .... """ See http://www.marvell.com/featured/pxa168.jsp for more information. 1. Marvell Mohawk core is a hybrid of xscale3 and its own ARM core, there are many enhancements like instructions for flushing the whole D-cache, and so on 2. Clock reuses Russell's common clkdev, and added the basic support for UART1/2. 3. Devices are a bit different from the 'mach-pxa' way, the platform devices are now dynamically allocated only when necessary (i.e. when pxa_register_device() is called). Description for each device are stored in an array of 'struct pxa_device_desc'. Now that: a. this array of device description is marked with __initdata and can be freed up system is fully up b. which means board code has to add all needed devices early in his initializing function c. platform specific data can now be marked as __initdata since they are allocated and copied by platform_device_add_data() 4. only the basic UART1/2/3 are added, more devices will come later. Signed-off-by: Jason Chagas <chagas@marvell.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move common MFP handling code into plat-pxaEric Miao2009-03-2314-317/+680
| | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: move common GPIO handling code into plat-pxaEric Miao2009-03-235-61/+66
| | | | | | | | | | | | | | | | | | | | | | 1. add common GPIO handling code into [arch/arm/plat-pxa] 2. common code in <mach/gpio.h> moved into <plat/gpio.h>, new processors should implement its own <mach/gpio.h>, provide the following required definitions and '#include <plat/gpio.h>' in the end: - GPIO_REGS_VIRT for mapped virtual address of the GPIO registers' physical I/O memory - macros of GPLR(), GPSR(), GPDR() for constant optimization for functions gpio_{set,get}_value() (so that bit-bang code can still have tolerable performance) - NR_BUILTIN_GPIO for the number of onchip GPIO - definitions of __gpio_is_inverted() and __gpio_is_occupied(), they can be either macros or inlined functions Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: introduce plat-pxa for PXA common code and add DMA supportEric Miao2009-03-238-86/+105
| | | | | | | | | | | | | | | | 1. introduce folder of 'arch/arm/plat-pxa' for common code across different PXA processor families 2. initially moved DMA code into plat-pxa 3. common code in <mach/dma.h> moved into <plat/dma.h>, new processors should implement its own <mach/dma.h>, provide the following required definitions and '#include <plat/dma.h>' in the end: - DMAC_REGS_VIRT for mapped virtual address of the DMA registers' physical I/O memory Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: AC97 pin functions for Colibri PXA310/320Daniel Mack2009-03-232-0/+44
| | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: Add Colibri LCD functionsDaniel Mack2009-03-234-0/+131
| | | | | | | | | This adds LCD functions for Colibri PXA300 and Colibri PXA320 and configures a LQ043T3DX02 panel. Original-code-by: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: Colibri PXA320 module basicsDaniel Mack2009-03-233-0/+134
| | | | | | | | | | This adds basic support for Colibri PXA320 modules. The file colibri-320.c only contains settings specific to this module, such as the Ethernet interface. Cc: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: Refactor Colibri board support codeDaniel Mack2009-03-235-94/+119
| | | | | | | | | | | | | | | - Move common function for all Colibri PXA3xx boards to the newly added colibri-pxa3xx.c - Drop some unnecessary defines from colibri.h - Make Kconfig reflect the fact that code for colibri 300 module does also work for the 310 model - Give up on the huge pin config table which was messed up with lots of #ifdefs and switch over to locally defined tables for configured functions Cc: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: Fix Colibri AX88796 configurationDaniel Mack2009-03-231-10/+2
| | | | | | | | | Broaden the AX88796 register mask to allow access to the reset register. Remove unnecessary value definitions and the second resource block. Diagnosed-by: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add colibri PXA300 defconfigDaniel Mack2009-03-231-0/+1156
| | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: rename and update Colibri PXA270 defconfigDaniel Mack2009-03-231-169/+425
| | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add USB support for Colibri PXA300Daniel Mack2009-03-231-0/+21
| | | | | | | | This adds support for USB OHCI for Toradex' Colibri PXA300 modules as connected on the evaluation board. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add MMC support for Colibri PXA300Daniel Mack2009-03-231-0/+58
| | | | | | | Added MMC support for Toradex' Colibri PXA300 module. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: add basic support for Colibri PXA300 moduleDaniel Mack2009-03-234-0/+122
| | | | | | | | This patch add basic support for Toradex' Colibri PXA300 module. Ethernet is enabled conditionally, depdending on CONFIG_AX88796. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* [ARM] pxa: rename colibri.c to colibri-pxa270.cDaniel Mack2009-03-234-34/+37
| | | | | | | | Namespace cleanup: rename colibri.c to colibri-pxa270.c and change some names in colibri.h. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* Merge branch 'fix' of ↵Eric Miao2009-03-238-7/+9
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git into devel
| * [ARM] pxa: add pxa320 missing pin function for CS2 on GPIO3Daniel Mack2009-03-231-0/+1
| | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: make second argument of clk_add_alias a name instead of the deviceDmitry Eremin-Solenikov2009-03-196-7/+7
| | | | | | | | | | | | | | | | | | | | clk_add_alias is commonly called for platform devices that are not yet registered in the device tree. Thus the clock alias is associated with NULL device name. Fix this by passing the device name instead of just device pointer. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: add missing pin function for CS2 on GPIO1Daniel Mack2009-03-191-0/+1
| | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa/MioA701: Migrate after pxa27x_udc gpio_pullup functionality.Robert Jarzmik2009-03-131-33/+2
| | | | | | | | | | Signed-off-by: Robert Jarzmik <rjarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa/MioA701: add gpio_vbus driverRobert Jarzmik2009-03-131-1/+10
| | | | | | | | | | | | | | | | Add gpio vbus detection to udc driver, by taking advantage of the new gpio_vbus driver. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: add support for CSB701 baseboardDmitry Eremin-Solenikov2009-03-133-0/+66
| | | | | | | | | | | | | | | | | | CSB701 is one of baseboards that can be used with CSB726 SOM. This currently adds support for button and LED on the board. More to come later. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: add initial support for Cogent CSB726 boardDmitry Eremin-Solenikov2009-03-135-1/+355
| | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: fix typo in BANK_OFF() macro in gpio.hEric Miao2009-03-131-1/+1
| | | | | | | | | | | | | | | | | | The typo was originally fixed by Mike Rapoport and missed. And is later reported by Matthias Meier. Signed-off-by: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: add DM9000_PLATF_NO_EEPROM flag to CM-X... platformsMike Rapoport2009-03-092-2/+2
| | | | | | | | | | 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-0918-97/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-093-12/+20
| | | | | | | | | | | | | | | | 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-094-11/+20
| | | | | | | | | | | | | | | | 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-092-39/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-094-5/+0
| | | | | | | | | | | | | | 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: access GPIO registers by chip so to make it further genericEric Miao2009-03-093-170/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-093-4/+6
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: move GPIO register definitions into <mach/gpio.h>Eric Miao2009-03-099-87/+83
| | | | | | | | | | | | | | | | 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-092-31/+31
| | | | | | | | | | | | | | | | 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-097-98/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-093-61/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-095-6/+6
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usageEric Miao2009-03-0963-159/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-2/+0
| | | | | | | | | | 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-091-1/+1
| | | | | | | | | | | | | | 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-091-2/+4
| | | | | | | | | | | | | | 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-092-0/+2
| | | | | | | | | | 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-091-1/+1
| | | | | | | | | | | | | | 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-09221-2808/+6327
|\ \ | | | | | | | | | devel
| * | [ARM] 5414/2: ep93xx m2p dma coreRyan Mallon2009-03-034-2/+463
| | | | | | | | | | | | | | | | | | | | | | | | 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-271-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | 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-274-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-219-219/+283
| |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/plat-mxc/dma-mx1-mx2.c
OpenPOWER on IntegriCloud