aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/include
Commit message (Collapse)AuthorAge
* mxc: add arch_reset() functionIlya Yanok2009-03-27
| | | | | | | | | | | This patch adds arch_reset() function for all mxc platforms. It also removes (unsused) arch/arm/mach-mx2/system.c file. This patch has been tested on i.MX1/27/31/35 Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] pass reboot command line to arch_reset()Russell King2009-03-19
| | | | | | | | | | | | | | | 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>
* Merge branch 'imx-fb-fix' of ↵Russell King2009-03-16
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into devel Conflicts: drivers/video/mx3fb.c
| * i.MX31: framebuffer driverGuennadi Liakhovetski2009-02-26
| | | | | | | | | | | | | | | | | | This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous displays, vertical panning supported, no overlay support. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
| * Revert "i.MX31: framebuffer driver"Dan Williams2009-02-26
| | | | | | | | | | | | | | | | | | This reverts commit 86528da229a448577a8401a17c295883640d336c. This version of the patch was tab-to-space corrupted before application. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* | qong: basic support for Dave/DENX QongEVB-LITE boardIlya Yanok2009-03-13
| | | | | | | | | | | | | | | | | | 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>
* | Use __force in IO_ADDRESS macro to silence sparseSascha Hauer2009-03-13
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | [ARM] MX35: add clock supportSascha Hauer2009-03-13
| | | | | | | | | | | | | | | | | | 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>
* | [ARM] MXC: add cpu_is_ macrosSascha Hauer2009-03-13
| | | | | | | | | | | | | | | | | | | | 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>
* | [ARM] MX35: Add register definitions for the i.MX35Sascha Hauer2009-03-13
| | | | | | | | | | | | | | | | 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>
* | mx31moboard: initial support for various baseboardsValentin Longchamp2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | mx31: add pin definition for LCDValentin Longchamp2009-03-13
| | | | | | | | | | Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | [ARM] iommux mx3: Add pin definitions for I2CSascha Hauer2009-03-13
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imxfb: add platform specific init/exit functionsSascha Hauer2009-03-13
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | mx31: rework of iomux supportValentin Longchamp2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new implemenatation avoids that two physical pins are claimed by the same driver (also with the the gpr hardware modes). The gpio kernel lib is also called when a capable gpio pin is assigned its gpio function. The mxc_iomux_mode function is still here for backward compatibility but should not be used anymore. V2: In the precendent revision, the iomux code was claiming a pin when its hardware mode was changed. This was uncorrect: when the hardware mode is changed, the pin must still be claimed through the iomux. In order to have a pin working in mode hw2, we must fist issue the mxc_iomux_set_gpr call and then the corresponding mxc_iomux_mode calls with the FUNC mode (usually done with mxc_iomux_setup_multiple_pins). The reverse calls must be done to fee the pins. Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | mx31ads: Fix build for missing mx31.hMark Brown2009-03-13
| | | | | | | | | | | | | | | | | | Several of the macros in mx31ads.h depend on mx31.h which is no longer included in quite so many standard headers as it once was. Include it directly so we can build. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx21: Framebuffer support for i.MX21Holger Schurig2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch mimicks what Martin wrote on the mailing list: * move arch/arm/mach-imx/include/mach/imxfb.h into arch/arm/mach-mxc/include/mach/imxfb.h * changes Kconfig so that CONFIG_FB_IMX is selectable * adds a platform device (copied from some pengutronix patches) Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx21: clock support for i.MX21Holger Schurig2009-03-13
| | | | | | | | | | | | | | Based on code from "Martin Fuzzey" <mfuzzey@gmail.com> Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx2x: split i.MX21/i.MX27 register definitionsHolger Schurig2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | * define new CONFIG_ARCH_MX21 (this one is currently mutually exclusive to CONFIG_ARCH_MX27, but this might change) * splits one header file. Memory definitions, interrupt sources, DMA channels are split into common part, i.MX27 specific and i.MX21 specific. * guard access to UART5/UART6, which don't exist on i.MX21 Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx2x: removes a bunch of sparse-warningsHolger Schurig2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | Here are some of the warnings that get fixed by this: > 200 times: warning: cast adds address space to expression (<asn:2>) twelve times: warning: symbol 'xxx' was not declared. Should it be static two times: warning: symbol 'clock' shadows an earlier one five times: warning: incorrect type in initializer (different address spaces) Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | [ARM] MXC: add clkdev supportSascha Hauer2009-03-13
| | | | | | | | | | | | | | This patch only adds general clkdev support without actually switching any MXC architecture to clkdev. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | [ARM] MXC: rework timer/clock initialisationSascha Hauer2009-03-13
| | | | | | | | | | | | | | | | | | - rename mxc_clocks_init to architecture specific versions. This allows us to have more than one architecture compiled in. - call mxc_timer_init from clock initialisation instead from board code Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | [ARM] MXC: Use a single function for decoding a PLLSascha Hauer2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | We had 3 versions of this function in clock support for MX1/2/3 Use a single one instead. I picked the one from the MX3 as it seems to calculate more accurate as the other ones. Also, on MX27 and MX31 mfn can be negative, this hasn't been handled correctly on MX27 since now. This patch has been tested on MX27 and MX31 and produces the same clock frequencies for me. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx21: add kbuild support for the Freescale i.MX21Holger Schurig2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | * adds Kconfig variables * specifies different physical address for i.MX21 because of the different memory layouts * disables support for UART5/UART6 in the i.MX serial driver (the i.MX21 doesn't have those modules) Based on code from "Martin Fuzzey" <mfuzzey@gmail.com> Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/imx2x: new IOMUX definitionsHolger Schurig2009-03-13
|/ | | | | | | | | | | | | | * removed iomux-mx1-mx2.h completely * distributes the former contents to four different files (iomux-mx1.h, iomux-mx21.h, iomux-mx27.h and the file iomux-mx2x.h, which is common to both i.MX21 and i.MX27). * adds all documented IOMUX definitions for i.MX21 and i.MX27 * fixes a few that were wrong (PD14_AOUT_FEC_CLR, PE16_AF_RTCK). * don't silenly include <linux/io.h> * and fixes all collateral damage from above Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mmc: Add a MX2/MX3 specific SDHC driverSascha Hauer2009-02-02
| | | | | | | | | | | This patch adds a MX2/MX3 specific SDHC driver. The hardware is basically the same as in the MX1, but unlike the MX1 controller the MX2 controller just works as expected. Since the MX1 driver has more workarounds for bugs than anything else I had no success with supporting MX1 and MX2 in a sane way in one driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* i.MX31: framebuffer driverGuennadi Liakhovetski2009-01-21
| | | | | | | | | This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous displays, vertical panning supported, no overlay support. Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* i.MX31: Image Processing Unit DMA and IRQ driversGuennadi Liakhovetski2009-01-19
| | | | | | | | | | | | | | | | | | | | | | i.MX3x SoCs contain an Image Processing Unit, consisting of a Control Module (CM), Display Interface (DI), Synchronous Display Controller (SDC), Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter (PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC). CM contains, among other blocks, an Interrupt Generator (IG) and a Clock and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are supported over dmaengine and irq-chip APIs respectively. IDMAC is a specialised DMA controller, its DMA channels cannot be used for general-purpose operations, even though it might be possible to configure a memory-to-memory channel for memcpy operation. This driver will not work with generic dmaengine clients, clients, wishing to use it must use respective wrapper structures, they also must specify which channels they require, as channels are hard-wired to specific IPU functions. Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* USB: add imx udc gadget driverDarius Augulis2009-01-07
| | | | | | | | | | | Implementation of USB device driver integrated in Freescale's i.MXL processor. Adds USB device driver for i.MXL. Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [ARM] MXC: do not include mach/hardware.h from mach/memory.hSascha Hauer2008-12-18
| | | | | | Instead of including other header files, define PHYS_OFFSET directly Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MXC: do not include mach/hardware.h from mach/timex.hSascha Hauer2008-12-18
| | | | | | Instead of including other header files, define CLOCK_TICK_RATE directly Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MXC: remove dependency to other include files from irqs.hSascha Hauer2008-12-18
| | | | | | | This patch removes the inclusion of mach/hardware.h from mach/irqs.h and switches to more meaningful names for the irq related macros. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* patch-mxc-fiqPaulius Zaleckas2008-12-16
| | | | | | | | Drivers which are going to use it will have to select it and use mxc_set_irq_fiq() to set FIQ mode for this interrupt. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* patch-mx1-mtd-xipDarius Augulis2008-12-16
| | | | | | | Adds MTD XIP support for ARCH_MX1. Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* patch-mxc-add-ARCH_MX1Paulius Zaleckas2008-12-16
| | | | | | | | | Adds MX1 architecture to platform MXC. It will supersede mach-imx and let it die. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* patch-iomux-mx1-mx2-cleanupDarius Augulis2008-12-16
| | | | | | | Fix GIUS register setup in the mxc_gpio_mode(). Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* MX31: UART5 pins definitionValentin Longchamp2008-12-16
| | | | | | | pins definition for UART5 when used in alternate mode 2 Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* MX31: definitions for UART2 pinsValentin Longchamp2008-12-16
| | | | | | | UART2 pins when used in functionnal mode Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Add basic support for MX31PDK board.Fabio Estevam2008-12-16
| | | | | | | | Add basic support to the MX31PDK development board, also known as MX31 3DS or MX31 3-stack board (http://www.freescale.com/imx31pdk). Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX3 iomux: add more pin definitionsSascha Hauer2008-12-16
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX1/MX2: simplify mxc_gpio_setup_multiple_pinsSascha Hauer2008-12-16
| | | | | | | | | mxc_gpio_setup_multiple_pins used to take several ALLOC_MODE flags. Most of them are unused, so simplify the function by removing the flags. Also, instead of using a confusing MXC_GPIO_ALLOC_MODE_RELEASE flag in a function having alloc in its name, add a mxc_gpio_release_multiple_pins function. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX27: add i.MX27 SDHC1 and SDHC2 GPIO declarationsJulien Boibessot2008-12-16
| | | | | Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* MX27: Add USB pin function definesSascha Hauer2008-12-16
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX27ads: remove unused defineSascha Hauer2008-12-16
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX2: Add IRQ_GPIOE definitionSascha Hauer2008-12-16
| | | | | | The MX2 has 5 gpio ports, IRQ_GPIOE was missing so far. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* MX27: Fix EMMA Base addressesSascha Hauer2008-12-16
| | | | | | | The EMMA (Enhanced Multimedia Engine) is divided into two parts, the postprocessor and the preprocessor. Fix the base addresses. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] MX2: DMA updatesSascha Hauer2008-12-16
| | | | | | | This one updates DMA support on MX2 which got broken in: [ARM] Hide ISA DMA API when ISA_DMA_API is unset Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* [ARM] Add a common typesafe __io implementationRussell King2008-11-30
| | | | | | | | As Al did for Versatile in 2ad4f86b60b649fd7428265c08d73a3bd360c81b, add a typesafe __io implementation for platforms to use. Convert platforms to use this new simple typesafe implementation. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Hide ISA DMA API when ISA_DMA_API is unsetRussell King2008-11-29
| | | | | | | | | | | | | When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] remove a common set of __virt_to_bus definitionsNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>