diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2010-07-26 06:12:15 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-07-27 03:28:32 -0400 |
commit | 39ae702cd3b8b9d30693b73ad1a3d74c799b5b1a (patch) | |
tree | dae524b4b443c8d82451acd64855ecace241bca9 /arch/arm | |
parent | 6055930cba8fdb2c8855b32bae262aaf69c1fdb4 (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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/irqs-board-mop500.h | 23 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/irqs.h | 4 |
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 | ||
74 | static struct ab8500_platform_data ab8500_platdata = { | ||
75 | .irq_base = MOP500_AB8500_IRQ_BASE, | ||
76 | }; | ||
77 | |||
73 | static struct spi_board_info u8500_spi_devices[] = { | 78 | static 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 */ |