diff options
Diffstat (limited to 'arch/blackfin/mach-bf527/boards/ezkit.c')
-rw-r--r-- | arch/blackfin/mach-bf527/boards/ezkit.c | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index 8ee2b744e234..a2e7e4c13bba 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -60,51 +60,40 @@ const char bfin_board_name[] = "ADDS-BF527-EZKIT"; | |||
60 | * Driver needs to know address, irq and flag pin. | 60 | * Driver needs to know address, irq and flag pin. |
61 | */ | 61 | */ |
62 | 62 | ||
63 | #define ISP1761_BASE 0x203C0000 | ||
64 | #define ISP1761_IRQ IRQ_PF7 | ||
65 | |||
66 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 63 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
67 | static struct resource bfin_isp1761_resources[] = { | 64 | #include <linux/usb/isp1760.h> |
65 | static struct resource bfin_isp1760_resources[] = { | ||
68 | [0] = { | 66 | [0] = { |
69 | .name = "isp1761-regs", | 67 | .start = 0x203C0000, |
70 | .start = ISP1761_BASE + 0x00000000, | 68 | .end = 0x203C0000 + 0x000fffff, |
71 | .end = ISP1761_BASE + 0x000fffff, | ||
72 | .flags = IORESOURCE_MEM, | 69 | .flags = IORESOURCE_MEM, |
73 | }, | 70 | }, |
74 | [1] = { | 71 | [1] = { |
75 | .start = ISP1761_IRQ, | 72 | .start = IRQ_PF7, |
76 | .end = ISP1761_IRQ, | 73 | .end = IRQ_PF7, |
77 | .flags = IORESOURCE_IRQ, | 74 | .flags = IORESOURCE_IRQ, |
78 | }, | 75 | }, |
79 | }; | 76 | }; |
80 | 77 | ||
81 | static struct platform_device bfin_isp1761_device = { | 78 | static struct isp1760_platform_data isp1760_priv = { |
82 | .name = "isp1761", | 79 | .is_isp1761 = 0, |
83 | .id = 0, | 80 | .port1_disable = 0, |
84 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | 81 | .bus_width_16 = 1, |
85 | .resource = bfin_isp1761_resources, | 82 | .port1_otg = 0, |
83 | .analog_oc = 0, | ||
84 | .dack_polarity_high = 0, | ||
85 | .dreq_polarity_high = 0, | ||
86 | }; | 86 | }; |
87 | 87 | ||
88 | static struct platform_device *bfin_isp1761_devices[] = { | 88 | static struct platform_device bfin_isp1760_device = { |
89 | &bfin_isp1761_device, | 89 | .name = "isp1760-hcd", |
90 | .id = 0, | ||
91 | .dev = { | ||
92 | .platform_data = &isp1760_priv, | ||
93 | }, | ||
94 | .num_resources = ARRAY_SIZE(bfin_isp1760_resources), | ||
95 | .resource = bfin_isp1760_resources, | ||
90 | }; | 96 | }; |
91 | |||
92 | int __init bfin_isp1761_init(void) | ||
93 | { | ||
94 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
95 | |||
96 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
97 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
98 | |||
99 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
100 | } | ||
101 | |||
102 | void __exit bfin_isp1761_exit(void) | ||
103 | { | ||
104 | platform_device_unregister(&bfin_isp1761_device); | ||
105 | } | ||
106 | |||
107 | arch_initcall(bfin_isp1761_init); | ||
108 | #endif | 97 | #endif |
109 | 98 | ||
110 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 99 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
@@ -944,6 +933,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
944 | &isp1362_hcd_device, | 933 | &isp1362_hcd_device, |
945 | #endif | 934 | #endif |
946 | 935 | ||
936 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
937 | &bfin_isp1760_device, | ||
938 | #endif | ||
939 | |||
947 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 940 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
948 | &musb_device, | 941 | &musb_device, |
949 | #endif | 942 | #endif |