diff options
Diffstat (limited to 'arch/blackfin/mach-bf561/boards/ezkit.c')
-rw-r--r-- | arch/blackfin/mach-bf561/boards/ezkit.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index 14eb4f9a68ea..e8d4058dd7db 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
@@ -32,12 +32,61 @@ | |||
32 | #include <linux/spi/spi.h> | 32 | #include <linux/spi/spi.h> |
33 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
34 | #include <asm/bfin5xx_spi.h> | 34 | #include <asm/bfin5xx_spi.h> |
35 | #include <linux/interrupt.h> | ||
36 | #include <linux/irq.h> | ||
35 | 37 | ||
36 | /* | 38 | /* |
37 | * Name the Board for the /proc/cpuinfo | 39 | * Name the Board for the /proc/cpuinfo |
38 | */ | 40 | */ |
39 | char *bfin_board_name = "ADDS-BF561-EZKIT"; | 41 | char *bfin_board_name = "ADDS-BF561-EZKIT"; |
40 | 42 | ||
43 | #define ISP1761_BASE 0x2C0F0000 | ||
44 | #define ISP1761_IRQ IRQ_PF10 | ||
45 | |||
46 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
47 | static struct resource bfin_isp1761_resources[] = { | ||
48 | [0] = { | ||
49 | .name = "isp1761-regs", | ||
50 | .start = ISP1761_BASE + 0x00000000, | ||
51 | .end = ISP1761_BASE + 0x000fffff, | ||
52 | .flags = IORESOURCE_MEM, | ||
53 | }, | ||
54 | [1] = { | ||
55 | .start = ISP1761_IRQ, | ||
56 | .end = ISP1761_IRQ, | ||
57 | .flags = IORESOURCE_IRQ, | ||
58 | }, | ||
59 | }; | ||
60 | |||
61 | static struct platform_device bfin_isp1761_device = { | ||
62 | .name = "isp1761", | ||
63 | .id = 0, | ||
64 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | ||
65 | .resource = bfin_isp1761_resources, | ||
66 | }; | ||
67 | |||
68 | static struct platform_device *bfin_isp1761_devices[] = { | ||
69 | &bfin_isp1761_device, | ||
70 | }; | ||
71 | |||
72 | int __init bfin_isp1761_init(void) | ||
73 | { | ||
74 | unsigned int num_devices=ARRAY_SIZE(bfin_isp1761_devices); | ||
75 | |||
76 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | ||
77 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
78 | |||
79 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
80 | } | ||
81 | |||
82 | void __exit bfin_isp1761_exit(void) | ||
83 | { | ||
84 | platform_device_unregister(&bfin_isp1761_device); | ||
85 | } | ||
86 | |||
87 | arch_initcall(bfin_isp1761_init); | ||
88 | #endif | ||
89 | |||
41 | /* | 90 | /* |
42 | * USB-LAN EzExtender board | 91 | * USB-LAN EzExtender board |
43 | * Driver needs to know address, irq and flag pin. | 92 | * Driver needs to know address, irq and flag pin. |