aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf537/boards/generic_board.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-bf537/boards/generic_board.c')
-rw-r--r--arch/blackfin/mach-bf537/boards/generic_board.c59
1 files changed, 26 insertions, 33 deletions
diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c b/arch/blackfin/mach-bf537/boards/generic_board.c
index 78a13d5bfd55..99b2503d95a9 100644
--- a/arch/blackfin/mach-bf537/boards/generic_board.c
+++ b/arch/blackfin/mach-bf537/boards/generic_board.c
@@ -56,51 +56,40 @@ const char bfin_board_name[] = "GENERIC Board";
56 * Driver needs to know address, irq and flag pin. 56 * Driver needs to know address, irq and flag pin.
57 */ 57 */
58 58
59#define ISP1761_BASE 0x203C0000
60#define ISP1761_IRQ IRQ_PF7
61
62#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) 59#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE)
63static struct resource bfin_isp1761_resources[] = { 60#include <linux/usb/isp1760.h>
61static struct resource bfin_isp1760_resources[] = {
64 [0] = { 62 [0] = {
65 .name = "isp1761-regs", 63 .start = 0x203C0000,
66 .start = ISP1761_BASE + 0x00000000, 64 .end = 0x203C0000 + 0x000fffff,
67 .end = ISP1761_BASE + 0x000fffff,
68 .flags = IORESOURCE_MEM, 65 .flags = IORESOURCE_MEM,
69 }, 66 },
70 [1] = { 67 [1] = {
71 .start = ISP1761_IRQ, 68 .start = IRQ_PF7,
72 .end = ISP1761_IRQ, 69 .end = IRQ_PF7,
73 .flags = IORESOURCE_IRQ, 70 .flags = IORESOURCE_IRQ,
74 }, 71 },
75}; 72};
76 73
77static struct platform_device bfin_isp1761_device = { 74static struct isp1760_platform_data isp1760_priv = {
78 .name = "isp1761", 75 .is_isp1761 = 0,
79 .id = 0, 76 .port1_disable = 0,
80 .num_resources = ARRAY_SIZE(bfin_isp1761_resources), 77 .bus_width_16 = 1,
81 .resource = bfin_isp1761_resources, 78 .port1_otg = 0,
79 .analog_oc = 0,
80 .dack_polarity_high = 0,
81 .dreq_polarity_high = 0,
82}; 82};
83 83
84static struct platform_device *bfin_isp1761_devices[] = { 84static struct platform_device bfin_isp1760_device = {
85 &bfin_isp1761_device, 85 .name = "isp1760-hcd",
86 .id = 0,
87 .dev = {
88 .platform_data = &isp1760_priv,
89 },
90 .num_resources = ARRAY_SIZE(bfin_isp1760_resources),
91 .resource = bfin_isp1760_resources,
86}; 92};
87
88int __init bfin_isp1761_init(void)
89{
90 unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices);
91
92 printk(KERN_INFO "%s(): registering device resources\n", __func__);
93 set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING);
94
95 return platform_add_devices(bfin_isp1761_devices, num_devices);
96}
97
98void __exit bfin_isp1761_exit(void)
99{
100 platform_device_unregister(&bfin_isp1761_device);
101}
102
103arch_initcall(bfin_isp1761_init);
104#endif 93#endif
105 94
106#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 95#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
@@ -651,6 +640,10 @@ static struct platform_device *stamp_devices[] __initdata = {
651 &net2272_bfin_device, 640 &net2272_bfin_device,
652#endif 641#endif
653 642
643#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE)
644 &bfin_isp1760_device,
645#endif
646
654#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) 647#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
655 &bfin_spi0_device, 648 &bfin_spi0_device,
656#endif 649#endif