Commit Graph

253973 Commits

Author SHA1 Message Date
Dinh Nguyen f9e9fc2736 ARM: mx51: Add support for low power suspend on MX51
Adds initial low power suspend functionality to MX51.
Supports "mem" and "standby" modes.

Tested on mx51-babbage.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Tested-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:10 +02:00
Fabio Estevam aedc383caa ARM: imx2: Fix GPIO iosize
On MX1, MX21 and MX27 each GPIO port has an address space of 256 bytes.

Fix the iosize for these platforms.

Tested on a mx27_3ds board that can boot fine after this change.

Cc: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:10 +02:00
Fabio Estevam 931de39219 ARM: mx53: Add SDMA support for MX53
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:09 +02:00
Fabio Estevam be070a4078 ARM: mx53: Add SDMA clock
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:09 +02:00
Andre Silva 40d32c89c8 ARM:mach-mx5/mx53_ard: Add Watchdog timer support
Signed-off-by: Andre Silva <andre.silva@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:09 +02:00
Andre Silva e3a58be3be ARM:mach-mx5/mx53_ard: Add ESDHC support
Signed-off-by: Andre Silva <andre.silva@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:08 +02:00
Andre Silva 6ecdc11bf8 ARM:mach-mx5/board-mx51_babbage: Add CD and WP GPIOs
Signed-off-by: Andre Silva <andre.silva@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:08 +02:00
Andre Silva 1a636932f8 ARM:mach-mx5/board-mx53_loco: Add CD and WP GPIOs
Signed-off-by: Andre Silva <andre.silva@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:08 +02:00
Andre Silva bd8978267d ARM: mach-mx5/mx53_ard: Add support for i.MX53 ARD board
Signed-off-by: Andre Silva <andre.silva@freescale.com>
 Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:07 +02:00
Shawn Guo 8b6c44f100 ARM: mxc: convert tzic to use generic irq chip
The patch converts mxc tzic interrupt controller to use generic irq
chip.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:07 +02:00
Shawn Guo 53b8ff9d37 ARM: mxs/mx28evk: add leds-gpio device for heartbeat
It adds LED2 on mx28evk board as heartbeat trigger for diagnostic
purpose.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:07 +02:00
Fabio Estevam 95b7445946 ARM: mx5/mx53_evk: Add support for LED
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:06 +02:00
Fabio Estevam 5dc3394c19 ARM: mx5/mx53_loco: Add support for LED
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:06 +02:00
Shawn Guo d17572741b ARM: mxs_defconfig: Add mx23evk and mx28evk build
The patch adds following configurations to enable build of mx23evk
and mx28evk in defconfig.

  CONFIG_MACH_MX23EVK
  CONFIG_MACH_MX28EVK

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:01:06 +02:00
Sascha Hauer e59a7943f2 Merge remote-tracking branch 'grant/gpio/next-mx' into devel-features
Conflicts:
	arch/arm/mach-imx/mach-mx31_3ds.c
	arch/arm/mach-imx/mach-scb9328.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:49 +02:00
Sascha Hauer fad107086d ARM i.MX debug macro: use CONFIG_SOC_* instead of CONFIG_ARCH_*
CONFIG_ARCH_* are deprecated, so remove one user.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:02 +02:00
Fabio Estevam 6d2385ab25 ARM: mach-imx/mx27_3ds: Do not annotate the chip select as internal
On the i.MX SPI driver the chipselect pins can be of the following types:

- internal: when the chipselect pin is used as a dedicated CS pin of the CSPI controller
- GPIO: a generic GPIO can be used as a chipselect funtion

On the mx27_3ds the SPI2 chip select is a GPIO, so don't annotate 'internal' in the chip select
definition.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:02 +02:00
Fabio Estevam c084473d7a ARM: mach-imx/mx27_3ds: Use the standard gpio_to_irq function
Use the standard gpio_to_irq function instead of a dedicated IRQ_GPIOx macro.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:01 +02:00
Fabio Estevam 31b738a4f4 ARM: mach-imx/scb9328: Make the UART gpio setup simpler
Place the UART gpio initialization inside the scb9328_init function as it is done on
other i.MX boards.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:01 +02:00
H Hartley Sweeten ae81726671 plat-mxc/pwm.c: use resource_size()
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:01 +02:00
Fabio Estevam 07d1483a42 ARM: imx/mach-apf9328: Simplify UART0 registration
As no flag is passed into UART0 platform data, pass NULL argument
when registering UART0.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:00 +02:00
Sascha Hauer 7cf7381f35 ARM i.MX: get rid of wrong MXC_INTERNAL_IRQ usage
There are several occurences where MXC_INTERNAL_IRQ is
assumed to be the start of the gpio interrupts. It was never
meant this way. Replace these with gpio_to_irq.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
2011-07-07 10:00:00 +02:00
Sascha Hauer 5a24d69c2c ARM i.MX avic: do not depend on MXC_INTERNAL_IRQS
This becomes meaningless in subsequent patches.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 10:00:00 +02:00
Sascha Hauer fe31ad4159 ARM i.MX tzic: do not depend on MXC_INTERNAL_IRQS
This becomes meaningless in subsequent patches.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:59 +02:00
Sascha Hauer 7bce7e8c29 ARM i.MX mxc.h: use CONFIG_SOC_* instead of CONFIG_ARCH_*
CONFIG_ARCH_* are deprecated, so remove one user.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:59 +02:00
Sascha Hauer 6b66ef01f5 ARM i.MX: dmav1: kill SoC ifdefs
since we now can include all soc specific headers at once we do not
need the ifdeffery anymore.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:59 +02:00
Sascha Hauer db279c1b8d ARM i.MX: remove SoC defines around header includes
All soc specific header have proper namespace now and thus can
be included at once.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:58 +02:00
Sascha Hauer 5a145baa1a ARM i.MX: define CLOCK_TICK_RATE to bogus value
We have a clocksource which renders CLOCK_TICK_RATE useless. Define
it to a bogus value to get rid of some ifdeffery.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:58 +02:00
Sascha Hauer c0450dfffc ARM i.MX: fix last user of iomux.h and remove it
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:58 +02:00
Uwe Kleine-König 4daca0e017 ARM: mxs/tx28: convert to new leds-gpio registration helper
This allows to move the led definition to .init.rodata.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:57 +02:00
Uwe Kleine-König 5b8d628ca4 ARM: mx5: convert to new leds-gpio registration helper
This gets rid of per machine struct platform_device definitions and allows
to move the platform data and led definition to .init.rodata.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:57 +02:00
Uwe Kleine-König 47e837b54c ARM: imx: convert to new leds-gpio registration helper
This gets rid of per machine struct platform_device definitions and allows
to move the platform data and led definition to .init.rodata.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:57 +02:00
Fabio Estevam 72370a5cc2 ARM: mx5/mx51_babbage: Use gpio_request_array for USBH1 pins
Instead of using gpio_request followed by gpio_direction_output use gpio_request_array
when requesting multiple pins.

Also fixed the location of the delay for the reset and make the BABBAGE_USB_PHY_RESET to toggle.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:56 +02:00
Fabio Estevam 2e7b1bfcb9 ARM: mx5/mx51_babbage: Move GPIO initialization for USB PHY Reset line to common place
The USB PHY Reset GPIO can be configured in the same place as the other GPIOs.

While at it rename the pin as BABBAGE_USB_PHY_RESET to make clearer its purpose.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:56 +02:00
Troy Kisky 58f45e3c6f ARM: i.MX53: Fix IOMUX type o's
", o" was used for ", 0"

", 17" was used for ", 7 | 0x10"

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:59:42 +02:00
Sascha Hauer 6584cb8825 ARM i.MX dma: Fix burstsize settings
dmaengine expects the maxburst parameter in words, not bytes.
The imxdma driver and its users do this wrong. Fix this.

As a side note the imx-pcm-dma-mx2 driver was 'fixed' to work
with imx-dma. This broke the driver with imx-sdma support which
correctly takes the maxburst parameter in words. This patch
puts the sdma based sound back to work.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:55:50 +02:00
Lothar Waßmann 9d73242458 mach-mx5: fix the I2C clock parents
The clock from which the I2C timing is derived is the ipg_perclk not ipg_clk.

I2C bus frequency was lower by a factor of ~8 due to the clock divider
calculation being based on 66.5MHz IPG clock while the bus actually
uses 8MHz ipg_perclk.

Kernel version: 3.0.0-rc2 branch 'imx-for-next' of git://git.pengutronix.de/git/imx/linux-2.6

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:46 +02:00
Uwe Kleine-König 23e99d4cae ARM: mxs/tx28: according to the TX28's datasheet D4-D7 are not used for MMC0
The pins are actually used (not in mainline yet):

	D4 -> SSP2_D0
	D5 -> GPIO
	D6 -> GPIO
	D7 -> GPIO for owire

so their pinmapping for SSP0 is wrong.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:45 +02:00
Axel Lin b9b65860e7 ARM i.MX23/28: platform-mxsfb: Add missing include of linux/dma-mapping.h
Fix below build error:
  CC      arch/arm/mach-mxs/devices/platform-mxsfb.o
arch/arm/mach-mxs/devices/platform-mxsfb.c: In function 'mx23_add_mxsfb':
arch/arm/mach-mxs/devices/platform-mxsfb.c:27: error: implicit declaration of function 'DMA_BIT_MASK'
make[2]: *** [arch/arm/mach-mxs/devices/platform-mxsfb.o] Error 1
make[1]: *** [arch/arm/mach-mxs/devices] Error 2
make: *** [arch/arm/mach-mxs] Error 2

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:43 +02:00
Fabio Estevam d7336b837f ARM: mx53: Fix some interrupts marked as reserved.
Mark the actual interrupt source for some interrupts currently marked as reserved.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:42 +02:00
Troy Kisky 425933b30b MXC: iomux-v3: correct NO_PAD_CTRL definition
iomux-v3.c uses NO_PAD_CTRL as a 32 bit value
so it should not be shifted left by MUX_PAD_CTRL_SHIFT(41)

Previously, anything requesting NO_PAD_CTRL would get
their pad control register set to 0.

Since it is a pad control mask, place it with the other mask values.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Lothar Waßmann <LW@KARO-electronics.de>
Tested-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:41 +02:00
Fabio Estevam 429a035d1d ARM: mx51: Fix the address space length for SSI
On MX51 the address space length for SSI is 16KB.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:39 +02:00
Shawn Guo 187e5f26a8 ARM: mxc: imx-dma on imx25 has no other TO version but TO1
The imx25 sdma script only gets TO1 version, so there is no need
to encode "to1" in the variable name.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:38 +02:00
Shawn Guo ee8814db96 ARM: mxc: change imx-dma default to_version to 1
The value 0 is not a valid TO version number.  With the current
code, imx-sdma driver will try to load firmware sdma-imx25-to0.bin,
which is obviously not a good name.  Instead, sdma-imx25-to1.bin
makes much more sense.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:37 +02:00
Shawn Guo aa5f380cb0 ARM: mxc: sdma on imx25 is a V2 block
The sdma on soc imx25 is not a V1 but V2 block.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:36 +02:00
Shawn Guo 420766a97a ARM: mxc: imx-sdma device gets 16K iosize than 4K
The sdma on all imx soc gets 16K IO space not 4K.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:34 +02:00
Fabio Estevam 6cecabb391 ARM: mxc: iomux-v1: Fix build warning
Fix the following warning:

CC      arch/arm/plat-mxc/iomux-v1.o
arch/arm/plat-mxc/iomux-v1.c: In function 'mxc_gpio_setup_multiple_pins':
arch/arm/plat-mxc/iomux-v1.c:160: warning: 'ret' may be used uninitialized in this function
arch/arm/plat-mxc/iomux-v1.c:160: note: 'ret' was declared here

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:33 +02:00
Fabio Estevam aec250dc12 ARM: mach-imx/mx27_3ds: Fix regulator support
Fix the 2.8V (VMMC1) and 1.8V (VGEN) voltage generation on mx27_3ds.

Also configure the IOMUX for the PMIC interrupt pin and for the CSPI chip select that is connected
to the MC13783 PMIC.

In order to get the voltage for the LCD (2.8V and 1.8V) it is also necessary to turn on GPO1 and GPO3
supplies because they are connected to switches that enable these two voltages.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:07:30 +02:00
Fabio Estevam 581f84e24b mxc: iomuxv1: Do not use gpio_request when setting the pin as GPIO
When setting the IOMUX of multiple pins via mxc_gpio_setup_multiple_pins, gpio_request
is called and this prevents subsequent calls of gpio_request done by drivers to succeed.

Remove gpio_request call from mxc_gpio_setup_multiple_pins function.

As gpio_request is removed from mxc_gpio_setup_multiple_pins, there is no need to have
mxc_gpio_release_multiple_pins anymore, so remove this function.

Tested on a mx27_3ds board and after applying this patch it is possible to define all the
IOMUX setup in a static array

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:06:58 +02:00
Fabio Estevam b2a08e3e46 ARM: mach-imx/mx31_3ds: Fix IOMUX for SPI1 signals
Original code was assuming that the CSPI1 pins on the
MX31PDK were the primary pin function, which is incorrect.

On MX31PDK board these are the pins that provide CSPI1 functionality:

DSR_DCE1 (ALT mode 1) --> CSPI1_CLK
RI_DCE1 (ALT mode 1) --> CSPI1_RDY

DTR_DTE1  -->CSI1_MOSI
DSR_DTE1 --> CSPI1_MISO
DTR_DCE2 ---> CSPI1_SS2

The 3 IOMUX settings above are done via GPR as per Table A-1 of the MX31RM.

This patch fixes the CSPI1 IOMUX and makes the LCD to be functional.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-07 09:06:57 +02:00