aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2010-07-26 06:12:15 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-07-27 03:28:32 -0400
commit39ae702cd3b8b9d30693b73ad1a3d74c799b5b1a (patch)
treedae524b4b443c8d82451acd64855ecace241bca9
parent6055930cba8fdb2c8855b32bae262aaf69c1fdb4 (diff)
ARM: 6267/1: mop500: add AB8500 interrupt support
Add the platform data to enable AB8500 interrupt support. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mach-ux500/board-mop500.c6
-rw-r--r--arch/arm/mach-ux500/include/mach/irqs-board-mop500.h23
-rw-r--r--arch/arm/mach-ux500/include/mach/irqs.h4
3 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 0331e4badcbf..0e8fd135a57d 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -17,6 +17,7 @@
17#include <linux/amba/bus.h> 17#include <linux/amba/bus.h>
18#include <linux/amba/pl022.h> 18#include <linux/amba/pl022.h>
19#include <linux/spi/spi.h> 19#include <linux/spi/spi.h>
20#include <linux/mfd/ab8500.h>
20 21
21#include <asm/mach-types.h> 22#include <asm/mach-types.h>
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -70,10 +71,15 @@ struct pl022_config_chip ab4500_chip_info = {
70 .cs_control = ab4500_spi_cs_control, 71 .cs_control = ab4500_spi_cs_control,
71}; 72};
72 73
74static struct ab8500_platform_data ab8500_platdata = {
75 .irq_base = MOP500_AB8500_IRQ_BASE,
76};
77
73static struct spi_board_info u8500_spi_devices[] = { 78static struct spi_board_info u8500_spi_devices[] = {
74 { 79 {
75 .modalias = "ab8500", 80 .modalias = "ab8500",
76 .controller_data = &ab4500_chip_info, 81 .controller_data = &ab4500_chip_info,
82 .platform_data = &ab8500_platdata,
77 .max_speed_hz = 12000000, 83 .max_speed_hz = 12000000,
78 .bus_num = 0, 84 .bus_num = 0,
79 .chip_select = 0, 85 .chip_select = 0,
diff --git a/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h b/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h
new file mode 100644
index 000000000000..cca4f705601e
--- /dev/null
+++ b/arch/arm/mach-ux500/include/mach/irqs-board-mop500.h
@@ -0,0 +1,23 @@
1/*
2 * Copyright (C) ST-Ericsson SA 2010
3 *
4 * Author: Rabin Vincent <rabin.vincent@stericsson.com>
5 * License terms: GNU General Public License (GPL) version 2
6 */
7
8#ifndef __MACH_IRQS_BOARD_MOP500_H
9#define __MACH_IRQS_BOARD_MOP500_H
10
11#define AB8500_NR_IRQS 104
12
13#define MOP500_AB8500_IRQ_BASE IRQ_BOARD_START
14#define MOP500_AB8500_IRQ_END (MOP500_AB8500_IRQ_BASE \
15 + AB8500_NR_IRQS)
16#define MOP500_IRQ_END MOP500_AB8500_IRQ_END
17
18#if MOP500_IRQ_END > IRQ_BOARD_END
19#undef IRQ_BOARD_END
20#define IRQ_BOARD_END MOP500_IRQ_END
21#endif
22
23#endif
diff --git a/arch/arm/mach-ux500/include/mach/irqs.h b/arch/arm/mach-ux500/include/mach/irqs.h
index a6fb1fcb0982..10385bdc2b77 100644
--- a/arch/arm/mach-ux500/include/mach/irqs.h
+++ b/arch/arm/mach-ux500/include/mach/irqs.h
@@ -79,6 +79,10 @@
79/* This will be overridden by board-specific irq headers */ 79/* This will be overridden by board-specific irq headers */
80#define IRQ_BOARD_END IRQ_BOARD_START 80#define IRQ_BOARD_END IRQ_BOARD_START
81 81
82#ifdef CONFIG_MACH_U8500_MOP
83#include <mach/irqs-board-mop500.h>
84#endif
85
82#define NR_IRQS IRQ_BOARD_END 86#define NR_IRQS IRQ_BOARD_END
83 87
84#endif /* ASM_ARCH_IRQS_H */ 88#endif /* ASM_ARCH_IRQS_H */