aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-versatile/core.c16
-rw-r--r--arch/arm/mach-versatile/versatile_pb.c21
2 files changed, 16 insertions, 21 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index 3b0572f30d56..a335126ae18f 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -570,6 +570,16 @@ static struct pl061_platform_data gpio1_plat_data = {
570 .irq_base = IRQ_GPIO1_START, 570 .irq_base = IRQ_GPIO1_START,
571}; 571};
572 572
573static struct pl061_platform_data gpio2_plat_data = {
574 .gpio_base = 16,
575 .irq_base = IRQ_GPIO2_START,
576};
577
578static struct pl061_platform_data gpio3_plat_data = {
579 .gpio_base = 24,
580 .irq_base = IRQ_GPIO3_START,
581};
582
573static struct pl022_ssp_controller ssp0_plat_data = { 583static struct pl022_ssp_controller ssp0_plat_data = {
574 .bus_id = 0, 584 .bus_id = 0,
575 .enable_dma = 0, 585 .enable_dma = 0,
@@ -596,6 +606,8 @@ static struct pl022_ssp_controller ssp0_plat_data = {
596#define WATCHDOG_IRQ { IRQ_WDOGINT } 606#define WATCHDOG_IRQ { IRQ_WDOGINT }
597#define GPIO0_IRQ { IRQ_GPIOINT0 } 607#define GPIO0_IRQ { IRQ_GPIOINT0 }
598#define GPIO1_IRQ { IRQ_GPIOINT1 } 608#define GPIO1_IRQ { IRQ_GPIOINT1 }
609#define GPIO2_IRQ { IRQ_GPIOINT2 }
610#define GPIO3_IRQ { IRQ_GPIOINT3 }
599#define RTC_IRQ { IRQ_RTCINT } 611#define RTC_IRQ { IRQ_RTCINT }
600 612
601/* 613/*
@@ -622,6 +634,8 @@ APB_DEVICE(sctl, "dev:e0", SCTL, NULL);
622APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); 634APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL);
623APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data); 635APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data);
624APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data); 636APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data);
637APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
638APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
625APB_DEVICE(rtc, "dev:e8", RTC, NULL); 639APB_DEVICE(rtc, "dev:e8", RTC, NULL);
626APB_DEVICE(sci0, "dev:f0", SCI, NULL); 640APB_DEVICE(sci0, "dev:f0", SCI, NULL);
627APB_DEVICE(uart0, "dev:f1", UART0, NULL); 641APB_DEVICE(uart0, "dev:f1", UART0, NULL);
@@ -641,6 +655,8 @@ static struct amba_device *amba_devs[] __initdata = {
641 &wdog_device, 655 &wdog_device,
642 &gpio0_device, 656 &gpio0_device,
643 &gpio1_device, 657 &gpio1_device,
658 &gpio2_device,
659 &gpio3_device,
644 &rtc_device, 660 &rtc_device,
645 &sci0_device, 661 &sci0_device,
646 &ssp0_device, 662 &ssp0_device,
diff --git a/arch/arm/mach-versatile/versatile_pb.c b/arch/arm/mach-versatile/versatile_pb.c
index 611d140c8695..9a53d0bd9144 100644
--- a/arch/arm/mach-versatile/versatile_pb.c
+++ b/arch/arm/mach-versatile/versatile_pb.c
@@ -47,27 +47,11 @@ static struct mmci_platform_data mmc1_plat_data = {
47 .gpio_cd = -1, 47 .gpio_cd = -1,
48}; 48};
49 49
50static struct pl061_platform_data gpio2_plat_data = {
51 .gpio_base = 16,
52 .irq_base = IRQ_GPIO2_START,
53};
54
55static struct pl061_platform_data gpio3_plat_data = {
56 .gpio_base = 24,
57 .irq_base = IRQ_GPIO3_START,
58};
59
60#define UART3_IRQ { IRQ_SIC_UART3 } 50#define UART3_IRQ { IRQ_SIC_UART3 }
61#define SCI1_IRQ { IRQ_SIC_SCI3 } 51#define SCI1_IRQ { IRQ_SIC_SCI3 }
62#define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B } 52#define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B }
63 53
64/* 54/*
65 * These devices are connected via the core APB bridge
66 */
67#define GPIO2_IRQ { IRQ_GPIOINT2 }
68#define GPIO3_IRQ { IRQ_GPIOINT3 }
69
70/*
71 * These devices are connected via the DMA APB bridge 55 * These devices are connected via the DMA APB bridge
72 */ 56 */
73 57
@@ -76,14 +60,9 @@ APB_DEVICE(uart3, "fpga:09", UART3, NULL);
76APB_DEVICE(sci1, "fpga:0a", SCI1, NULL); 60APB_DEVICE(sci1, "fpga:0a", SCI1, NULL);
77APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); 61APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data);
78 62
79/* DevChip Primecells */
80APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
81APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
82 63
83static struct amba_device *amba_devs[] __initdata = { 64static struct amba_device *amba_devs[] __initdata = {
84 &uart3_device, 65 &uart3_device,
85 &gpio2_device,
86 &gpio3_device,
87 &sci1_device, 66 &sci1_device,
88 &mmc1_device, 67 &mmc1_device,
89}; 68};