diff options
author | Eric Miao <eric.y.miao@gmail.com> | 2009-12-26 03:23:02 -0500 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-03-01 18:40:51 -0500 |
commit | 19851c58e680f71d087b79b53edbf814193e1d33 (patch) | |
tree | 50a1c533c9953ec5e9c95d970a1e9788cf5308aa /arch/arm/mach-sa1100 | |
parent | 08fa159003aa510027951671b94aadc380ab2d2a (diff) |
[ARM] sa1111: allow cascaded IRQs to be used by platforms
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch/arm/mach-sa1100')
-rw-r--r-- | arch/arm/mach-sa1100/badge4.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/include/mach/irqs.h | 54 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/jornada720.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/neponset.c | 5 |
4 files changed, 16 insertions, 53 deletions
diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c index 051ec0f0023c..259cb2c15fff 100644 --- a/arch/arm/mach-sa1100/badge4.c +++ b/arch/arm/mach-sa1100/badge4.c | |||
@@ -51,6 +51,10 @@ static struct resource sa1111_resources[] = { | |||
51 | }, | 51 | }, |
52 | }; | 52 | }; |
53 | 53 | ||
54 | static struct sa1111_platform_data sa1111_info = { | ||
55 | .irq_base = IRQ_BOARD_END, | ||
56 | }; | ||
57 | |||
54 | static u64 sa1111_dmamask = 0xffffffffUL; | 58 | static u64 sa1111_dmamask = 0xffffffffUL; |
55 | 59 | ||
56 | static struct platform_device sa1111_device = { | 60 | static struct platform_device sa1111_device = { |
@@ -59,6 +63,7 @@ static struct platform_device sa1111_device = { | |||
59 | .dev = { | 63 | .dev = { |
60 | .dma_mask = &sa1111_dmamask, | 64 | .dma_mask = &sa1111_dmamask, |
61 | .coherent_dma_mask = 0xffffffff, | 65 | .coherent_dma_mask = 0xffffffff, |
66 | .platform_data = &sa1111_info, | ||
62 | }, | 67 | }, |
63 | .num_resources = ARRAY_SIZE(sa1111_resources), | 68 | .num_resources = ARRAY_SIZE(sa1111_resources), |
64 | .resource = sa1111_resources, | 69 | .resource = sa1111_resources, |
diff --git a/arch/arm/mach-sa1100/include/mach/irqs.h b/arch/arm/mach-sa1100/include/mach/irqs.h index 6e51b549a4d1..8c8845b5ae5b 100644 --- a/arch/arm/mach-sa1100/include/mach/irqs.h +++ b/arch/arm/mach-sa1100/include/mach/irqs.h | |||
@@ -68,58 +68,6 @@ | |||
68 | #define IRQ_BOARD_START 49 | 68 | #define IRQ_BOARD_START 49 |
69 | #define IRQ_BOARD_END 65 | 69 | #define IRQ_BOARD_END 65 |
70 | 70 | ||
71 | #define IRQ_SA1111_START (IRQ_BOARD_END) | ||
72 | #define IRQ_GPAIN0 (IRQ_BOARD_END + 0) | ||
73 | #define IRQ_GPAIN1 (IRQ_BOARD_END + 1) | ||
74 | #define IRQ_GPAIN2 (IRQ_BOARD_END + 2) | ||
75 | #define IRQ_GPAIN3 (IRQ_BOARD_END + 3) | ||
76 | #define IRQ_GPBIN0 (IRQ_BOARD_END + 4) | ||
77 | #define IRQ_GPBIN1 (IRQ_BOARD_END + 5) | ||
78 | #define IRQ_GPBIN2 (IRQ_BOARD_END + 6) | ||
79 | #define IRQ_GPBIN3 (IRQ_BOARD_END + 7) | ||
80 | #define IRQ_GPBIN4 (IRQ_BOARD_END + 8) | ||
81 | #define IRQ_GPBIN5 (IRQ_BOARD_END + 9) | ||
82 | #define IRQ_GPCIN0 (IRQ_BOARD_END + 10) | ||
83 | #define IRQ_GPCIN1 (IRQ_BOARD_END + 11) | ||
84 | #define IRQ_GPCIN2 (IRQ_BOARD_END + 12) | ||
85 | #define IRQ_GPCIN3 (IRQ_BOARD_END + 13) | ||
86 | #define IRQ_GPCIN4 (IRQ_BOARD_END + 14) | ||
87 | #define IRQ_GPCIN5 (IRQ_BOARD_END + 15) | ||
88 | #define IRQ_GPCIN6 (IRQ_BOARD_END + 16) | ||
89 | #define IRQ_GPCIN7 (IRQ_BOARD_END + 17) | ||
90 | #define IRQ_MSTXINT (IRQ_BOARD_END + 18) | ||
91 | #define IRQ_MSRXINT (IRQ_BOARD_END + 19) | ||
92 | #define IRQ_MSSTOPERRINT (IRQ_BOARD_END + 20) | ||
93 | #define IRQ_TPTXINT (IRQ_BOARD_END + 21) | ||
94 | #define IRQ_TPRXINT (IRQ_BOARD_END + 22) | ||
95 | #define IRQ_TPSTOPERRINT (IRQ_BOARD_END + 23) | ||
96 | #define SSPXMTINT (IRQ_BOARD_END + 24) | ||
97 | #define SSPRCVINT (IRQ_BOARD_END + 25) | ||
98 | #define SSPROR (IRQ_BOARD_END + 26) | ||
99 | #define AUDXMTDMADONEA (IRQ_BOARD_END + 32) | ||
100 | #define AUDRCVDMADONEA (IRQ_BOARD_END + 33) | ||
101 | #define AUDXMTDMADONEB (IRQ_BOARD_END + 34) | ||
102 | #define AUDRCVDMADONEB (IRQ_BOARD_END + 35) | ||
103 | #define AUDTFSR (IRQ_BOARD_END + 36) | ||
104 | #define AUDRFSR (IRQ_BOARD_END + 37) | ||
105 | #define AUDTUR (IRQ_BOARD_END + 38) | ||
106 | #define AUDROR (IRQ_BOARD_END + 39) | ||
107 | #define AUDDTS (IRQ_BOARD_END + 40) | ||
108 | #define AUDRDD (IRQ_BOARD_END + 41) | ||
109 | #define AUDSTO (IRQ_BOARD_END + 42) | ||
110 | #define IRQ_USBPWR (IRQ_BOARD_END + 43) | ||
111 | #define IRQ_HCIM (IRQ_BOARD_END + 44) | ||
112 | #define IRQ_HCIBUFFACC (IRQ_BOARD_END + 45) | ||
113 | #define IRQ_HCIRMTWKP (IRQ_BOARD_END + 46) | ||
114 | #define IRQ_NHCIMFCIR (IRQ_BOARD_END + 47) | ||
115 | #define IRQ_USB_PORT_RESUME (IRQ_BOARD_END + 48) | ||
116 | #define IRQ_S0_READY_NINT (IRQ_BOARD_END + 49) | ||
117 | #define IRQ_S1_READY_NINT (IRQ_BOARD_END + 50) | ||
118 | #define IRQ_S0_CD_VALID (IRQ_BOARD_END + 51) | ||
119 | #define IRQ_S1_CD_VALID (IRQ_BOARD_END + 52) | ||
120 | #define IRQ_S0_BVD1_STSCHG (IRQ_BOARD_END + 53) | ||
121 | #define IRQ_S1_BVD1_STSCHG (IRQ_BOARD_END + 54) | ||
122 | |||
123 | /* | 71 | /* |
124 | * Figure out the MAX IRQ number. | 72 | * Figure out the MAX IRQ number. |
125 | * | 73 | * |
@@ -128,7 +76,7 @@ | |||
128 | * Otherwise, we have the standard IRQs only. | 76 | * Otherwise, we have the standard IRQs only. |
129 | */ | 77 | */ |
130 | #ifdef CONFIG_SA1111 | 78 | #ifdef CONFIG_SA1111 |
131 | #define NR_IRQS (IRQ_S1_BVD1_STSCHG + 1) | 79 | #define NR_IRQS (IRQ_BOARD_END + 55) |
132 | #elif defined(CONFIG_SHARPSL_LOCOMO) | 80 | #elif defined(CONFIG_SHARPSL_LOCOMO) |
133 | #define NR_IRQS (IRQ_BOARD_START + 4) | 81 | #define NR_IRQS (IRQ_BOARD_START + 4) |
134 | #else | 82 | #else |
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c index 13ebd2d99bfd..d3ec620618f1 100644 --- a/arch/arm/mach-sa1100/jornada720.c +++ b/arch/arm/mach-sa1100/jornada720.c | |||
@@ -208,6 +208,10 @@ static struct resource sa1111_resources[] = { | |||
208 | }, | 208 | }, |
209 | }; | 209 | }; |
210 | 210 | ||
211 | static struct sa1111_platform_data sa1111_info = { | ||
212 | .irq_base = IRQ_BOARD_END, | ||
213 | }; | ||
214 | |||
211 | static u64 sa1111_dmamask = 0xffffffffUL; | 215 | static u64 sa1111_dmamask = 0xffffffffUL; |
212 | 216 | ||
213 | static struct platform_device sa1111_device = { | 217 | static struct platform_device sa1111_device = { |
@@ -216,6 +220,7 @@ static struct platform_device sa1111_device = { | |||
216 | .dev = { | 220 | .dev = { |
217 | .dma_mask = &sa1111_dmamask, | 221 | .dma_mask = &sa1111_dmamask, |
218 | .coherent_dma_mask = 0xffffffff, | 222 | .coherent_dma_mask = 0xffffffff, |
223 | .platform_data = &sa1111_info, | ||
219 | }, | 224 | }, |
220 | .num_resources = ARRAY_SIZE(sa1111_resources), | 225 | .num_resources = ARRAY_SIZE(sa1111_resources), |
221 | .resource = sa1111_resources, | 226 | .resource = sa1111_resources, |
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 6ccd175bc4cf..0b505d9f22d6 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -241,6 +241,10 @@ static struct resource sa1111_resources[] = { | |||
241 | }, | 241 | }, |
242 | }; | 242 | }; |
243 | 243 | ||
244 | static struct sa1111_platform_data sa1111_info = { | ||
245 | .irq_base = IRQ_BOARD_END, | ||
246 | }; | ||
247 | |||
244 | static u64 sa1111_dmamask = 0xffffffffUL; | 248 | static u64 sa1111_dmamask = 0xffffffffUL; |
245 | 249 | ||
246 | static struct platform_device sa1111_device = { | 250 | static struct platform_device sa1111_device = { |
@@ -249,6 +253,7 @@ static struct platform_device sa1111_device = { | |||
249 | .dev = { | 253 | .dev = { |
250 | .dma_mask = &sa1111_dmamask, | 254 | .dma_mask = &sa1111_dmamask, |
251 | .coherent_dma_mask = 0xffffffff, | 255 | .coherent_dma_mask = 0xffffffff, |
256 | .platform_data = &sa1111_info, | ||
252 | }, | 257 | }, |
253 | .num_resources = ARRAY_SIZE(sa1111_resources), | 258 | .num_resources = ARRAY_SIZE(sa1111_resources), |
254 | .resource = sa1111_resources, | 259 | .resource = sa1111_resources, |