Commit graph

89 commits

Author SHA1 Message Date
Valentin Longchamp
03c13ecc0d mx31moboard: add support for usb OTG device (v3)
This is used on all board of our system, so again this is done in the
mx31moboard.c file.

changes since v2: call to gpio_request added in platform code, and
moved device initialization in baseboard files.

changes since v1: pins are claimed in another patch

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:21:02 +02:00
Sascha Hauer
4f163eb881 mx31: calls to gpio_request moved into platform code
In order to use the gpiolib, we now have to call gpio_request in
the plaform code since it is not done in iomux code anymore.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:52 +02:00
Valentin Longchamp
ef754d6358 mx31: remove gpio_request calls from iomux code
Since iomux code is not directly related to gpio on mx31, the calls
to gpio_request are removed from iomux.c file.

These calls have to be done in platform initialization files. The
name of the singe pin call for iomux is also changed to
mxc_iomux_alloc_pin.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:40 +02:00
Sascha Hauer
35c82da0bf MXC qonq: mxc_map_io is now mx31_map_io
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:20:34 +02:00
Guennadi Liakhovetski
eb05bbeb65 ARM: add USB device support to pcm037
Add OTG device definition and resources to i.MX31 and a pure USB device mode
support to the pcm037 board.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:19:50 +02:00
Magnus Lilja
3211705f76 i.MX31: Add ethernet support to i.MX31 Litekit board.
This patch adds the SMSC platform device to the Litekit board.

Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:36 +02:00
Magnus Lilja
a854b8ab98 i.MX31: Add UART1 device to Litekit board.
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:18:08 +02:00
Valentin Longchamp
45b131a78c mx31moboard: add sdhc support (v3)
This support both sdhc1 and sdhc2 with WP and CD for the marxbot and
devboard mx31moboard baseboards.

sdhc2 is present on both, but is not directly included in the
mx31moboard file because a third baseboard (not supported yet) without
sdhc2 is planned.

Changes since v1: removed pin initialization from init/exit function and
taken different comments into account

Changes since v2: pin initialiation now is done in another patch for all
current mx31moboard pins

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:57 +02:00
Valentin Longchamp
4ec6ecc778 mx31moboard: add i2c support (v2)
Changes since v1: all the pins needed for the drivers are claimed in
another patch

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:44 +02:00
Valentin Longchamp
56c7a45bee mx31moboard: setup all pins (v2)
As suggested by Sascha, here we setup all the pins that we are using in
the current (and currently reviewed) drivers for mx31moboard system.

changes since v1: changed I2C1 pin names

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:35 +02:00
Alan Carvalho de Assis
45001e92d0 i.MX31: Add hw-random for RNGA
This hw-random driver add support to RNGA hardware found
on some i.MX processors.

Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
Acked-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:16 +02:00
Valentin Longchamp
220bbcea27 mx31moboard: clean-up of board support
Various improvements (includes in alphabetical order, platform devices
declaration order change, ...)

The pins now are claimed in a single function call from a main table for
every board for a better clarity and to adopt the current agreement for
mx31 devices.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:17:07 +02:00
Guennadi Liakhovetski
a8df0ee8d8 ARM: framebuffer support for pcm037
Add support for a QVGA Sharp LCD on pcm037.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:16:12 +02:00
Sascha Hauer
cd4a05f9df MXC: rename mxc_map_io to architecture specific versions
This allows us to have more mapping functions for more than one
i.MX architecture in the kernel. As this is the earliest board
specific hook we have, also use it to set the cpu type.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:37 +02:00
Sascha Hauer
13e9f61235 pcm037: Add support for UART2
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:33 +02:00
Sascha Hauer
76b6ea0aaa MX35: Fix IPU/Framebuffer clock names
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:29 +02:00
Sascha Hauer
dddd4a493d pcm037: add SDHC card detection
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:26 +02:00
Sascha Hauer
01ac7d584d pcm037: setup all pins at once and not in init functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:21 +02:00
Sascha Hauer
d16caf69ce i.MX35 clock support: remove automotive path
It is no longer present in newer cores. Unfortunately Freescale decided
to put the bit which decides between automotive clock path and consumer
clock path in the automotive clock path direction. With current code we
cannot detect the core revision, so just remove automotive path completely.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:13 +02:00
Sascha Hauer
54df526819 [ARM] MX35: Add PCM043 board support
The PCM043 is a i.MX35 based board from Phytec also known as the
phyCORE-i.MX35.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:15:08 +02:00
Sascha Hauer
bca6ef1e53 MXC: Add iomux support for MX35 SoCs
This iomux is called iomux-v3 in the tree because it is the third known
incarnation of MXC iomuxers. It is not only found on the MX35 but also
on the MX51 and probably others.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-07 16:14:56 +02:00
Mark Brown
0ac402fdaa mx31ads: Mark as having full regulatoion constraints with 1133-EV1 board
This allows the regulator API to power off unused regulators at the end
of init.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 13:03:56 +02:00
Mark Brown
132d3f950e mx31ads: Depend on all the WM8350 core dependencies for WM1133-EV1 board
Otherwise we'd need massive ifdefs in the code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 13:03:56 +02:00
Ilya Yanok
248ca85f01 qong: remove AIPS[12] mappings from machine-specific iotable
AIPS[12] are no mapped from generic MX3 code so we don't need to
map them from machine-specific map_io function anymore.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
2009-04-16 12:57:15 +02:00
Mark Brown
9070e7afb8 mx31ads: imoux pins should be passed in as unsigned int
To match the mxc_iomux_setup_multiple_pins() prototype.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 12:57:15 +02:00
Sascha Hauer
f8e5143be7 pcm037 board support: Fix eth interrupt gpio setting
gpio_direction_input needs the gpio number, not the pin description.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16 12:57:13 +02:00
Guennadi Liakhovetski
b71df97a3f V4L/DVB (11349): mx3-camera: adapt the clock definition and the driver to the new clock naming
With the i.MX31 transition to clkdev clock names have changed, but mistakenly
the "mx3-camera.0" has been registered with a non-NULL connection ID, which is
not necessary, since this is the only clock, used by the capture interface
driver. Fix the clock definition and the driver to use NULL as a connection ID.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:43:58 -03:00
Steve Glendinning
4353318ed5 arm: convert pcm037 platform to use smsc911x
Updated to also specify SMSC911X_FORCE_INTERNAL_PHY, as the external phy
detection hardware strap is incorrectly pulled high on this platform.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-02 18:21:15 +01:00
Ilya Yanok
148854c65e 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>
2009-03-13 10:35:05 +01:00
Sascha Hauer
f2cb641f56 pcm037: Add sdhc support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:38 +01:00
Sascha Hauer
2adc1d654e MX31: Add sdhc resources/platform devices
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:37 +01:00
Sascha Hauer
9eb2eb8c40 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>
2009-03-13 10:34:32 +01:00
Sascha Hauer
fb4416ad61 [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>
2009-03-13 10:34:30 +01:00
Sascha Hauer
cb88214d72 [ARM] MX31/MX35: Add l2x0 cache support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:29 +01:00
Sascha Hauer
9536ff3361 [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>
2009-03-13 10:34:28 +01:00
Sascha Hauer
2cb536d13c [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>
2009-03-13 10:34:28 +01:00
Sascha Hauer
cb8ebb0223 [ARM] add i.MX35 build support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:27 +01:00
Sascha Hauer
198016e1b1 [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>
2009-03-13 10:34:26 +01:00
Valentin Longchamp
ca489f8e4a 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>
2009-03-13 10:34:22 +01:00
Valentin Longchamp
e00f0b4a93 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>
2009-03-13 10:34:21 +01:00
Holger Schurig
6bbdbf2f95 arm/imx: Kconfig beautification
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:18 +01:00
Sascha Hauer
87bbb19721 [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>
2009-03-13 10:34:17 +01:00
Sascha Hauer
792067507b [ARM] PCM037 Board: Add I2C support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:15 +01:00
Mark Brown
fe7316bff1 mx31ads: Initial support for Wolfson Microelectronics 1133-EV1 module
The i.MX31ADS supports pluggable PMU modules, including the WM835x based
Wolfson Microelectronics 1133-EV1. These boards provide power, audio,
RTC and watchdiog services to the system. This patch adds initial support
for those boards in I2C mode.

Currently support is limited by the available support for the features
of the i.MX31 in the mainline kernel.  Some further work will be needed
once other PMU modules are supported and once there is SPI support.
Many of the regulator constraints will be sharable with other PMU
boards.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:05 +01:00
Valentin Longchamp
bab389c875 pcm037: use of new iomux implementation
This was only compilation tested.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:04 +01:00
Valentin Longchamp
63d976672e mx31pdk: use of new iomux implementation
This was only compilation tested.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:03 +01:00
Valentin Longchamp
945c10b87c mx31ads: use of new iomux implementation
This was only compilation tested.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:02 +01:00
Valentin Longchamp
bfbc6a1fc1 mx31moboard: use of new iomux implementation
This example takes advantage of the possibility to use tables of iomux
configs.
This is inspired from mx1-mx2 iomux code. It allows a better code
readability.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:34:01 +01:00
Valentin Longchamp
b7222631c3 mx31: rework of iomux support
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>
2009-03-13 10:34:00 +01:00
Mark Brown
8b785b9dfb mx31ads: Make unexported data static
Keeps sparse happy.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-03-13 10:33:57 +01:00