Commit Graph

173 Commits

Author SHA1 Message Date
Fabio Estevam
460d30a329 ARM: imx/mx25_3ds: Add USB support
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 10:17:12 +01:00
Fabio Estevam
96cf4239c7 ARM: imx/mx27_3ds: Add USB OTG support
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 10:17:12 +01:00
Fabio Estevam
8be9252f7c ARM: imx/mx27_3ds: Add watchdog support
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 09:54:37 +01:00
Fabio Estevam
2c1f4672f0 watchdog: imx: use clk_get to acquire the watchdog clock
Use clk_get to acquire the watchdog clock and also avoid hardcoding the clock name.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 09:54:19 +01:00
Sascha Hauer
0e44e05958 Merge commit 'v2.6.37-rc4' into imx-for-2.6.38
Done to resolve merge conflict:

Conflicts:
	arch/arm/mach-mx25/devices-imx25.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-06 09:36:17 +01:00
Vasiliy Kulikov
abebbb4680 arm: dma: check clk_get() result
clk_get() may return ERR_PTR(), if so propagate return code as
imx_dma_init() return code.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-03 11:05:12 +01:00
Dinh Nguyen
9ab4650f71 ARM: imx: Get the silicon version from the IIM module
Instead of reading the silicon version from ROM, we should
read the SREV register from the IIM.

Freescale has dropped all support for MX51 REV1.0, only MX51
REV 2.0 and 3.0 are valid.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-28 19:51:47 +01:00
Sascha Hauer
76586d35eb ARM i.MX27 pm: return gracefully on different socs
Code called from an initcall can be maybe called for
machines it's not intended for. So check for valid
machines and return gracefully if an incompatible machine
is found.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-24 10:09:02 +01:00
Sascha Hauer
8bffb77e19 ARM i.MX DMA: return gracefully on different socs
Code called from an initcall can be maybe called for
machines it's not intended for. So check for valid
machines and return gracefully if an incompatible machine
is found.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-24 10:09:00 +01:00
Sascha Hauer
c7259df3af ARM i.MX irq: Compile avic irq code only on SoCs that need it
This patch adds a Kconfig option for the avic irq controller
and lets the SoCs that need it select this option.
Also, as we have two irq controllers for i.MX, irq.c is not
appropriate anymore, so rename it to avic.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-24 10:08:58 +01:00
Lothar Waßmann
8f5260c8c1 ARM: i.MX IOMUX-V3 replace struct pad_desc with bitmapped cookie
The following patch is a first step to convert the 'struct pad_desc'
to a bitmapped cookie to facilitate adding platform specific pullup or
drive strength definitions to existing pad definitions without need to
rewrite the complete pad def.

The patch wraps 'struct pad_desc' in an opaque data type and
introduces macros to access the individual members.
This patch does not constitute any functional change!

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-24 09:56:58 +01:00
Sascha Hauer
2a85927c79 Merge branch 'imx-for-2.6.38' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-for-2.6.38 2010-11-24 08:24:29 +01:00
Uwe Kleine-König
124bf94a9f ARM: imx: fix name for functions adding sdhci-esdhc-imx devices
and restore alphabetic ordering.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-19 21:59:51 +01:00
Uwe Kleine-König
36a8cac952 ARM: imx: let the machines select SOC_IMX{21,27}
This prepares multi-SoC kernel support.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-19 21:53:49 +01:00
Uwe Kleine-König
fd2fa2e323 ARM: imx: let IMX_HAVE_PLATFORM_IMX_FB select HAVE_FB_IMX
This way FB_IMX can just depend on HAVE_FB_IMX and machines
just need to select IMX_HAVE_PLATFORM_IMX_FB without bothering
about HAVE_FB_IMX.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-19 21:53:49 +01:00
Uwe Kleine-König
e48ab1c16f ARM: imx: move mx25 support to mach-imx
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-19 21:53:49 +01:00
Uwe Kleine-König
e9f0bafb4f ARM: imx: move registration of gpios to plat-mxc/gpio.c
This finally gets rid of mach-imx/devices.c.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:35 +01:00
Uwe Kleine-König
3a6f52a79f ARM: imx: remove now empty devices.h
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:34 +01:00
Uwe Kleine-König
9f87146989 ARM: imx: dynamically allocate imx21-hcd devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:33 +01:00
Uwe Kleine-König
3f880141b8 ARM: imx: dynamically allocate imx-keypad devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:32 +01:00
Uwe Kleine-König
bd455ed36c ARM: imx: dynamically allocate fsl-usb2-udc devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:32 +01:00
Uwe Kleine-König
2eb42d5c28 ARM: imx: dynamically allocate mxc-ehci devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:31 +01:00
Uwe Kleine-König
9d3d945a8d ARM: imx: dynamically register mxc-mmc devices
... plus a trivial simplification of mx21ads_sdhc_init()

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:30 +01:00
Uwe Kleine-König
bf182bcc6e ARM: imx: dynamically allocate mxc_pwm devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:28 +01:00
Uwe Kleine-König
ad851bffba ARM: imx: dynamically register imx-fb devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:27 +01:00
Uwe Kleine-König
e0a1961df8 ARM: imx: dynamically allocate imx2-wdt devices
Currently there is no platform data used in the driver.  In case this
changes and for consistency NULL is passed unused to the soc specific
functions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:25 +01:00
Uwe Kleine-König
b2997cb12b ARM: imx: dynamically allocate mx2-camera device
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:24 +01:00
Uwe Kleine-König
9bb39b3f60 ARM: imx: dynamically allocate mx1-camera device
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:22 +01:00
Uwe Kleine-König
e08300043e ARM: imx: dynamically allocate imx_udc device
This is only available for mx1 machines with no in-tree user.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 10:01:20 +01:00
Uwe Kleine-König
300f86da17 ARM: imx: remove unused devices
all these don't have a driver and are not added in any machine file.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:14 +01:00
Uwe Kleine-König
ae71a56222 ARM: imx: dynamically allocate mxc_w1 devices
Currently there is no platform data used in the driver.  In case this
changes NULL is passed unused to the soc specific functions.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:13 +01:00
Uwe Kleine-König
cf3a6aba2f ARM: imx: remove last explicit users of virtual base address defines
This allows changing the mapping without the need to adapt all users.

While at it remove some unneeded casts to void __iomem *, this is already
taken care for in the IO_ADDRESS macros

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:10 +01:00
Uwe Kleine-König
08ff97b521 ARM: imx: use MXxy_IO_P2V macros to setup static mappings
This makes less code rely on the virtual constants.

To further simplify code and reduce the needed boilerplate when
defining the static mappings a new helper macro is defined in
mach/hardware.h.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-11-17 08:58:09 +01:00
Sascha Hauer
6f5ae90095 ARM i.MX27 eukrea: Fix compilation
Currently compilation breaks for the eukrea mbimx27 baseboard
when CONFIG_SPI_IMX is selected and CONFIG_TOUCHSCREEN_ADS7846
is not selected. Fix this by removing the ifdefs altogether.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Eric Benard <eric@eukrea.com>
2010-11-15 09:25:05 +01:00
Linus Torvalds
706d4b12f8 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (215 commits)
  ARM: memblock: setup lowmem mappings using memblock
  ARM: memblock: move meminfo into find_limits directly
  ARM: memblock: convert free_highpages() to use memblock
  ARM: move freeing of highmem pages out of mem_init()
  ARM: memblock: convert memory detail printing to use memblock
  ARM: memblock: use memblock to free memory into arm_bootmem_init()
  ARM: memblock: use memblock when initializing memory allocators
  ARM: ensure membank array is always sorted
  ARM: 6466/1: implement flush_icache_all for the rest of the CPUs
  ARM: 6464/2: fix spinlock recursion in adjust_pte()
  ARM: fix memblock breakage
  ARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type
  ARM: 6460/1: ixp2000: fix type of ixp2000_timer_interrupt
  ARM: 6449/1: Fix for compiler warning of uninitialized variable.
  ARM: 6445/1: fixup TCM memory types
  ARM: imx: Add wake functionality to GPIO
  ARM: mx5: Add gpio-keys to mx51 babbage board
  ARM: imx: Add gpio-keys to plat-mxc
  mx31_3ds: Fix spi registration
  mx31_3ds: Fix the logic for detecting the debug board
  ...
2010-10-30 08:26:25 -07:00
Russell King
9ae21ca362 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-10-28 11:13:00 +01:00
Linus Torvalds
e3e1288e86 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (48 commits)
  DMAENGINE: move COH901318 to arch_initcall
  dma: imx-dma: fix signedness bug
  dma/timberdale: simplify conditional
  ste_dma40: remove channel_type
  ste_dma40: remove enum for endianess
  ste_dma40: remove TIM_FOR_LINK option
  ste_dma40: move mode_opt to separate config
  ste_dma40: move channel mode to a separate field
  ste_dma40: move priority to separate field
  ste_dma40: add variable to indicate valid dma_cfg
  async_tx: make async_tx channel switching opt-in
  move async raid6 test to lib/Kconfig.debug
  dmaengine: Add Freescale i.MX1/21/27 DMA driver
  intel_mid_dma: change the slave interface
  intel_mid_dma: fix the WARN_ONs
  intel_mid_dma: Add sg list support to DMA driver
  intel_mid_dma: Allow DMAC2 to share interrupt
  intel_mid_dma: Allow IRQ sharing
  intel_mid_dma: Add runtime PM support
  DMAENGINE: define a dummy filter function for ste_dma40
  ...
2010-10-27 19:04:36 -07:00
Rogerio Pimentel
b5ec73eb9a MX27 3ds: Add SDHC1 support to mx27 3ds
Add SDHC1 support to MX27 3ds

Signed-off-by: Rogerio Pimentel <rpimentel.silva@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-22 20:14:44 +02:00
Nicolas Pitre
6451d7783b arm: remove machine_desc.io_pg_offst and .phys_io
Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.

The various declarations were removed using the following script:

  grep -rl MACHINE_START arch/arm | xargs \
  sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

[ Initial patch was from Jeremy Kerr, example script from Russell King ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
2010-10-20 00:27:46 -04:00
Russell King
f779b7dd32 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable
Conflicts:
	arch/arm/mach-at91/include/mach/system.h
	arch/arm/mach-imx/mach-cpuimx27.c

AT91 conflict resolution:
Acked-by: Anders Larsen <al@alarsen.net>
IMX conflict resolution confirmed by Uwe Kleine-König.
2010-10-19 20:12:24 +01:00
Eric Bénard
4e6898a731 cpuimx27: fix compile when ULPI is selected
without this patch we get :
arch/arm/mach-imx/built-in.o: In function `eukrea_cpuimx27_init':
eukrea_mbimx27-baseboard.c:(.init.text+0x44c): undefined reference to `mxc_ulpi_access_ops'

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2010-10-19 18:45:01 +02:00
Russell King
841f48a849 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 2010-10-12 22:43:36 +01:00
Uwe Kleine-König
6bd96f3c33 ARM: imx: dynamically register fec devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 15:31:37 +02:00
Eric Bénard
4793ca4028 cpuimx27: fix i2c bus selection
Recent clean of i.MX devices registration changed the i2C bus number
selected for our platform (Freescale start peripheral ID at 1, kernel
now start it at 0 so i.MX27's i2c 1 is kernel's i2c 0).
Without this fix, i2c is unusable on this platform.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-08 15:08:41 +02:00
Eric Bénard
22377ec5ea cpuimx27: fix compile when ULPI is selected
without this patch we get :
arch/arm/mach-imx/built-in.o: In function `eukrea_cpuimx27_init':
eukrea_mbimx27-baseboard.c:(.init.text+0x44c): undefined reference to `mxc_ulpi_access_ops'

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-08 15:08:41 +02:00
Sascha Hauer
1ec1e82f25 dmaengine: Add Freescale i.MX SDMA support
This patch adds support for the Freescale i.MX SDMA engine.

The SDMA engine is a scatter/gather DMA engine which is implemented
as a seperate coprocessor. SDMA needs its own firmware which is
requested using the standard request_firmware mechanism. The firmware
has different entry points for each peripheral type, so drivers
have to pass the peripheral type to the DMA engine which in turn
picks the correct firmware entry point from a table contained in
the firmware image itself.
The original Freescale code also supports support for transfering
data to the internal SRAM which needs different entry points to
the firmware. Support for this is currently not implemented. Also,
support for the ASRC (asymmetric sample rate converter) is skipped.

I took a very simple approach to implement dmaengine support. Only
a single descriptor is statically assigned to a each channel. This
means that transfers can't be queued up but only a single transfer
is in progress. This simplifies implementation a lot and is sufficient
for the usual device/memory transfers.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Linus Walleij <linus.ml.walleij@gmail.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2010-10-05 15:49:26 -07:00
Uwe Kleine-König
bd9e310dca ARM: imx/pca100: only specify i2c device type once
The first argument to I2C_BOARD_INFO is used to assign .type, so it should
not be specified a second time.

For the rtc-pcf8563/pcf8563 entry gcc preferred pcf8563, so did I.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:09 +02:00
Uwe Kleine-König
214b43100f ARM: imx/pcm970: make platform_data static
This fixes the following sparse warning:

	arch/arm/mach-imx/pcm970-baseboard.c:224:13: warning: symbol 'pcm970_baseboard_init' was not declared. Should it be static?

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:08 +02:00
Uwe Kleine-König
6c80ee5170 ARM: imx: make all pin lists const and signed, move to .init where possible
Making the lists signed fixes sparse warnings like:

	arch/arm/mach-imx/mach-mx27_3ds.c:94:31: warning: incorrect type in argument 1 (different signedness)
	arch/arm/mach-imx/mach-mx27_3ds.c:94:31:    expected int const *pin_list
	arch/arm/mach-imx/mach-mx27_3ds.c:94:31:    got unsigned int static [toplevel] *<noident>

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:07 +02:00
Uwe Kleine-König
7ad211e35b ARM: imx/pcm038: make regulator platform data static
This fixes the following sparse warning:

	arch/arm/mach-imx/pcm970-baseboard.c:203:30: warning: symbol 'pcm970_sja1000_platform_data' was not declared. Should it be static?

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-01 09:33:06 +02:00