aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2008-04-24 15:09:15 -0400
committerBryan Wu <cooloney@kernel.org>2008-04-24 15:09:15 -0400
commit5be36d22b28f01e5074f78b29aa6128da0a53641 (patch)
tree1fda8bcb0680eda6a826fc3753ee8c9f52a2c75b /arch
parent37b6972ad8fb08d438fd600888aff212b1b193b0 (diff)
[Blackfin] arch: add Blackfin on-chip SIR IrDA driver support
- add platform device resources in board files - add new bfin_sir.h to each machines Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/kernel/bfin_dma_5xx.c4
-rw-r--r--arch/blackfin/mach-bf527/boards/ezkit.c30
-rw-r--r--arch/blackfin/mach-bf533/boards/H8606.c23
-rw-r--r--arch/blackfin/mach-bf533/boards/cm_bf533.c23
-rw-r--r--arch/blackfin/mach-bf533/boards/ezkit.c23
-rw-r--r--arch/blackfin/mach-bf533/boards/ip0x.c24
-rw-r--r--arch/blackfin/mach-bf533/boards/stamp.c23
-rw-r--r--arch/blackfin/mach-bf537/boards/cm_bf537.c30
-rw-r--r--arch/blackfin/mach-bf537/boards/generic_board.c30
-rw-r--r--arch/blackfin/mach-bf537/boards/minotaur.c30
-rw-r--r--arch/blackfin/mach-bf537/boards/pnav10.c29
-rw-r--r--arch/blackfin/mach-bf537/boards/stamp.c30
-rw-r--r--arch/blackfin/mach-bf548/boards/cm_bf548.c44
-rw-r--r--arch/blackfin/mach-bf548/boards/ezkit.c44
-rw-r--r--arch/blackfin/mach-bf561/boards/cm_bf561.c23
-rw-r--r--arch/blackfin/mach-bf561/boards/ezkit.c23
16 files changed, 431 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c
index 18fc8a83594..df4d2a5b8e3 100644
--- a/arch/blackfin/kernel/bfin_dma_5xx.c
+++ b/arch/blackfin/kernel/bfin_dma_5xx.c
@@ -108,10 +108,10 @@ int request_dma(unsigned int channel, char *device_id)
108 if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) { 108 if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) {
109 if (strncmp(device_id, "BFIN_UART", 9) == 0) 109 if (strncmp(device_id, "BFIN_UART", 9) == 0)
110 dma_ch[channel].regs->peripheral_map |= 110 dma_ch[channel].regs->peripheral_map |=
111 (channel - CH_UART2_RX + 0xC); 111 ((channel - CH_UART2_RX + 0xC)<<12);
112 else 112 else
113 dma_ch[channel].regs->peripheral_map |= 113 dma_ch[channel].regs->peripheral_map |=
114 (channel - CH_UART2_RX + 0x6); 114 ((channel - CH_UART2_RX + 0x6)<<12);
115 } 115 }
116#endif 116#endif
117 117
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index be20f79a7fe..583d53811f0 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -707,6 +707,32 @@ static struct platform_device bfin_uart_device = {
707}; 707};
708#endif 708#endif
709 709
710#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
711static struct resource bfin_sir_resources[] = {
712#ifdef CONFIG_BFIN_SIR0
713 {
714 .start = 0xFFC00400,
715 .end = 0xFFC004FF,
716 .flags = IORESOURCE_MEM,
717 },
718#endif
719#ifdef CONFIG_BFIN_SIR1
720 {
721 .start = 0xFFC02000,
722 .end = 0xFFC020FF,
723 .flags = IORESOURCE_MEM,
724 },
725#endif
726};
727
728static struct platform_device bfin_sir_device = {
729 .name = "bfin_sir",
730 .id = 0,
731 .num_resources = ARRAY_SIZE(bfin_sir_resources),
732 .resource = bfin_sir_resources,
733};
734#endif
735
710#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 736#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
711static struct resource bfin_twi0_resource[] = { 737static struct resource bfin_twi0_resource[] = {
712 [0] = { 738 [0] = {
@@ -874,6 +900,10 @@ static struct platform_device *stamp_devices[] __initdata = {
874 &bfin_uart_device, 900 &bfin_uart_device,
875#endif 901#endif
876 902
903#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
904 &bfin_sir_device,
905#endif
906
877#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 907#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
878 &i2c_bfin_twi_device, 908 &i2c_bfin_twi_device,
879#endif 909#endif
diff --git a/arch/blackfin/mach-bf533/boards/H8606.c b/arch/blackfin/mach-bf533/boards/H8606.c
index 39c3dd3d595..7cc4864f6aa 100644
--- a/arch/blackfin/mach-bf533/boards/H8606.c
+++ b/arch/blackfin/mach-bf533/boards/H8606.c
@@ -304,6 +304,25 @@ static struct platform_device bfin_uart_device = {
304}; 304};
305#endif 305#endif
306 306
307#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
308static struct resource bfin_sir_resources[] = {
309#ifdef CONFIG_BFIN_SIR0
310 {
311 .start = 0xFFC00400,
312 .end = 0xFFC004FF,
313 .flags = IORESOURCE_MEM,
314 },
315#endif
316};
317
318static struct platform_device bfin_sir_device = {
319 .name = "bfin_sir",
320 .id = 0,
321 .num_resources = ARRAY_SIZE(bfin_sir_resources),
322 .resource = bfin_sir_resources,
323};
324#endif
325
307#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) 326#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
308 327
309#include <linux/serial_8250.h> 328#include <linux/serial_8250.h>
@@ -403,6 +422,10 @@ static struct platform_device *h8606_devices[] __initdata = {
403 &serial8250_device, 422 &serial8250_device,
404#endif 423#endif
405 424
425#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
426 &bfin_sir_device,
427#endif
428
406#if defined(CONFIG_KEYBOARD_OPENCORES) || defined(CONFIG_KEYBOARD_OPENCORES_MODULE) 429#if defined(CONFIG_KEYBOARD_OPENCORES) || defined(CONFIG_KEYBOARD_OPENCORES_MODULE)
407 &opencores_kbd_device, 430 &opencores_kbd_device,
408#endif 431#endif
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c
index 7e7b7c9a5c8..a03149c7268 100644
--- a/arch/blackfin/mach-bf533/boards/cm_bf533.c
+++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c
@@ -234,6 +234,25 @@ static struct platform_device bfin_uart_device = {
234}; 234};
235#endif 235#endif
236 236
237#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
238static struct resource bfin_sir_resources[] = {
239#ifdef CONFIG_BFIN_SIR0
240 {
241 .start = 0xFFC00400,
242 .end = 0xFFC004FF,
243 .flags = IORESOURCE_MEM,
244 },
245#endif
246};
247
248static struct platform_device bfin_sir_device = {
249 .name = "bfin_sir",
250 .id = 0,
251 .num_resources = ARRAY_SIZE(bfin_sir_resources),
252 .resource = bfin_sir_resources,
253};
254#endif
255
237#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 256#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
238static struct platform_device bfin_sport0_uart_device = { 257static struct platform_device bfin_sport0_uart_device = {
239 .name = "bfin-sport-uart", 258 .name = "bfin-sport-uart",
@@ -327,6 +346,10 @@ static struct platform_device *cm_bf533_devices[] __initdata = {
327 &bfin_uart_device, 346 &bfin_uart_device,
328#endif 347#endif
329 348
349#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
350 &bfin_sir_device,
351#endif
352
330#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 353#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
331 &bfin_sport0_uart_device, 354 &bfin_sport0_uart_device,
332 &bfin_sport1_uart_device, 355 &bfin_sport1_uart_device,
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index 35c1efdf8e1..08a7943949a 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -237,6 +237,25 @@ static struct platform_device bfin_uart_device = {
237}; 237};
238#endif 238#endif
239 239
240#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
241static struct resource bfin_sir_resources[] = {
242#ifdef CONFIG_BFIN_SIR0
243 {
244 .start = 0xFFC00400,
245 .end = 0xFFC004FF,
246 .flags = IORESOURCE_MEM,
247 },
248#endif
249};
250
251static struct platform_device bfin_sir_device = {
252 .name = "bfin_sir",
253 .id = 0,
254 .num_resources = ARRAY_SIZE(bfin_sir_resources),
255 .resource = bfin_sir_resources,
256};
257#endif
258
240#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 259#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
241#define PATA_INT 55 260#define PATA_INT 55
242 261
@@ -352,6 +371,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
352 &bfin_uart_device, 371 &bfin_uart_device,
353#endif 372#endif
354 373
374#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
375 &bfin_sir_device,
376#endif
377
355#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 378#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
356 &bfin_pata_device, 379 &bfin_pata_device,
357#endif 380#endif
diff --git a/arch/blackfin/mach-bf533/boards/ip0x.c b/arch/blackfin/mach-bf533/boards/ip0x.c
index 4af61474a99..5864892de31 100644
--- a/arch/blackfin/mach-bf533/boards/ip0x.c
+++ b/arch/blackfin/mach-bf533/boards/ip0x.c
@@ -196,6 +196,25 @@ static struct platform_device bfin_uart_device = {
196}; 196};
197#endif 197#endif
198 198
199#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
200static struct resource bfin_sir_resources[] = {
201#ifdef CONFIG_BFIN_SIR0
202 {
203 .start = 0xFFC00400,
204 .end = 0xFFC004FF,
205 .flags = IORESOURCE_MEM,
206 },
207#endif
208};
209
210static struct platform_device bfin_sir_device = {
211 .name = "bfin_sir",
212 .id = 0,
213 .num_resources = ARRAY_SIZE(bfin_sir_resources),
214 .resource = bfin_sir_resources,
215};
216#endif
217
199#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 218#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
200static struct resource isp1362_hcd_resources[] = { 219static struct resource isp1362_hcd_resources[] = {
201 { 220 {
@@ -251,6 +270,11 @@ static struct platform_device *ip0x_devices[] __initdata = {
251#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 270#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
252 &bfin_uart_device, 271 &bfin_uart_device,
253#endif 272#endif
273
274#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
275 &bfin_sir_device,
276#endif
277
254#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 278#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
255 &isp1362_hcd_device, 279 &isp1362_hcd_device,
256#endif 280#endif
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c
index 3a727d3676e..fddce32901a 100644
--- a/arch/blackfin/mach-bf533/boards/stamp.c
+++ b/arch/blackfin/mach-bf533/boards/stamp.c
@@ -370,6 +370,25 @@ static struct platform_device bfin_uart_device = {
370}; 370};
371#endif 371#endif
372 372
373#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
374static struct resource bfin_sir_resources[] = {
375#ifdef CONFIG_BFIN_SIR0
376 {
377 .start = 0xFFC00400,
378 .end = 0xFFC004FF,
379 .flags = IORESOURCE_MEM,
380 },
381#endif
382};
383
384static struct platform_device bfin_sir_device = {
385 .name = "bfin_sir",
386 .id = 0,
387 .num_resources = ARRAY_SIZE(bfin_sir_resources),
388 .resource = bfin_sir_resources,
389};
390#endif
391
373#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 392#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
374static struct platform_device bfin_sport0_uart_device = { 393static struct platform_device bfin_sport0_uart_device = {
375 .name = "bfin-sport-uart", 394 .name = "bfin-sport-uart",
@@ -525,6 +544,10 @@ static struct platform_device *stamp_devices[] __initdata = {
525 &bfin_uart_device, 544 &bfin_uart_device,
526#endif 545#endif
527 546
547#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
548 &bfin_sir_device,
549#endif
550
528#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 551#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
529 &bfin_sport0_uart_device, 552 &bfin_sport0_uart_device,
530 &bfin_sport1_uart_device, 553 &bfin_sport1_uart_device,
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537.c b/arch/blackfin/mach-bf537/boards/cm_bf537.c
index 199fde69b96..d8a23cd9b9e 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537.c
@@ -325,6 +325,32 @@ static struct platform_device bfin_uart_device = {
325}; 325};
326#endif 326#endif
327 327
328#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
329static struct resource bfin_sir_resources[] = {
330#ifdef CONFIG_BFIN_SIR0
331 {
332 .start = 0xFFC00400,
333 .end = 0xFFC004FF,
334 .flags = IORESOURCE_MEM,
335 },
336#endif
337#ifdef CONFIG_BFIN_SIR1
338 {
339 .start = 0xFFC02000,
340 .end = 0xFFC020FF,
341 .flags = IORESOURCE_MEM,
342 },
343#endif
344};
345
346static struct platform_device bfin_sir_device = {
347 .name = "bfin_sir",
348 .id = 0,
349 .num_resources = ARRAY_SIZE(bfin_sir_resources),
350 .resource = bfin_sir_resources,
351};
352#endif
353
328#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 354#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
329static struct resource bfin_twi0_resource[] = { 355static struct resource bfin_twi0_resource[] = {
330 [0] = { 356 [0] = {
@@ -415,6 +441,10 @@ static struct platform_device *cm_bf537_devices[] __initdata = {
415 &bfin_uart_device, 441 &bfin_uart_device,
416#endif 442#endif
417 443
444#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
445 &bfin_sir_device,
446#endif
447
418#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 448#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
419 &i2c_bfin_twi_device, 449 &i2c_bfin_twi_device,
420#endif 450#endif
diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c b/arch/blackfin/mach-bf537/boards/generic_board.c
index b3d78ea755c..7d250828dad 100644
--- a/arch/blackfin/mach-bf537/boards/generic_board.c
+++ b/arch/blackfin/mach-bf537/boards/generic_board.c
@@ -554,6 +554,32 @@ static struct platform_device bfin_uart_device = {
554}; 554};
555#endif 555#endif
556 556
557#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
558static struct resource bfin_sir_resources[] = {
559#ifdef CONFIG_BFIN_SIR0
560 {
561 .start = 0xFFC00400,
562 .end = 0xFFC004FF,
563 .flags = IORESOURCE_MEM,
564 },
565#endif
566#ifdef CONFIG_BFIN_SIR1
567 {
568 .start = 0xFFC02000,
569 .end = 0xFFC020FF,
570 .flags = IORESOURCE_MEM,
571 },
572#endif
573};
574
575static struct platform_device bfin_sir_device = {
576 .name = "bfin_sir",
577 .id = 0,
578 .num_resources = ARRAY_SIZE(bfin_sir_resources),
579 .resource = bfin_sir_resources,
580};
581#endif
582
557#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 583#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
558static struct resource bfin_twi0_resource[] = { 584static struct resource bfin_twi0_resource[] = {
559 [0] = { 585 [0] = {
@@ -674,6 +700,10 @@ static struct platform_device *stamp_devices[] __initdata = {
674 &bfin_uart_device, 700 &bfin_uart_device,
675#endif 701#endif
676 702
703#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
704 &bfin_sir_device,
705#endif
706
677#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 707#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
678 &i2c_bfin_twi_device, 708 &i2c_bfin_twi_device,
679#endif 709#endif
diff --git a/arch/blackfin/mach-bf537/boards/minotaur.c b/arch/blackfin/mach-bf537/boards/minotaur.c
index 4ea7173915e..18ddf7a5200 100644
--- a/arch/blackfin/mach-bf537/boards/minotaur.c
+++ b/arch/blackfin/mach-bf537/boards/minotaur.c
@@ -225,6 +225,32 @@ static struct platform_device bfin_uart_device = {
225}; 225};
226#endif 226#endif
227 227
228#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
229static struct resource bfin_sir_resources[] = {
230#ifdef CONFIG_BFIN_SIR0
231 {
232 .start = 0xFFC00400,
233 .end = 0xFFC004FF,
234 .flags = IORESOURCE_MEM,
235 },
236#endif
237#ifdef CONFIG_BFIN_SIR1
238 {
239 .start = 0xFFC02000,
240 .end = 0xFFC020FF,
241 .flags = IORESOURCE_MEM,
242 },
243#endif
244};
245
246static struct platform_device bfin_sir_device = {
247 .name = "bfin_sir",
248 .id = 0,
249 .num_resources = ARRAY_SIZE(bfin_sir_resources),
250 .resource = bfin_sir_resources,
251};
252#endif
253
228#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 254#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
229static struct resource bfin_twi0_resource[] = { 255static struct resource bfin_twi0_resource[] = {
230 [0] = { 256 [0] = {
@@ -284,6 +310,10 @@ static struct platform_device *minotaur_devices[] __initdata = {
284 &bfin_uart_device, 310 &bfin_uart_device,
285#endif 311#endif
286 312
313#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
314 &bfin_sir_device,
315#endif
316
287#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 317#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
288 &i2c_bfin_twi_device, 318 &i2c_bfin_twi_device,
289#endif 319#endif
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c
index 0b3e22b1b68..51c3bab14a6 100644
--- a/arch/blackfin/mach-bf537/boards/pnav10.c
+++ b/arch/blackfin/mach-bf537/boards/pnav10.c
@@ -452,6 +452,31 @@ static struct platform_device bfin_uart_device = {
452}; 452};
453#endif 453#endif
454 454
455#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
456static struct resource bfin_sir_resources[] = {
457#ifdef CONFIG_BFIN_SIR0
458 {
459 .start = 0xFFC00400,
460 .end = 0xFFC004FF,
461 .flags = IORESOURCE_MEM,
462 },
463#endif
464#ifdef CONFIG_BFIN_SIR1
465 {
466 .start = 0xFFC02000,
467 .end = 0xFFC020FF,
468 .flags = IORESOURCE_MEM,
469 },
470#endif
471};
472
473static struct platform_device bfin_sir_device = {
474 .name = "bfin_sir",
475 .id = 0,
476 .num_resources = ARRAY_SIZE(bfin_sir_resources),
477 .resource = bfin_sir_resources,
478};
479#endif
455 480
456static struct platform_device *stamp_devices[] __initdata = { 481static struct platform_device *stamp_devices[] __initdata = {
457#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 482#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
@@ -493,6 +518,10 @@ static struct platform_device *stamp_devices[] __initdata = {
493#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 518#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
494 &bfin_uart_device, 519 &bfin_uart_device,
495#endif 520#endif
521
522#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
523 &bfin_sir_device,
524#endif
496}; 525};
497 526
498static int __init stamp_init(void) 527static int __init stamp_init(void)
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index d4cbcb8774e..0cec14b1ef5 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -698,6 +698,32 @@ static struct platform_device bfin_uart_device = {
698}; 698};
699#endif 699#endif
700 700
701#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
702static struct resource bfin_sir_resources[] = {
703#ifdef CONFIG_BFIN_SIR0
704 {
705 .start = 0xFFC00400,
706 .end = 0xFFC004FF,
707 .flags = IORESOURCE_MEM,
708 },
709#endif
710#ifdef CONFIG_BFIN_SIR1
711 {
712 .start = 0xFFC02000,
713 .end = 0xFFC020FF,
714 .flags = IORESOURCE_MEM,
715 },
716#endif
717};
718
719static struct platform_device bfin_sir_device = {
720 .name = "bfin_sir",
721 .id = 0,
722 .num_resources = ARRAY_SIZE(bfin_sir_resources),
723 .resource = bfin_sir_resources,
724};
725#endif
726
701#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 727#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
702static struct resource bfin_twi0_resource[] = { 728static struct resource bfin_twi0_resource[] = {
703 [0] = { 729 [0] = {
@@ -847,6 +873,10 @@ static struct platform_device *stamp_devices[] __initdata = {
847 &bfin_uart_device, 873 &bfin_uart_device,
848#endif 874#endif
849 875
876#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
877 &bfin_sir_device,
878#endif
879
850#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 880#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
851 &i2c_bfin_twi_device, 881 &i2c_bfin_twi_device,
852#endif 882#endif
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c
index 1aa3c1b86bc..e3e8479fffb 100644
--- a/arch/blackfin/mach-bf548/boards/cm_bf548.c
+++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c
@@ -184,6 +184,46 @@ static struct platform_device bfin_uart_device = {
184}; 184};
185#endif 185#endif
186 186
187#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
188static struct resource bfin_sir_resources[] = {
189#ifdef CONFIG_BFIN_SIR0
190 {
191 .start = 0xFFC00400,
192 .end = 0xFFC004FF,
193 .flags = IORESOURCE_MEM,
194 },
195#endif
196#ifdef CONFIG_BFIN_SIR1
197 {
198 .start = 0xFFC02000,
199 .end = 0xFFC020FF,
200 .flags = IORESOURCE_MEM,
201 },
202#endif
203#ifdef CONFIG_BFIN_SIR2
204 {
205 .start = 0xFFC02100,
206 .end = 0xFFC021FF,
207 .flags = IORESOURCE_MEM,
208 },
209#endif
210#ifdef CONFIG_BFIN_SIR3
211 {
212 .start = 0xFFC03100,
213 .end = 0xFFC031FF,
214 .flags = IORESOURCE_MEM,
215 },
216#endif
217};
218
219static struct platform_device bfin_sir_device = {
220 .name = "bfin_sir",
221 .id = 0,
222 .num_resources = ARRAY_SIZE(bfin_sir_resources),
223 .resource = bfin_sir_resources,
224};
225#endif
226
187#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) 227#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
188static struct resource smsc911x_resources[] = { 228static struct resource smsc911x_resources[] = {
189 { 229 {
@@ -559,6 +599,10 @@ static struct platform_device *cm_bf548_devices[] __initdata = {
559 &bfin_uart_device, 599 &bfin_uart_device,
560#endif 600#endif
561 601
602#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
603 &bfin_sir_device,
604#endif
605
562#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) 606#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE)
563 &bf54x_lq043_device, 607 &bf54x_lq043_device,
564#endif 608#endif
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 548820d25eb..231dfbd3bc1 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -188,6 +188,46 @@ static struct platform_device bfin_uart_device = {
188}; 188};
189#endif 189#endif
190 190
191#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
192static struct resource bfin_sir_resources[] = {
193#ifdef CONFIG_BFIN_SIR0
194 {
195 .start = 0xFFC00400,
196 .end = 0xFFC004FF,
197 .flags = IORESOURCE_MEM,
198 },
199#endif
200#ifdef CONFIG_BFIN_SIR1
201 {
202 .start = 0xFFC02000,
203 .end = 0xFFC020FF,
204 .flags = IORESOURCE_MEM,
205 },
206#endif
207#ifdef CONFIG_BFIN_SIR2
208 {
209 .start = 0xFFC02100,
210 .end = 0xFFC021FF,
211 .flags = IORESOURCE_MEM,
212 },
213#endif
214#ifdef CONFIG_BFIN_SIR3
215 {
216 .start = 0xFFC03100,
217 .end = 0xFFC031FF,
218 .flags = IORESOURCE_MEM,
219 },
220#endif
221};
222
223static struct platform_device bfin_sir_device = {
224 .name = "bfin_sir",
225 .id = 0,
226 .num_resources = ARRAY_SIZE(bfin_sir_resources),
227 .resource = bfin_sir_resources,
228};
229#endif
230
191#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) 231#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
192static struct resource smsc911x_resources[] = { 232static struct resource smsc911x_resources[] = {
193 { 233 {
@@ -660,6 +700,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
660 &bfin_uart_device, 700 &bfin_uart_device,
661#endif 701#endif
662 702
703#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
704 &bfin_sir_device,
705#endif
706
663#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) 707#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE)
664 &bf54x_lq043_device, 708 &bf54x_lq043_device,
665#endif 709#endif
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c
index 4a3e0853f2a..9fd580952fd 100644
--- a/arch/blackfin/mach-bf561/boards/cm_bf561.c
+++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c
@@ -283,6 +283,25 @@ static struct platform_device bfin_uart_device = {
283}; 283};
284#endif 284#endif
285 285
286#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
287static struct resource bfin_sir_resources[] = {
288#ifdef CONFIG_BFIN_SIR0
289 {
290 .start = 0xFFC00400,
291 .end = 0xFFC004FF,
292 .flags = IORESOURCE_MEM,
293 },
294#endif
295};
296
297static struct platform_device bfin_sir_device = {
298 .name = "bfin_sir",
299 .id = 0,
300 .num_resources = ARRAY_SIZE(bfin_sir_resources),
301 .resource = bfin_sir_resources,
302};
303#endif
304
286#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 305#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
287#define PATA_INT 119 306#define PATA_INT 119
288 307
@@ -330,6 +349,10 @@ static struct platform_device *cm_bf561_devices[] __initdata = {
330 &bfin_uart_device, 349 &bfin_uart_device,
331#endif 350#endif
332 351
352#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
353 &bfin_sir_device,
354#endif
355
333#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 356#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
334 &isp1362_hcd_device, 357 &isp1362_hcd_device,
335#endif 358#endif
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c
index 8eb79e526ad..0d74b7d9920 100644
--- a/arch/blackfin/mach-bf561/boards/ezkit.c
+++ b/arch/blackfin/mach-bf561/boards/ezkit.c
@@ -220,6 +220,25 @@ static struct platform_device bfin_uart_device = {
220}; 220};
221#endif 221#endif
222 222
223#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
224static struct resource bfin_sir_resources[] = {
225#ifdef CONFIG_BFIN_SIR0
226 {
227 .start = 0xFFC00400,
228 .end = 0xFFC004FF,
229 .flags = IORESOURCE_MEM,
230 },
231#endif
232};
233
234static struct platform_device bfin_sir_device = {
235 .name = "bfin_sir",
236 .id = 0,
237 .num_resources = ARRAY_SIZE(bfin_sir_resources),
238 .resource = bfin_sir_resources,
239};
240#endif
241
223#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) 242#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
224static struct mtd_partition ezkit_partitions[] = { 243static struct mtd_partition ezkit_partitions[] = {
225 { 244 {
@@ -445,6 +464,10 @@ static struct platform_device *ezkit_devices[] __initdata = {
445 &bfin_uart_device, 464 &bfin_uart_device,
446#endif 465#endif
447 466
467#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
468 &bfin_sir_device,
469#endif
470
448#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 471#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
449 &bfin_pata_device, 472 &bfin_pata_device,
450#endif 473#endif