Commit Graph

1559 Commits

Author SHA1 Message Date
Guennadi Liakhovetski
69bf6f451f ARM: add DMA support to sh7372, enable DMA for SDHI
This adds DMA support for the sh7372 sh-mobile ARM core, using the shdma
dmaengine driver, and uses DMA for the SDHI SD-card controller on this SoC.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-31 13:18:51 +09:00
Guennadi Liakhovetski
eb6e8605ee ARM: mach-shmobile: SH7372 has 6 SCIFA and 1 SCIFB ports
The current SH7372 setup code registers 7 SCIF ports, which is wrong.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-24 08:54:25 +09:00
Guennadi Liakhovetski
8eda2f21ed ARM: mach-shmobile: add framebuffer support for ap4evb
ap4evb uses an LCD, connected to the SoC over the MIPI bus. This patch adds
platform data to configure this display and a static clock activation.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-24 08:49:10 +09:00
Guennadi Liakhovetski
d473e0a577 ARM: mach-shmobile: add LCDC and MIPI DSI-Tx clock definitions to sh7372
Define clock objects for switching on and off clocks for LCDC0, LCDC1 and MIPI
DSI-Tx.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-24 08:49:00 +09:00
Magnus Damm
0163acf3c7 ARM: mach-shmobile: sh7377 clock framework V2
This patch is V2 of clock framework tables/code for sh7377.
MSTP support is included for the following hardware blocks:
KEYSC, SCIF, IIC, IRDA, FLCTL, USB, SDHI and UIO.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:23:14 +09:00
Magnus Damm
4f0836b4f9 ARM: mach-shmobile: sh7367 clock framework V2
This patch is V2 of clock framework tables/code for sh7367.
MSTP support is included for the following hardware blocks:
KEYSC, SCIF, IIC, IRDA, FLCTL, VOU, SIU, USB, SDHI and UIO.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:22:57 +09:00
Magnus Damm
83ca5c87cb ARM: mach-shmobile: sh7372 clock fixes
Fixes for the sh7372 clock framework:
 - remove unused #include <linux/platform_device.h>
 - add sh7372 prefix to user modifiable root clocks
 - put modifiable root clock prototypes in header file
 - fix off-by-one id error on VEU MSTP clocks
 - make arrays static

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:22:56 +09:00
Magnus Damm
33c9607acf ARM: mach-shmobile: sh7372/AP4EVB evt2irq() update
This patch updates the irq numbers on sh7372/AP4EVB
to make use of evt2irq() and intcs_evt2irq().

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:22:56 +09:00
Magnus Damm
043296dd43 ARM: mach-shmobile: sh7377/G4EVM evt2irq() update
This patch updates the irq numbers on sh7377/G4EVM
to make use of evt2irq() and intcs_evt2irq().

Makes the system cope with an updated INTCS_VECT_BASE.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:22:56 +09:00
Magnus Damm
7490509fbc ARM: mach-shmobile: sh7367/G3EVM evt2irq() update
This patch updates the irq numbers on sh7367/G3EVM
to make use of evt2irq() and intcs_evt2irq().

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-22 17:22:55 +09:00
Magnus Damm
e370bc22c2 ARM: mach-shmobile: Update VMALLOC_END
Extend VMALLOC_END to the I/O Window at 0xe6000000.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:51:31 +09:00
Magnus Damm
28f0721a79 ARM: mach-shmobile: Set CONSISTENT_DMA_SIZE to 158 MB
This patch sets CONSISTENT_DMA_SIZE to 158 MB
for all SH-Mobile ARM processors.

The DMA area is mapped at 0xf6000000 - 0xffdfffff,
on top of the 256 MB I/O window at 0xe6000000.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:51:24 +09:00
Kuninori Morimoto
85f91dd082 ARM: mach-shmobile: g3evm: Add IrDA support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:16:30 +09:00
Magnus Damm
495b3cea94 ARM: mach-shmobile: sh7372 clock framework support V2
This patch is V2 of clock framework tables/code for sh7372.
MSTP are included for KEYSC, SCIF, IIC, USB, SDHI and UIO.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:07:29 +09:00
Magnus Damm
e47bb515c5 ARM: mach-shmobile: Use shared clock framework
Teach SH-Mobile ARM how to make use of the shared SH clock
framework. This commit is one atomic switch that dumps the
local hackery and instead links in the shared clock framework
code in drivers/sh. A few local functions are kept in clock.c.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:05:45 +09:00
Magnus Damm
645e522ee0 ARM: mach-shmobile: Enable TMU driver build
Allow users to build the TMU driver on SH-Mobile ARM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:02:32 +09:00
Magnus Damm
f4dd61853e ARM: mach-shmobile: sh7372 INTCS support
Add support for the sh7372 INTCS interrupt controller.

INTCS is the interrupt controller for the sh7372 SuperH
processor core. It is tied into the INTCA interrupt
controller which interfaces to the ARM processor.

INTCS support is implemented using a new INTC table
together with a chained interrupt handler that ties
into the already supported INTCA controller.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:00:44 +09:00
Magnus Damm
9b7c23adb3 ARM: mach-shmobile: Use 0x2200 as INTCS_VECT_BASE
Change INTCS_VECT_BASE from 0x3400 to 0x2200.

The old value 0x3400 gave the INTCA and INTCS interrupt
conrollers separated spaces, but required ARM support
for more than 512 NR_IRQS which is not in place at this
point.

The value 0x2200 will make some of the INTCA interrupts
make use of empty INTCS areas. This is a bit more error
prone but works fine as a workaround for G3, G3 and AP4.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-05-20 12:00:36 +09:00
Paul Mundt
ffee72d468 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-20 11:57:38 +09:00
Russell King
717e7c2672 ARM: remove 'select GENERIC_TIME'
GENERIC_TIME is now enabled by default, so 'select GENERIC_TIME'
is redundant.  Remove them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-05-18 08:17:56 +01:00
Kuninori Morimoto
fb54d26832 ARM: mach-shmobile: ap4evb: Add USB host support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-15 13:04:33 +09:00
Kuninori Morimoto
0fff9ec116 ARM: mach-shmobile: intc-sh7372: modify wrong address
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-15 13:04:19 +09:00
Kuninori Morimoto
819ee86796 ARM: mach-shmobile: Add SDHI support
This patch add SDHI support for G4 board.
Current gpio frame work doesn't have
the method to control only pull-up/down/free.
So, it have special gpio_pull_up function for SDHI.
It is quick hack, so this function should be replaced
by correct gpio frame work in future.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:26:53 +09:00
Kuninori Morimoto
4eea423a45 ARM: mach-shmobile: Add missing __initdata on intcs sh7367/sh7377
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:26:47 +09:00
Kuninori Morimoto
7da5c86883 ARM: mach-shmobile: intc-sh7377: Add INTCS support
Add support for the sh7377 INTCS interrupt controller.

INTCS is the interrupt controller for the sh7377 SuperH
processor core. It is tied into the INTCA interrupt
controller which interfaces to the ARM processor.

INTCS support is implemented using a new INTC table
together with a chained interrupt handler that ties
into the already supported INTCA controller.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:26:41 +09:00
Magnus Damm
0e9131a3fa ARM: mach-shmobile: sh7367 INTCS support
Add support for the sh7367 INTCS interrupt controller.

INTCS is the interrupt controller for the sh7367 SuperH
processor core. It is tied into the INTCA interrupt
controller which interfaces to the ARM processor.

INTCS support is implemented using a new INTC table
together with a chained interrupt handler that ties
into the already supported INTCA controller.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:24:02 +09:00
Magnus Damm
ff9170aeff ARM: mach-shmobile: add INTCS macros
Add SH-Mobile ARM INTCS macros for the INTCS controller.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:23:56 +09:00
Kuninori Morimoto
8fc883c298 ARM: mach-shmobile: ap4evb: Add R2025S RTC support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:23:47 +09:00
Kuninori Morimoto
dda128dcb4 ARM: mach-shmobile: ap4evb: Add SW43, SW3 tiny document
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:22:16 +09:00
Kuninori Morimoto
91cf508229 ARM: mach-shmobile: ap4evb: Add TouchScreen support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:22:09 +09:00
Kuninori Morimoto
c1909cc19a ARM: mach-shmobile: sh7372: Add I2C0, I2C1 support
sh7372 chip has 2 INTC.
Then, I2C0 is connected to INTCS, and I2C1 is connected to INTCA.
Both of these has no GPIO settings.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-07 16:22:03 +09:00
Magnus Damm
3a14d03977 ARM: mach-shmobile: ap4evb SDHI0 platform data V2
Add SDHI0 platform data for the AP4EVB board V2.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 12:06:47 +09:00
Magnus Damm
c57a31abf0 ARM: mach-shmobile: sh7372 SDHI vector merge
Merge the SDHI vectors for sh7372 using the recently
merged INTC force_enable/disable feature.

With this in place SDHI hotplug is supported using
the drivers sh_mobile_sdhi and tmio_mmc.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 12:06:46 +09:00
Magnus Damm
c148abfc2d ARM: mach-shmobile: sh7377 SDHI vector merge
Merge the SDHI vectors for sh7377 using the recently
merged INTC force_enable/disable feature.

With this in place SDHI hotplug is supported using
the drivers sh_mobile_sdhi and tmio_mmc.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 12:06:46 +09:00
Magnus Damm
9615b37c5c ARM: mach-shmobile: sh7367 SDHI vector merge
Merge the SDHI vectors for sh7367 using the recently
merged INTC force_enable/disable feature.

With this in place SDHI hotplug is supported using
the drivers sh_mobile_sdhi and tmio_mmc.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 12:06:45 +09:00
NISHIMOTO Hiroki
6676a1701b ARM: mach-shmobile: G4EVM KEYSC platform data
This patch adds KEYSC platform data for the G4EVM board.

Signed-off-by: NISHIMOTO Hiroki <nishimoto.hiroki@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 12:06:45 +09:00
Magnus Damm
143f3b833f ARM: mach-shmobile: G3EVM FLCTL platform data
This patch adds FLCTL platform data for the G3EVM board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 11:13:14 +09:00
Magnus Damm
03fb256df9 ARM: mach-shmobile: G3EVM KEYSC platform data
This patch adds KEYSC platform data for the G3EVM board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-03-15 11:13:13 +09:00
Kuninori Morimoto
17ccb834d5 ARM: mach-shmobile: ap4evb: Add KEYSC support
Because AP4 board has capacitor for KEYSC,
we need much time for waiting.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-25 16:58:34 +09:00
Kuninori Morimoto
41dcc17c73 ARM: mach-shmobile: pfc-sh7377: modify KEYIN settings
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-23 11:17:30 +09:00
Kuninori Morimoto
8cb3a2ebc1 ARM: mach-shmobile: ap4evb: Add S6 debug switch support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-22 19:19:21 +09:00
Kuninori Morimoto
5098280e01 ARM: mach-shmobile: ap4evb: Add LED support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-22 19:19:20 +09:00
Kuninori Morimoto
02624a1789 ARM: mach-shmobile: ap4evb: Add tiny document
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-18 18:24:17 +09:00
Kuninori Morimoto
b228b48e45 ARM: mach-shmobile: ap4evb: Add SCIFA0 support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-18 18:24:17 +09:00
Kuninori Morimoto
1b7e0677fb ARM: mach-shmobile: SMSC 9220 support for AP4EVB.
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-18 12:34:51 +09:00
Kuninori Morimoto
b789b3fdcc ARM: mach-shmobile: Add sh7372 pinmux support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-18 12:32:59 +09:00
Kuninori Morimoto
deded43508 ARM: mach-shmobile: intc-sh7372 tidyup
This patch is based on Rev 0.5 manual

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-15 13:43:43 +09:00
NISHIMOTO Hiroki
aa18ef609b ARM: mach-shmobile: G4EVM USBHS support
Add G4EVM platform data and a magic setup sequence to
initialize the r8a66597 block aka USBHS in sh7377.

Signed-off-by: NISHIMOTO Hiroki <nishimoto.hiroki@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-15 13:43:41 +09:00
NISHIMOTO Hiroki
276b4f623c ARM: mach-shmobile: sh7377 and G4EVM pinmux support
Add support for the sh 7377 pinmux using drivers/sh/pfc.c
and some LEDs on G4EVM.

Signed-off-by: NISHIMOTO Hiroki <nishimoto.hiroki@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-15 13:43:37 +09:00
Magnus Damm
3a7b802d1a ARM: mach-shmobile: G3EVM USBHS support
Add G3EVM platform data and a magic setup sequence to
initialize the r8a66597 block aka USBHS in sh7367.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-12 14:10:48 +09:00
Magnus Damm
7fdda6780a ARM: mach-shmobile: sh7367 and G3EVM pinmux support
Add support for the sh7367 pinmux using drivers/sh/pfc.c
and select serial console pins and some LEDs on G3EVM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-12 14:10:47 +09:00
Magnus Damm
e4e430c611 ARM: mach-shmobile: sh7372 INTCA support
Add support for the sh7372 INTCA hardware block.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-09 18:01:46 +09:00
Magnus Damm
6673be7380 ARM: mach-shmobile: sh7377 INTCA support
Add support for the sh7377 INTCA hardware block.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-09 18:01:44 +09:00
Magnus Damm
f8eef1305b ARM: mach-shmobile: sh7367 INTCA support
Add support for the sh7367 INTCA hardware block.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-09 18:01:42 +09:00
Magnus Damm
4ae04acb81 ARM: mach-shmobile: early console support using earlyprintk
Add support for early console to the SH-Mobile boards.

Simply perform an early platform probe for "earlyprintk"
to trigger the early serial console code in sh-sci.c.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-09 10:34:12 +09:00
Magnus Damm
62f60d6a37 ARM: mach-shmobile: optimize get_irqnr_preamble/and_base macros
Optimize the SH-Mobile interrupt assembly macros to avoid
reloading the INTFLGA register address in case of multiple
pending interrupts. Kindly pointed out by Russell King.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-09 10:31:11 +09:00
Magnus Damm
2b7eda63e4 ARM: mach-shmobile: SH-Mobile AP4 support.
This adds preliminary support for the SH7372 (SH-Mobile AP4) CPU and
the AP4EVB reference board.

Only timer, serial console and NOR flash are supported at this point.
Support for the interrupt controller, pinmux support, clock framework
and runtime pm will be submitted as feature patches on top of this.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-08 12:45:36 +09:00
Magnus Damm
f2aaf66df0 ARM: mach-shmobile: SH-Mobile G4 support.
This adds preliminary support for the SH7377 (SH-Mobile G4) CPU and
the G4EVM reference board.

Only timer, serial console and NOR flash are supported at this point.
Support for the interrupt controller, pinmux support, clock framework
and runtime pm will be submitted as feature patches on top of this.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-08 12:45:32 +09:00
Magnus Damm
c793c1b0c8 ARM: mach-shmobile: SH-Mobile G3 support.
This adds preliminary support for the SH-Mobile G-series.

The SH-Mobile G-series is a series of ARM/SH multi-core CPUs that aside
from the ARM MPU are primarily composed of existing SH IP blocks.

This includes initial support for the SH7367 (SH-Mobile G3) CPU and
the G3EVM reference board.

Only timer, serial console, and NOR flash are supported at this point.
Patches for the interrupt controller, pinmux support, clock framework
and runtime pm will be submitted as feature patches on top of this.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-08 12:44:11 +09:00