diff options
Diffstat (limited to 'arch/blackfin/mach-bf561/boards/ezkit.c')
-rw-r--r-- | arch/blackfin/mach-bf561/boards/ezkit.c | 63 |
1 files changed, 28 insertions, 35 deletions
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index 50b4cdceccfe..640915dab6fc 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
@@ -45,51 +45,40 @@ | |||
45 | */ | 45 | */ |
46 | const char bfin_board_name[] = "ADDS-BF561-EZKIT"; | 46 | const char bfin_board_name[] = "ADDS-BF561-EZKIT"; |
47 | 47 | ||
48 | #define ISP1761_BASE 0x2C0F0000 | ||
49 | #define ISP1761_IRQ IRQ_PF10 | ||
50 | |||
51 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 48 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
52 | static struct resource bfin_isp1761_resources[] = { | 49 | #include <linux/usb/isp1760.h> |
53 | { | 50 | static struct resource bfin_isp1760_resources[] = { |
54 | .name = "isp1761-regs", | 51 | [0] = { |
55 | .start = ISP1761_BASE + 0x00000000, | 52 | .start = 0x2C0F0000, |
56 | .end = ISP1761_BASE + 0x000fffff, | 53 | .end = 0x203C0000 + 0xfffff, |
57 | .flags = IORESOURCE_MEM, | 54 | .flags = IORESOURCE_MEM, |
58 | }, | 55 | }, |
59 | { | 56 | [1] = { |
60 | .start = ISP1761_IRQ, | 57 | .start = IRQ_PF10, |
61 | .end = ISP1761_IRQ, | 58 | .end = IRQ_PF10, |
62 | .flags = IORESOURCE_IRQ, | 59 | .flags = IORESOURCE_IRQ, |
63 | }, | 60 | }, |
64 | }; | 61 | }; |
65 | 62 | ||
66 | static struct platform_device bfin_isp1761_device = { | 63 | static struct isp1760_platform_data isp1760_priv = { |
67 | .name = "isp1761", | 64 | .is_isp1761 = 0, |
68 | .id = 0, | 65 | .port1_disable = 0, |
69 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | 66 | .bus_width_16 = 1, |
70 | .resource = bfin_isp1761_resources, | 67 | .port1_otg = 0, |
68 | .analog_oc = 0, | ||
69 | .dack_polarity_high = 0, | ||
70 | .dreq_polarity_high = 0, | ||
71 | }; | 71 | }; |
72 | 72 | ||
73 | static struct platform_device *bfin_isp1761_devices[] = { | 73 | static struct platform_device bfin_isp1760_device = { |
74 | &bfin_isp1761_device, | 74 | .name = "isp1760-hcd", |
75 | .id = 0, | ||
76 | .dev = { | ||
77 | .platform_data = &isp1760_priv, | ||
78 | }, | ||
79 | .num_resources = ARRAY_SIZE(bfin_isp1760_resources), | ||
80 | .resource = bfin_isp1760_resources, | ||
75 | }; | 81 | }; |
76 | |||
77 | int __init bfin_isp1761_init(void) | ||
78 | { | ||
79 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
80 | |||
81 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
82 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
83 | |||
84 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
85 | } | ||
86 | |||
87 | void __exit bfin_isp1761_exit(void) | ||
88 | { | ||
89 | platform_device_unregister(&bfin_isp1761_device); | ||
90 | } | ||
91 | |||
92 | arch_initcall(bfin_isp1761_init); | ||
93 | #endif | 82 | #endif |
94 | 83 | ||
95 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 84 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
@@ -449,6 +438,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
449 | &net2272_bfin_device, | 438 | &net2272_bfin_device, |
450 | #endif | 439 | #endif |
451 | 440 | ||
441 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
442 | &bfin_isp1760_device, | ||
443 | #endif | ||
444 | |||
452 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 445 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
453 | &bfin_spi0_device, | 446 | &bfin_spi0_device, |
454 | #endif | 447 | #endif |