]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
15 years agoMerge git://git.marvell.com/orion into devel
Russell King [Wed, 25 Mar 2009 10:00:08 +0000 (10:00 +0000)]
Merge git://git.marvell.com/orion into devel

15 years agoMerge branch 'highmem' into devel
Russell King [Tue, 24 Mar 2009 22:47:45 +0000 (22:47 +0000)]
Merge branch 'highmem' into devel

15 years agoMerge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa...
root [Tue, 24 Mar 2009 22:04:25 +0000 (22:04 +0000)]
Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel

15 years ago[ARM] Kirkwood: fail the probe if internal RTC does not work
Nicolas Pitre [Tue, 24 Mar 2009 00:42:29 +0000 (20:42 -0400)]
[ARM] Kirkwood: fail the probe if internal RTC does not work

Having a RTC that doesn't maintain proper time across a reboot is one
thing.  But a RTC that doesn't work at all and only causes timeouts is
another.

Tested-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] orion5x: update of FPGA ID's for the TS-78xx
Alexander Clouter [Sat, 21 Mar 2009 11:09:25 +0000 (11:09 +0000)]
[ARM] orion5x: update of FPGA ID's for the TS-78xx

Received official word finally from Technological Systems on which
FPGA ID's they have released unto the world.  Also an additional of
a dummy entry matching the FPGA ID of the Verilog template on our
wiki.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: Add support for QNAP TS-119/TS-219 Turbo NAS
Martin Michlmayr [Sun, 22 Mar 2009 14:22:11 +0000 (15:22 +0100)]
[ARM] Kirkwood: Add support for QNAP TS-119/TS-219 Turbo NAS

Add support for the QNAP TS-119 and TS-219 Turbo NAS devices.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] update mach-types
Nicolas Pitre [Mon, 23 Mar 2009 20:10:36 +0000 (16:10 -0400)]
[ARM] update mach-types

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: More consistency regarding MPP naming
Martin Michlmayr [Sun, 22 Mar 2009 14:21:25 +0000 (15:21 +0100)]
[ARM] Kirkwood: More consistency regarding MPP naming

With the exception of UART0, all MPP names are uppercase.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: Hook up I2C
Martin Michlmayr [Mon, 23 Mar 2009 18:13:21 +0000 (19:13 +0100)]
[ARM] Kirkwood: Hook up I2C

Hook up I2C on Marvell Kirkwood.  Tested on a QNAP TS-219 which has
RTC connected through I2C.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years agoMAINTAINERS: update pxa910 maintainers
Eric Miao [Fri, 20 Mar 2009 04:52:24 +0000 (12:52 +0800)]
MAINTAINERS: update pxa910 maintainers

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years agoMAINTAINERS: update pxa168 maintainers
Eric Miao [Thu, 19 Feb 2009 13:13:21 +0000 (21:13 +0800)]
MAINTAINERS: update pxa168 maintainers

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Jason Chagas <jason.chagas@marvell.com>
15 years ago[ARM] pxa: add defconfig for pxa910-based platforms
Eric Miao [Fri, 20 Mar 2009 06:55:11 +0000 (14:55 +0800)]
[ARM] pxa: add defconfig for pxa910-based platforms

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add defconfig for pxa168-based platforms
Eric Miao [Thu, 19 Feb 2009 09:35:31 +0000 (17:35 +0800)]
[ARM] pxa: add defconfig for pxa168-based platforms

Instead of having various pieces of defconfig files for different
platforms, let's group them into a single one.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add base support for pxa910-based TTC_DKB
Eric Miao [Fri, 20 Mar 2009 05:33:49 +0000 (13:33 +0800)]
[ARM] pxa: add base support for pxa910-based TTC_DKB

Signed-off-by: Bin Yang <bin.yang@marvell.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add base support for pxa910-based TavorEVB
Eric Miao [Fri, 20 Mar 2009 05:27:30 +0000 (13:27 +0800)]
[ARM] pxa: add base support for pxa910-based TavorEVB

Signed-off-by: Bin Yang <bin.yang@marvell.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add base support for Marvell PXA910
Eric Miao [Fri, 20 Mar 2009 04:50:22 +0000 (12:50 +0800)]
[ARM] pxa: add base support for Marvell PXA910

Signed-off-by: Bin Yang <bin.yang@marvell.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa/aspenite: add support for debug ethernet
Eric Miao [Wed, 18 Feb 2009 08:38:22 +0000 (16:38 +0800)]
[ARM] pxa/aspenite: add support for debug ethernet

Signed-off-by: Zhangfei Gao <zhangfei.gao@marvell.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa/aspenite: add support for console uart
Eric Miao [Tue, 10 Feb 2009 02:35:25 +0000 (10:35 +0800)]
[ARM] pxa/aspenite: add support for console uart

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: allow reuse of serial driver for pxa168
Eric Miao [Thu, 5 Feb 2009 05:42:47 +0000 (13:42 +0800)]
[ARM] pxa: allow reuse of serial driver for pxa168

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add MFP support for pxa168
Eric Miao [Tue, 20 Jan 2009 09:20:56 +0000 (17:20 +0800)]
[ARM] pxa: add MFP support for pxa168

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add GPIO support for pxa168
Eric Miao [Tue, 20 Jan 2009 06:38:24 +0000 (14:38 +0800)]
[ARM] pxa: add GPIO support for pxa168

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add iWMMXt support for pxa168
Eric Miao [Thu, 26 Feb 2009 01:34:35 +0000 (09:34 +0800)]
[ARM] pxa: add iWMMXt support for pxa168

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add base support for Marvell's PXA168 processor line
Eric Miao [Tue, 20 Jan 2009 06:15:18 +0000 (14:15 +0800)]
[ARM] pxa: add base support for Marvell's PXA168 processor line

"""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>
15 years ago[ARM] pxa: move common MFP handling code into plat-pxa
Eric Miao [Thu, 15 Jan 2009 08:42:56 +0000 (16:42 +0800)]
[ARM] pxa: move common MFP handling code into plat-pxa

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: move common GPIO handling code into plat-pxa
Eric Miao [Tue, 20 Jan 2009 04:09:06 +0000 (12:09 +0800)]
[ARM] pxa: move common GPIO handling code into plat-pxa

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>
15 years ago[ARM] pxa: introduce plat-pxa for PXA common code and add DMA support
Eric Miao [Tue, 20 Jan 2009 04:06:01 +0000 (12:06 +0800)]
[ARM] pxa: introduce plat-pxa for PXA common code and add DMA support

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>
15 years ago[ARM] pxa: AC97 pin functions for Colibri PXA310/320
Daniel Mack [Mon, 23 Mar 2009 01:04:20 +0000 (02:04 +0100)]
[ARM] pxa: AC97 pin functions for Colibri PXA310/320

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>
15 years ago[ARM] pxa: Add Colibri LCD functions
Daniel Mack [Mon, 23 Mar 2009 01:04:19 +0000 (02:04 +0100)]
[ARM] pxa: Add Colibri LCD functions

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>
15 years ago[ARM] pxa: Colibri PXA320 module basics
Daniel Mack [Mon, 23 Mar 2009 01:04:18 +0000 (02:04 +0100)]
[ARM] pxa: Colibri PXA320 module basics

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>
15 years ago[ARM] pxa: Refactor Colibri board support code
Daniel Mack [Mon, 23 Mar 2009 01:04:17 +0000 (02:04 +0100)]
[ARM] pxa: Refactor Colibri board support code

- 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>
15 years ago[ARM] pxa: Fix Colibri AX88796 configuration
Daniel Mack [Mon, 23 Mar 2009 01:04:16 +0000 (02:04 +0100)]
[ARM] pxa: Fix Colibri AX88796 configuration

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>
15 years ago[ARM] pxa: add colibri PXA300 defconfig
Daniel Mack [Fri, 13 Mar 2009 15:37:13 +0000 (16:37 +0100)]
[ARM] pxa: add colibri PXA300 defconfig

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: rename and update Colibri PXA270 defconfig
Daniel Mack [Fri, 13 Mar 2009 15:37:12 +0000 (16:37 +0100)]
[ARM] pxa: rename and update Colibri PXA270 defconfig

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: add USB support for Colibri PXA300
Daniel Mack [Fri, 13 Mar 2009 15:37:11 +0000 (16:37 +0100)]
[ARM] pxa: add USB support for Colibri PXA300

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>
15 years ago[ARM] pxa: add MMC support for Colibri PXA300
Daniel Mack [Fri, 13 Mar 2009 15:37:10 +0000 (16:37 +0100)]
[ARM] pxa: add MMC support for Colibri PXA300

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>
15 years ago[ARM] pxa: add basic support for Colibri PXA300 module
Daniel Mack [Fri, 13 Mar 2009 15:37:09 +0000 (16:37 +0100)]
[ARM] pxa: add basic support for Colibri PXA300 module

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>
15 years ago[ARM] pxa: rename colibri.c to colibri-pxa270.c
Daniel Mack [Fri, 13 Mar 2009 15:37:08 +0000 (16:37 +0100)]
[ARM] pxa: rename colibri.c to colibri-pxa270.c

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>
15 years agoMerge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux...
Eric Miao [Mon, 23 Mar 2009 01:55:09 +0000 (09:55 +0800)]
Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git into devel

15 years ago[ARM] pxa: add pxa320 missing pin function for CS2 on GPIO3
Daniel Mack [Thu, 19 Mar 2009 14:45:19 +0000 (15:45 +0100)]
[ARM] pxa: add pxa320 missing pin function for CS2 on GPIO3

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years agoMerge branch 'master' of git://git.marvell.com/orion into devel
Russell King [Thu, 19 Mar 2009 23:10:40 +0000 (23:10 +0000)]
Merge branch 'master' of git://git.marvell.com/orion into devel

Conflicts:

arch/arm/mach-mx1/devices.c

15 years ago[ARM] pass reboot command line to arch_reset()
Russell King [Thu, 19 Mar 2009 16:20:24 +0000 (16:20 +0000)]
[ARM] pass reboot command line to arch_reset()

OMAP wishes to pass state to the boot loader upon reboot in order to
instruct it whether to wait for USB-based reflashing or not.  There is
already a facility to do this via the reboot() syscall, except we ignore
the string passed to machine_restart().

This patch fixes things to pass this string to arch_reset().  This means
that we keep the reboot mode limited to telling the kernel _how_ to
perform the reboot which should be independent of what we request the
boot loader to do.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years agoMerge branch 'omap-clks3' into devel
Russell King [Thu, 19 Mar 2009 12:39:58 +0000 (12:39 +0000)]
Merge branch 'omap-clks3' into devel

Conflicts:

arch/arm/mach-omap2/clock.c

15 years ago[ARM] pxa: fix overlay being un-necessarily initialized on pxa25x
Eric Miao [Thu, 19 Mar 2009 07:24:30 +0000 (15:24 +0800)]
[ARM] pxa: fix overlay being un-necessarily initialized on pxa25x

pxa25x doesn't support overlay in its LCD controller, this patch adds
pxafb_overlay_supported() functions to check the initialization is
necessary.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years ago[ARM] pxa: make second argument of clk_add_alias a name instead of the device
Dmitry Eremin-Solenikov [Thu, 5 Mar 2009 15:17:53 +0000 (18:17 +0300)]
[ARM] pxa: make second argument of clk_add_alias a name instead of the device

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>
15 years ago[ARM] pxa: add missing pin function for CS2 on GPIO1
Daniel Mack [Fri, 13 Mar 2009 14:17:32 +0000 (15:17 +0100)]
[ARM] pxa: add missing pin function for CS2 on GPIO1

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
15 years agoMerge branch 'for-russell' of git://git.kernel.org/pub/scm/linux/kernel/git/chris...
Russell King [Tue, 17 Mar 2009 23:51:52 +0000 (23:51 +0000)]
Merge branch 'for-russell' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel

15 years agoIXP4xx: PCI ixp4xx_scan_bus() is __devinit.
Krzysztof Hałasa [Tue, 17 Mar 2009 13:39:30 +0000 (14:39 +0100)]
IXP4xx: PCI ixp4xx_scan_bus() is __devinit.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoIXP4xx: cpu_is_ixp4*() now recognizes all IXP4xx processors.
Krzysztof Hałasa [Tue, 17 Mar 2009 12:51:52 +0000 (13:51 +0100)]
IXP4xx: cpu_is_ixp4*() now recognizes all IXP4xx processors.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoIXP4xx: add Ethernet and NPE support for IXP43x CPU.
Krzysztof Hałasa [Fri, 13 Mar 2009 18:09:00 +0000 (19:09 +0100)]
IXP4xx: add Ethernet and NPE support for IXP43x CPU.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoIXP4xx: workaround for PCI prefetch problems near 64 MB boundary.
Krzysztof Hałasa [Fri, 13 Mar 2009 16:57:04 +0000 (17:57 +0100)]
IXP4xx: workaround for PCI prefetch problems near 64 MB boundary.

Map unused registers at the end of DMA region at 64 MB to allow PCI masters
to cross the boundary when prefetching data from SDRAM.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoMerge branch 'imx-fb-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async...
Russell King [Mon, 16 Mar 2009 22:28:04 +0000 (22:28 +0000)]
Merge branch 'imx-fb-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into devel

Conflicts:

drivers/video/mx3fb.c

15 years ago[ARM] mv78xx0: Add Marvell RD-78x00-mASA Reference Design support
Lennert Buytenhek [Thu, 12 Mar 2009 08:48:37 +0000 (09:48 +0100)]
[ARM] mv78xx0: Add Marvell RD-78x00-mASA Reference Design support

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Stanislav Samsonov <samsonov@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: update defconfig
Nicolas Pitre [Wed, 4 Mar 2009 03:19:03 +0000 (22:19 -0500)]
[ARM] Kirkwood: update defconfig

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: SheevaPlug LED support
Nicolas Pitre [Tue, 3 Mar 2009 06:16:07 +0000 (01:16 -0500)]
[ARM] Kirkwood: SheevaPlug LED support

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: SheevaPlug USB Power Enable setup
Nicolas Pitre [Tue, 3 Mar 2009 04:44:41 +0000 (23:44 -0500)]
[ARM] Kirkwood: SheevaPlug USB Power Enable setup

Ideally, the default should be set to 0 and let the EHCI driver turn
it on as needed.  This makes USB usable in the mean time.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Kirkwood: Marvell SheevaPlug support
Shadi Ammouri [Tue, 24 Feb 2009 20:26:23 +0000 (15:26 -0500)]
[ARM] Kirkwood: Marvell SheevaPlug support

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years agoMerge commit '305b07680f' into orion/master
Nicolas Pitre [Mon, 16 Mar 2009 01:41:23 +0000 (21:41 -0400)]
Merge commit '305b07680f' into orion/master

15 years ago[ARM] add CONFIG_HIGHMEM option
Nicolas Pitre [Fri, 19 Sep 2008 04:36:12 +0000 (00:36 -0400)]
[ARM] add CONFIG_HIGHMEM option

Here it is... HIGHMEM for the ARM architecture.  :-)

If you don't have enough ram for highmem pages to be allocated and still
want to test this, then the cmdline option "vmalloc=" can be used with
a value large enough to force the highmem threshold down.

Successfully tested on a Marvell DB-78x00-BP Development Board with
2 GB of RAM.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] ignore high memory with VIPT aliasing caches
Nicolas Pitre [Tue, 4 Nov 2008 05:48:42 +0000 (00:48 -0500)]
[ARM] ignore high memory with VIPT aliasing caches

VIPT aliasing caches have issues of their own which are not yet handled.
Usage of discard_old_kernel_data() in copypage-v6.c is not highmem ready,
kmap/fixmap stuff doesn't take account of cache colouring, etc.
If/when those issues are handled then this could be reverted.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] xsc3: add highmem support to L2 cache handling code
Nicolas Pitre [Fri, 19 Sep 2008 02:55:47 +0000 (22:55 -0400)]
[ARM] xsc3: add highmem support to L2 cache handling code

On xsc3, L2 cache ops are possible only on virtual addresses.  The code
is rearranged so to have a linear progression requiring the least amount
of pte setups in the highmem case.  To protect the virtual mapping so
created, interrupts must be disabled currently up to a page worth of
address range.

The interrupt disabling is done in a way to minimize the overhead within
the inner loop.  The alternative would consist in separate code for
the highmem and non highmem compilation which is less preferable.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] Feroceon: add highmem support to L2 cache handling code
Nicolas Pitre [Fri, 12 Sep 2008 20:11:51 +0000 (16:11 -0400)]
[ARM] Feroceon: add highmem support to L2 cache handling code

The choice is between looping over the physical range and performing
single cache line operations, or to map highmem pages somewhere, as
cache range ops are possible only on virtual addresses.

Because L2 range ops are much faster, we go with the later by factoring
the physical-to-virtual address conversion and use a fixmap entry for it
in the HIGHMEM case.

Possible future optimizations to avoid the pte setup cost:

 - do the pte setup for highmem pages only

 - determine a threshold for doing a line-by-line processing on physical
   addresses when the range is small

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] make page_to_dma() highmem aware
Nicolas Pitre [Tue, 9 Sep 2008 19:54:13 +0000 (15:54 -0400)]
[ARM] make page_to_dma() highmem aware

If a machine class has a custom __virt_to_bus() implementation then it
must provide a __arch_page_to_dma() implementation as well which is
_not_ based on page_address() to support highmem.

This patch fixes existing __arch_page_to_dma() and provide a default
implementation otherwise.  The default implementation for highmem is
based on __pfn_to_bus() which is defined only when no custom
__virt_to_bus() is provided by the machine class.

That leaves only ebsa110 and footbridge which cannot support highmem
until they provide their own __arch_page_to_dma() implementation.
But highmem support on those legacy platforms with limited memory is
certainly not a priority.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] introduce dma_cache_maint_page()
Nicolas Pitre [Fri, 13 Mar 2009 02:52:09 +0000 (22:52 -0400)]
[ARM] introduce dma_cache_maint_page()

This is a helper to be used by the DMA mapping API to handle cache
maintenance for memory identified by a page structure instead of a
virtual address.  Those pages may or may not be highmem pages, and
when they're highmem pages, they may or may not be virtually mapped.
When they're not mapped then there is no L1 cache to worry about. But
even in that case the L2 cache must be processed since unmapped highmem
pages can still be L2 cached.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years agohighmem: atomic highmem kmap page pinning
Nicolas Pitre [Thu, 5 Mar 2009 03:49:41 +0000 (22:49 -0500)]
highmem: atomic highmem kmap page pinning

Most ARM machines have a non IO coherent cache, meaning that the
dma_map_*() set of functions must clean and/or invalidate the affected
memory manually before DMA occurs.  And because the majority of those
machines have a VIVT cache, the cache maintenance operations must be
performed using virtual
addresses.

When a highmem page is kunmap'd, its mapping (and cache) remains in place
in case it is kmap'd again. However if dma_map_page() is then called with
such a page, some cache maintenance on the remaining mapping must be
performed. In that case, page_address(page) is non null and we can use
that to synchronize the cache.

It is unlikely but still possible for kmap() to race and recycle the
virtual address obtained above, and use it for another page before some
on-going cache invalidation loop in dma_map_page() is done. In that case,
the new mapping could end up with dirty cache lines for another page,
and the unsuspecting cache invalidation loop in dma_map_page() might
simply discard those dirty cache lines resulting in data loss.

For example, let's consider this sequence of events:

- dma_map_page(..., DMA_FROM_DEVICE) is called on a highmem page.

--> - vaddr = page_address(page) is non null. In this case
it is likely that the page has valid cache lines
associated with vaddr. Remember that the cache is VIVT.

--> for (i = vaddr; i < vaddr + PAGE_SIZE; i += 32)
invalidate_cache_line(i);

*** preemption occurs in the middle of the loop above ***

- kmap_high() is called for a different page.

--> - last_pkmap_nr wraps to zero and flush_all_zero_pkmaps()
  is called.  The pkmap_count value for the page passed
  to dma_map_page() above happens to be 1, so the page
  is unmapped.  But prior to that, flush_cache_kmaps()
  cleared the cache for it.  So far so good.

- A fresh pkmap entry is assigned for this kmap request.
  The Murphy law says this pkmap entry will eventually
  happen to use the same vaddr as the one which used to
  belong to the other page being processed by
  dma_map_page() in the preempted thread above.

- The kmap_high() caller start dirtying the cache using the
  just assigned virtual mapping for its page.

*** the first thread is rescheduled ***

- The for(...) loop is resumed, but now cached
  data belonging to a different physical page is
  being discarded !

And this is not only a preemption issue as ARM can be SMP as well,
making the above scenario just as likely. Hence the need for some kind
of pkmap page pinning which can be used in any context, primarily for
the benefit of dma_map_page() on ARM.

This provides the necessary interface to cope with the above issue if
ARCH_NEEDS_KMAP_HIGH_GET is defined, otherwise the resulting code is
unchanged.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Reviewed-by: MinChan Kim <minchan.kim@gmail.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
15 years ago[ARM] mem_init(): make highmem pages available for use
Nicolas Pitre [Wed, 17 Sep 2008 19:21:55 +0000 (15:21 -0400)]
[ARM] mem_init(): make highmem pages available for use

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] kmap support
Nicolas Pitre [Mon, 15 Sep 2008 20:44:55 +0000 (16:44 -0400)]
[ARM] kmap support

The kmap virtual area borrows a 2MB range at the top of the 16MB area
below PAGE_OFFSET currently reserved for kernel modules and/or the
XIP kernel.  This 2MB corresponds to the range covered by 2 consecutive
second-level page tables, or a single pmd entry as seen by the Linux
page table abstraction.  Because XIP kernels are unlikely to be seen
on systems needing highmem support, there shouldn't be any shortage of
VM space for modules (14 MB for modules is still way more than twice the
typical usage).

Because the virtual mapping of highmem pages can go away at any moment
after kunmap() is called on them, we need to bypass the delayed cache
flushing provided by flush_dcache_page() in that case.

The atomic kmap versions are based on fixmaps, and
__cpuc_flush_dcache_page() is used directly in that case.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] fixmap support
Nicolas Pitre [Tue, 16 Sep 2008 17:05:53 +0000 (13:05 -0400)]
[ARM] fixmap support

This is the minimum fixmap interface expected to be implemented by
architectures supporting highmem.

We have a second level page table already allocated and covering
0xfff00000-0xffffffff because the exception vector page is located
at 0xffff0000, and various cache tricks already use some entries above
0xffff0000.  Therefore the PTEs covering 0xfff00000-0xfffeffff are free
to be used.

However the XScale cache flushing code already uses virtual addresses
between 0xfffe0000 and 0xfffeffff.

So this reserves the 0xfff00000-0xfffdffff range for fixmap stuff.

The Documentation/arm/memory.txt information is updated accordingly,
including the information about the actual top of DMA memory mapping
region which didn't match the code.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
15 years ago[ARM] 5427/1: h3600: ipaq_model_ops final cleanup
Dmitry Artamonow [Sun, 15 Mar 2009 18:14:27 +0000 (19:14 +0100)]
[ARM] 5427/1: h3600: ipaq_model_ops final cleanup

Since now ipaq_model_ops used only for accessing h3600 EGPIOs,
drop it completely and use assign_h3600_egpio() directly.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years ago[ARM] 5426/1: h3600: remove clr_h3600_egpio/set_h3600_egpio helpers
Dmitry Artamonow [Sun, 15 Mar 2009 18:13:16 +0000 (19:13 +0100)]
[ARM] 5426/1: h3600: remove clr_h3600_egpio/set_h3600_egpio helpers

Replace all occurences with assign_h3600_egpio.
Also simplify code a bit by replacing couple of if-else
statements with one-line equivalents.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years ago[ARM] 5425/1: h3600: first stage of ipaq_model_ops cleanup
Dmitry Artamonow [Sun, 15 Mar 2009 18:11:21 +0000 (19:11 +0100)]
[ARM] 5425/1: h3600: first stage of ipaq_model_ops cleanup

Remove unused fields and associated funtions-accesors.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years ago[ARM] 5424/1: h3600: clean up mtd partitions table
Dmitry Artamonow [Sun, 15 Mar 2009 18:09:50 +0000 (19:09 +0100)]
[ARM] 5424/1: h3600: clean up mtd partitions table

Right now iPaq h3600's default MTD partitions table is a mess. It has
two #ifdefs with #else, giving total 3 variants, depending on your
kernel config. Replace all this with simple two-partitions scheme
(bootloader + rootfs), that used by both shipped WindowsCE and
most of the linux distributions (Familiar, Angstrom)

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years ago[ARM] 5423/1: SA1100: remove unused H3600_SLEEVE Kconfig option
Dmitry Artamonow [Sun, 15 Mar 2009 18:04:56 +0000 (19:04 +0100)]
[ARM] 5423/1: SA1100: remove unused H3600_SLEEVE Kconfig option

There's no actual code for iPAQ sleeves support in kernel that depends
on this config option.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years agoMerge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa...
Russell King [Sun, 15 Mar 2009 10:10:13 +0000 (10:10 +0000)]
Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel

15 years agoMerge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel
Russell King [Fri, 13 Mar 2009 21:44:51 +0000 (21:44 +0000)]
Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel

Conflicts:

arch/arm/mach-at91/gpio.c

15 years agoqong: basic support for Dave/DENX QongEVB-LITE board
Ilya Yanok [Wed, 11 Mar 2009 00:22:00 +0000 (03:22 +0300)]
qong: basic support for Dave/DENX QongEVB-LITE board

This patch adds basic support for Dave/DENX QongEVB-LITE i.MX31-based
board. It includes support for clocks initialization, UART1, NOR-flash,
FPGA-attached NAND flash and DNET ethernet controller (inside FPGA).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agopcm970 baseboard: Add SDHC support
Sascha Hauer [Fri, 19 Dec 2008 13:32:07 +0000 (14:32 +0100)]
pcm970 baseboard: Add SDHC support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agopcm037: Add sdhc support
Sascha Hauer [Tue, 11 Nov 2008 14:03:28 +0000 (15:03 +0100)]
pcm037: Add sdhc support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoMX31: Add sdhc resources/platform devices
Sascha Hauer [Fri, 19 Dec 2008 13:32:06 +0000 (14:32 +0100)]
MX31: Add sdhc resources/platform devices

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoMX2: Add SDHC platform_devices and resources
Sascha Hauer [Fri, 19 Dec 2008 13:32:07 +0000 (14:32 +0100)]
MX2: Add SDHC platform_devices and resources

Signed-of-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoMX2/MX3 SDHC driver: rename platform driver
Sascha Hauer [Mon, 23 Feb 2009 12:08:06 +0000 (13:08 +0100)]
MX2/MX3 SDHC driver: rename platform driver

Rename driver from imx-mmc to mxc-mmc to avoid conflicts with the
mx1 mmc driver.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agomxcmmc: Do not pass clock name, we have only one clock for this device
Sascha Hauer [Mon, 23 Feb 2009 12:33:31 +0000 (13:33 +0100)]
mxcmmc: Do not pass clock name, we have only one clock for this device

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoUse __force in IO_ADDRESS macro to silence sparse
Sascha Hauer [Thu, 19 Feb 2009 11:48:35 +0000 (12:48 +0100)]
Use __force in IO_ADDRESS macro to silence sparse

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoMX31 clkdev support
Sascha Hauer [Wed, 18 Feb 2009 10:55:33 +0000 (11:55 +0100)]
MX31 clkdev support

This patch adds clkdev support for i.MX31. This is done in a
similar way done previously for i.MX27

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] pcm038: Fix pins for UART3
Sascha Hauer [Mon, 9 Feb 2009 10:00:03 +0000 (11:00 +0100)]
[ARM] pcm038: Fix pins for UART3

The UART3 had a copy-paste bug. instead of claiming rxd, txd, rts and
cts pins, cts and rts were claimed twice

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MX31: Move static virtual mappings of AIPS1/2 to common file
Sascha Hauer [Fri, 6 Feb 2009 17:15:06 +0000 (18:15 +0100)]
[ARM] MX31: Move static virtual mappings of AIPS1/2 to common file

On MX31 we can't do much without mapping the AIPS1/2 register space.
Move these mappings from individual boards to plat-mxc/mm.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MX31/MX35: Add l2x0 cache support
Sascha Hauer [Sun, 8 Feb 2009 01:00:50 +0000 (02:00 +0100)]
[ARM] MX31/MX35: Add l2x0 cache support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MX35 devices support
Sascha Hauer [Fri, 6 Feb 2009 14:38:51 +0000 (15:38 +0100)]
[ARM] MX35 devices support

The i.MX35 basically features the same peripherals as the i.MX31 with
some differences:

- The i.MX35 has a FEC ethernet controller
- The NAND controller base addresses are different
- The i.MX35 has only 3 UARTs

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MX35: add clock support
Sascha Hauer [Fri, 6 Feb 2009 16:48:59 +0000 (17:48 +0100)]
[ARM] MX35: add clock support

This patch adds clock support for i.MX35 SoCs. We do not support setting
of clock rates yet, but most interesting clock rates should be reported.
I couldn't test all clock rates and the datasheet contains some obvious
bugs, so expect some bugs in this code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] add i.MX35 build support
Sascha Hauer [Fri, 6 Feb 2009 14:41:45 +0000 (15:41 +0100)]
[ARM] add i.MX35 build support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MXC: add cpu_is_ macros
Sascha Hauer [Fri, 6 Feb 2009 14:38:22 +0000 (15:38 +0100)]
[ARM] MXC: add cpu_is_ macros

We had hardcoded cpu_is_ macros for mxc architectures till now. As we
want to run the same kernel on i.MX31 and i.MX35 this patch adds cpu_is_
macros which expand to 0 or 1 if only one architecture is compiled in and
only check for the cpu type if more than one architecture is compiled
in.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] MX35: Add register definitions for the i.MX35
Sascha Hauer [Mon, 2 Feb 2009 13:11:54 +0000 (14:11 +0100)]
[ARM] MX35: Add register definitions for the i.MX35

This patch moves the stuff common to i.MX31 and i.MX35 to mx3x.h and the
specifics to mx31.h/mx35.h. We can build a kernel which runs on i.MX31 and
i.MX35, so always include mx31.h and mx35.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoimxfb: Fix margin settings
Sascha Hauer [Sat, 14 Feb 2009 15:29:38 +0000 (16:29 +0100)]
imxfb: Fix margin settings

The var->hsync_len, var->right_margin and var->left_margin fields
should contain the real values, not the hardware dependent values.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoimxfb: add mx27 support
Sascha Hauer [Mon, 26 Jan 2009 16:29:10 +0000 (17:29 +0100)]
imxfb: add mx27 support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agomx31: add dma and fb devices
Valentin Longchamp [Mon, 16 Feb 2009 11:47:52 +0000 (12:47 +0100)]
mx31: add dma and fb devices

This adds the dma (ipu_dma) and fb devices for the mx31 for which drivers now are
available.

v2: merge the ipu and fb device in the same patch as suggested by Sascha

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agomx31moboard: initial support for various baseboards
Valentin Longchamp [Mon, 16 Feb 2009 11:47:51 +0000 (12:47 +0100)]
mx31moboard: initial support for various baseboards

This enables our mx31moboard to be used on the different baseboards that
we are developping according to the application needs. There are not
many differences between the boards for now, but when other peripherals
are available for mx31 the differences are going to grow.

v2: takes Sascha's comments into account

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agomx31: add pin definition for LCD
Valentin Longchamp [Wed, 11 Feb 2009 15:55:17 +0000 (16:55 +0100)]
mx31: add pin definition for LCD

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agomxc: first set GPIO level, then switch direction to output
Guennadi Liakhovetski [Thu, 12 Feb 2009 13:27:22 +0000 (14:27 +0100)]
mxc: first set GPIO level, then switch direction to output

Make sure not to create spurious pulses on GPIOs, when configuring them as
output: first set required level, then switch direction.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years agoarm/imx: Kconfig beautification
Holger Schurig [Thu, 29 Jan 2009 13:42:25 +0000 (14:42 +0100)]
arm/imx: Kconfig beautification

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] mxc: add missing include
Sascha Hauer [Thu, 29 Jan 2009 15:00:23 +0000 (16:00 +0100)]
[ARM] mxc: add missing include

include devices.h from devices.c to avoid inconsistencies and to fix
sparse warnings

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
15 years ago[ARM] Add Synertronixx scb9328 board support
Sascha Hauer [Wed, 28 Jan 2009 16:36:37 +0000 (17:36 +0100)]
[ARM] Add Synertronixx scb9328 board support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>