aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-versatile/versatile_pb.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-07-05 17:43:01 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-07-06 07:02:14 -0400
commitbbeddc43e673fb6882cc55efdc3c3002c14f5d08 (patch)
tree42fd2c211b4988eadc9c2c74dcf176f5c0832991 /arch/arm/mach-versatile/versatile_pb.c
parent28d0325ce6e0a52f53d8af687e6427fee59004d3 (diff)
[ARM] versatile: add PL061 gpiolib support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-versatile/versatile_pb.c')
-rw-r--r--arch/arm/mach-versatile/versatile_pb.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/mach-versatile/versatile_pb.c b/arch/arm/mach-versatile/versatile_pb.c
index aa051c0884f8..7419451fdf00 100644
--- a/arch/arm/mach-versatile/versatile_pb.c
+++ b/arch/arm/mach-versatile/versatile_pb.c
@@ -23,6 +23,7 @@
23#include <linux/device.h> 23#include <linux/device.h>
24#include <linux/sysdev.h> 24#include <linux/sysdev.h>
25#include <linux/amba/bus.h> 25#include <linux/amba/bus.h>
26#include <linux/amba/pl061.h>
26#include <linux/io.h> 27#include <linux/io.h>
27 28
28#include <mach/hardware.h> 29#include <mach/hardware.h>
@@ -45,6 +46,16 @@ static struct mmc_platform_data mmc1_plat_data = {
45 .status = mmc_status, 46 .status = mmc_status,
46}; 47};
47 48
49static struct pl061_platform_data gpio2_plat_data = {
50 .gpio_base = 16,
51 .irq_base = IRQ_GPIO2_START,
52};
53
54static struct pl061_platform_data gpio3_plat_data = {
55 .gpio_base = 24,
56 .irq_base = IRQ_GPIO3_START,
57};
58
48#define UART3_IRQ { IRQ_SIC_UART3, NO_IRQ } 59#define UART3_IRQ { IRQ_SIC_UART3, NO_IRQ }
49#define UART3_DMA { 0x86, 0x87 } 60#define UART3_DMA { 0x86, 0x87 }
50#define SCI1_IRQ { IRQ_SIC_SCI3, NO_IRQ } 61#define SCI1_IRQ { IRQ_SIC_SCI3, NO_IRQ }
@@ -70,8 +81,8 @@ AMBA_DEVICE(sci1, "fpga:0a", SCI1, NULL);
70AMBA_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); 81AMBA_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data);
71 82
72/* DevChip Primecells */ 83/* DevChip Primecells */
73AMBA_DEVICE(gpio2, "dev:e6", GPIO2, NULL); 84AMBA_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
74AMBA_DEVICE(gpio3, "dev:e7", GPIO3, NULL); 85AMBA_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
75 86
76static struct amba_device *amba_devs[] __initdata = { 87static struct amba_device *amba_devs[] __initdata = {
77 &uart3_device, 88 &uart3_device,