diff options
Diffstat (limited to 'arch/arm/mach-spear3xx')
-rw-r--r-- | arch/arm/mach-spear3xx/include/mach/generic.h | 42 | ||||
-rw-r--r-- | arch/arm/mach-spear3xx/include/mach/irqs.h | 24 | ||||
-rw-r--r-- | arch/arm/mach-spear3xx/spear320.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-spear3xx/spear3xx.c | 4 |
4 files changed, 56 insertions, 15 deletions
diff --git a/arch/arm/mach-spear3xx/include/mach/generic.h b/arch/arm/mach-spear3xx/include/mach/generic.h index df310799e416..af47d9b0d83d 100644 --- a/arch/arm/mach-spear3xx/include/mach/generic.h +++ b/arch/arm/mach-spear3xx/include/mach/generic.h | |||
@@ -1,10 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/mach-spear3xx/generic.h | 2 | * spear machine family generic header file |
3 | * | 3 | * |
4 | * SPEAr3XX machine family generic header file | 4 | * Copyright (C) 2009-2012 ST Microelectronics |
5 | * | 5 | * Rajeev Kumar <rajeev-dlh.kumar@st.com> |
6 | * Copyright (C) 2009 ST Microelectronics | 6 | * Viresh Kumar <viresh.linux@gmail.com> |
7 | * Viresh Kumar<viresh.linux@gmail.com> | ||
8 | * | 7 | * |
9 | * This file is licensed under the terms of the GNU General Public | 8 | * This file is licensed under the terms of the GNU General Public |
10 | * License version 2. This program is licensed "as is" without any | 9 | * License version 2. This program is licensed "as is" without any |
@@ -14,23 +13,46 @@ | |||
14 | #ifndef __MACH_GENERIC_H | 13 | #ifndef __MACH_GENERIC_H |
15 | #define __MACH_GENERIC_H | 14 | #define __MACH_GENERIC_H |
16 | 15 | ||
16 | #include <linux/dmaengine.h> | ||
17 | #include <linux/amba/pl08x.h> | 17 | #include <linux/amba/pl08x.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/platform_device.h> | ||
20 | #include <linux/amba/bus.h> | ||
21 | #include <asm/mach/time.h> | 19 | #include <asm/mach/time.h> |
22 | #include <asm/mach/map.h> | ||
23 | 20 | ||
24 | /* Add spear3xx family device structure declarations here */ | 21 | extern void spear13xx_timer_init(void); |
25 | extern void spear3xx_timer_init(void); | 22 | extern void spear3xx_timer_init(void); |
26 | extern struct pl022_ssp_controller pl022_plat_data; | 23 | extern struct pl022_ssp_controller pl022_plat_data; |
27 | extern struct pl08x_platform_data pl080_plat_data; | 24 | extern struct pl08x_platform_data pl080_plat_data; |
25 | extern struct dw_dma_platform_data dmac_plat_data; | ||
26 | extern struct dw_dma_slave cf_dma_priv; | ||
27 | extern struct dw_dma_slave nand_read_dma_priv; | ||
28 | extern struct dw_dma_slave nand_write_dma_priv; | ||
29 | bool dw_dma_filter(struct dma_chan *chan, void *slave); | ||
28 | 30 | ||
29 | /* Add spear3xx family function declarations here */ | ||
30 | void __init spear_setup_of_timer(void); | 31 | void __init spear_setup_of_timer(void); |
31 | void __init spear3xx_clk_init(void); | 32 | void __init spear3xx_clk_init(void); |
32 | void __init spear3xx_map_io(void); | 33 | void __init spear3xx_map_io(void); |
34 | void __init spear3xx_dt_init_irq(void); | ||
35 | void __init spear6xx_clk_init(void); | ||
36 | void __init spear13xx_map_io(void); | ||
37 | void __init spear13xx_l2x0_init(void); | ||
33 | 38 | ||
34 | void spear_restart(char, const char *); | 39 | void spear_restart(char, const char *); |
35 | 40 | ||
41 | void spear13xx_secondary_startup(void); | ||
42 | void __cpuinit spear13xx_cpu_die(unsigned int cpu); | ||
43 | |||
44 | extern struct smp_operations spear13xx_smp_ops; | ||
45 | |||
46 | #ifdef CONFIG_MACH_SPEAR1310 | ||
47 | void __init spear1310_clk_init(void); | ||
48 | #else | ||
49 | static inline void spear1310_clk_init(void) {} | ||
50 | #endif | ||
51 | |||
52 | #ifdef CONFIG_MACH_SPEAR1340 | ||
53 | void __init spear1340_clk_init(void); | ||
54 | #else | ||
55 | static inline void spear1340_clk_init(void) {} | ||
56 | #endif | ||
57 | |||
36 | #endif /* __MACH_GENERIC_H */ | 58 | #endif /* __MACH_GENERIC_H */ |
diff --git a/arch/arm/mach-spear3xx/include/mach/irqs.h b/arch/arm/mach-spear3xx/include/mach/irqs.h index f95e5b2b6686..92da0a8c6bce 100644 --- a/arch/arm/mach-spear3xx/include/mach/irqs.h +++ b/arch/arm/mach-spear3xx/include/mach/irqs.h | |||
@@ -1,9 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/mach-spear3xx/include/mach/irqs.h | 2 | * IRQ helper macros for spear machine family |
3 | * | 3 | * |
4 | * IRQ helper macros for SPEAr3xx machine family | 4 | * Copyright (C) 2009-2012 ST Microelectronics |
5 | * | 5 | * Rajeev Kumar <rajeev-dlh.kumar@st.com> |
6 | * Copyright (C) 2009 ST Microelectronics | ||
7 | * Viresh Kumar <viresh.linux@gmail.com> | 6 | * Viresh Kumar <viresh.linux@gmail.com> |
8 | * | 7 | * |
9 | * This file is licensed under the terms of the GNU General Public | 8 | * This file is licensed under the terms of the GNU General Public |
@@ -14,6 +13,23 @@ | |||
14 | #ifndef __MACH_IRQS_H | 13 | #ifndef __MACH_IRQS_H |
15 | #define __MACH_IRQS_H | 14 | #define __MACH_IRQS_H |
16 | 15 | ||
16 | #ifdef CONFIG_ARCH_SPEAR3XX | ||
17 | #define NR_IRQS 256 | 17 | #define NR_IRQS 256 |
18 | #endif | ||
19 | |||
20 | #ifdef CONFIG_ARCH_SPEAR6XX | ||
21 | /* IRQ definitions */ | ||
22 | /* VIC 1 */ | ||
23 | #define IRQ_VIC_END 64 | ||
24 | |||
25 | /* GPIO pins virtual irqs */ | ||
26 | #define VIRTUAL_IRQS 24 | ||
27 | #define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS) | ||
28 | #endif | ||
29 | |||
30 | #ifdef CONFIG_ARCH_SPEAR13XX | ||
31 | #define IRQ_GIC_END 160 | ||
32 | #define NR_IRQS IRQ_GIC_END | ||
33 | #endif | ||
18 | 34 | ||
19 | #endif /* __MACH_IRQS_H */ | 35 | #endif /* __MACH_IRQS_H */ |
diff --git a/arch/arm/mach-spear3xx/spear320.c b/arch/arm/mach-spear3xx/spear320.c index e1c77079a3e5..f671a0ad5217 100644 --- a/arch/arm/mach-spear3xx/spear320.c +++ b/arch/arm/mach-spear3xx/spear320.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/irqchip.h> | 19 | #include <linux/irqchip.h> |
20 | #include <linux/of_platform.h> | 20 | #include <linux/of_platform.h> |
21 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
22 | #include <asm/mach/map.h> | ||
22 | #include <mach/generic.h> | 23 | #include <mach/generic.h> |
23 | #include <mach/spear.h> | 24 | #include <mach/spear.h> |
24 | 25 | ||
diff --git a/arch/arm/mach-spear3xx/spear3xx.c b/arch/arm/mach-spear3xx/spear3xx.c index f9d754f90c59..72e3ae7d463a 100644 --- a/arch/arm/mach-spear3xx/spear3xx.c +++ b/arch/arm/mach-spear3xx/spear3xx.c | |||
@@ -14,8 +14,10 @@ | |||
14 | #define pr_fmt(fmt) "SPEAr3xx: " fmt | 14 | #define pr_fmt(fmt) "SPEAr3xx: " fmt |
15 | 15 | ||
16 | #include <linux/amba/pl022.h> | 16 | #include <linux/amba/pl022.h> |
17 | #include <linux/amba/pl08x.h> | 17 | #include <linux/amba/pl080.h> |
18 | #include <linux/clk.h> | ||
18 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | #include <asm/mach/map.h> | ||
19 | #include <plat/pl080.h> | 21 | #include <plat/pl080.h> |
20 | #include <mach/generic.h> | 22 | #include <mach/generic.h> |
21 | #include <mach/spear.h> | 23 | #include <mach/spear.h> |