diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2008-11-18 04:48:22 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-11-18 04:48:22 -0500 |
commit | 3f37569044cb3d9ba4722710b84d018f573d4b0e (patch) | |
tree | 55bfdcc6bd8fafc235006e2e788a79eb40da2ea2 | |
parent | 5ff294fa00fd01ce905dbe0808dbdb10b80bb372 (diff) |
Blackfin arch: Enable ISP1760 USB Host Driver in platform device initialization code.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
-rw-r--r-- | arch/blackfin/mach-bf527/boards/cm_bf527.c | 59 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/boards/ezkit.c | 59 | ||||
-rw-r--r-- | arch/blackfin/mach-bf537/boards/generic_board.c | 59 | ||||
-rw-r--r-- | arch/blackfin/mach-bf537/boards/stamp.c | 59 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 47 | ||||
-rw-r--r-- | arch/blackfin/mach-bf561/boards/ezkit.c | 63 |
6 files changed, 154 insertions, 192 deletions
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c index 9ea440bbb13d..5797ac40fe2c 100644 --- a/arch/blackfin/mach-bf527/boards/cm_bf527.c +++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c | |||
@@ -61,51 +61,40 @@ const char bfin_board_name[] = "Bluetechnix CM-BF527"; | |||
61 | * Driver needs to know address, irq and flag pin. | 61 | * Driver needs to know address, irq and flag pin. |
62 | */ | 62 | */ |
63 | 63 | ||
64 | #define ISP1761_BASE 0x203C0000 | ||
65 | #define ISP1761_IRQ IRQ_PF7 | ||
66 | |||
67 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 64 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
68 | static struct resource bfin_isp1761_resources[] = { | 65 | #include <linux/usb/isp1760.h> |
66 | static struct resource bfin_isp1760_resources[] = { | ||
69 | [0] = { | 67 | [0] = { |
70 | .name = "isp1761-regs", | 68 | .start = 0x203C0000, |
71 | .start = ISP1761_BASE + 0x00000000, | 69 | .end = 0x203C0000 + 0x000fffff, |
72 | .end = ISP1761_BASE + 0x000fffff, | ||
73 | .flags = IORESOURCE_MEM, | 70 | .flags = IORESOURCE_MEM, |
74 | }, | 71 | }, |
75 | [1] = { | 72 | [1] = { |
76 | .start = ISP1761_IRQ, | 73 | .start = IRQ_PF7, |
77 | .end = ISP1761_IRQ, | 74 | .end = IRQ_PF7, |
78 | .flags = IORESOURCE_IRQ, | 75 | .flags = IORESOURCE_IRQ, |
79 | }, | 76 | }, |
80 | }; | 77 | }; |
81 | 78 | ||
82 | static struct platform_device bfin_isp1761_device = { | 79 | static struct isp1760_platform_data isp1760_priv = { |
83 | .name = "isp1761", | 80 | .is_isp1761 = 0, |
84 | .id = 0, | 81 | .port1_disable = 0, |
85 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | 82 | .bus_width_16 = 1, |
86 | .resource = bfin_isp1761_resources, | 83 | .port1_otg = 0, |
84 | .analog_oc = 0, | ||
85 | .dack_polarity_high = 0, | ||
86 | .dreq_polarity_high = 0, | ||
87 | }; | 87 | }; |
88 | 88 | ||
89 | static struct platform_device *bfin_isp1761_devices[] = { | 89 | static struct platform_device bfin_isp1760_device = { |
90 | &bfin_isp1761_device, | 90 | .name = "isp1760-hcd", |
91 | .id = 0, | ||
92 | .dev = { | ||
93 | .platform_data = &isp1760_priv, | ||
94 | }, | ||
95 | .num_resources = ARRAY_SIZE(bfin_isp1760_resources), | ||
96 | .resource = bfin_isp1760_resources, | ||
91 | }; | 97 | }; |
92 | |||
93 | int __init bfin_isp1761_init(void) | ||
94 | { | ||
95 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
96 | |||
97 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
98 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
99 | |||
100 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
101 | } | ||
102 | |||
103 | void __exit bfin_isp1761_exit(void) | ||
104 | { | ||
105 | platform_device_unregister(&bfin_isp1761_device); | ||
106 | } | ||
107 | |||
108 | arch_initcall(bfin_isp1761_init); | ||
109 | #endif | 98 | #endif |
110 | 99 | ||
111 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 100 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
@@ -885,6 +874,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
885 | &isp1362_hcd_device, | 874 | &isp1362_hcd_device, |
886 | #endif | 875 | #endif |
887 | 876 | ||
877 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
878 | &bfin_isp1760_device, | ||
879 | #endif | ||
880 | |||
888 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 881 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
889 | &musb_device, | 882 | &musb_device, |
890 | #endif | 883 | #endif |
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 |
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) |
63 | static struct resource bfin_isp1761_resources[] = { | 60 | #include <linux/usb/isp1760.h> |
61 | static 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 | ||
77 | static struct platform_device bfin_isp1761_device = { | 74 | static 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 | ||
84 | static struct platform_device *bfin_isp1761_devices[] = { | 84 | static 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 | |||
88 | int __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 | |||
98 | void __exit bfin_isp1761_exit(void) | ||
99 | { | ||
100 | platform_device_unregister(&bfin_isp1761_device); | ||
101 | } | ||
102 | |||
103 | arch_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 |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index 24bc1fcf3f3e..b93310796ae1 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -61,51 +61,40 @@ const char bfin_board_name[] = "ADDS-BF537-STAMP"; | |||
61 | * Driver needs to know address, irq and flag pin. | 61 | * Driver needs to know address, irq and flag pin. |
62 | */ | 62 | */ |
63 | 63 | ||
64 | #define ISP1761_BASE 0x203C0000 | ||
65 | #define ISP1761_IRQ IRQ_PF7 | ||
66 | |||
67 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 64 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
68 | static struct resource bfin_isp1761_resources[] = { | 65 | #include <linux/usb/isp1760.h> |
66 | static struct resource bfin_isp1760_resources[] = { | ||
69 | [0] = { | 67 | [0] = { |
70 | .name = "isp1761-regs", | 68 | .start = 0x203C0000, |
71 | .start = ISP1761_BASE + 0x00000000, | 69 | .end = 0x203C0000 + 0x000fffff, |
72 | .end = ISP1761_BASE + 0x000fffff, | ||
73 | .flags = IORESOURCE_MEM, | 70 | .flags = IORESOURCE_MEM, |
74 | }, | 71 | }, |
75 | [1] = { | 72 | [1] = { |
76 | .start = ISP1761_IRQ, | 73 | .start = IRQ_PF7, |
77 | .end = ISP1761_IRQ, | 74 | .end = IRQ_PF7, |
78 | .flags = IORESOURCE_IRQ, | 75 | .flags = IORESOURCE_IRQ, |
79 | }, | 76 | }, |
80 | }; | 77 | }; |
81 | 78 | ||
82 | static struct platform_device bfin_isp1761_device = { | 79 | static struct isp1760_platform_data isp1760_priv = { |
83 | .name = "isp1761", | 80 | .is_isp1761 = 0, |
84 | .id = 0, | 81 | .port1_disable = 0, |
85 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | 82 | .bus_width_16 = 1, |
86 | .resource = bfin_isp1761_resources, | 83 | .port1_otg = 0, |
84 | .analog_oc = 0, | ||
85 | .dack_polarity_high = 0, | ||
86 | .dreq_polarity_high = 0, | ||
87 | }; | 87 | }; |
88 | 88 | ||
89 | static struct platform_device *bfin_isp1761_devices[] = { | 89 | static struct platform_device bfin_isp1760_device = { |
90 | &bfin_isp1761_device, | 90 | .name = "isp1760-hcd", |
91 | .id = 0, | ||
92 | .dev = { | ||
93 | .platform_data = &isp1760_priv, | ||
94 | }, | ||
95 | .num_resources = ARRAY_SIZE(bfin_isp1760_resources), | ||
96 | .resource = bfin_isp1760_resources, | ||
91 | }; | 97 | }; |
92 | |||
93 | int __init bfin_isp1761_init(void) | ||
94 | { | ||
95 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
96 | |||
97 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
98 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
99 | |||
100 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
101 | } | ||
102 | |||
103 | void __exit bfin_isp1761_exit(void) | ||
104 | { | ||
105 | platform_device_unregister(&bfin_isp1761_device); | ||
106 | } | ||
107 | |||
108 | arch_initcall(bfin_isp1761_init); | ||
109 | #endif | 98 | #endif |
110 | 99 | ||
111 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 100 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
@@ -1057,6 +1046,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1057 | &isp1362_hcd_device, | 1046 | &isp1362_hcd_device, |
1058 | #endif | 1047 | #endif |
1059 | 1048 | ||
1049 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
1050 | &bfin_isp1760_device, | ||
1051 | #endif | ||
1052 | |||
1060 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | 1053 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) |
1061 | &smc91x_device, | 1054 | &smc91x_device, |
1062 | #endif | 1055 | #endif |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index 5288187a3ace..c0fd469d04c7 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -59,9 +59,9 @@ const char bfin_board_name[] = "ADSP-BF548-EZKIT"; | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 61 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
62 | static struct resource bfin_isp1761_resources[] = { | 62 | #include <linux/usb/isp1760.h> |
63 | static struct resource bfin_isp1760_resources[] = { | ||
63 | [0] = { | 64 | [0] = { |
64 | .name = "isp1761-regs", | ||
65 | .start = 0x2C0C0000, | 65 | .start = 0x2C0C0000, |
66 | .end = 0x2C0C0000 + 0xfffff, | 66 | .end = 0x2C0C0000 + 0xfffff, |
67 | .flags = IORESOURCE_MEM, | 67 | .flags = IORESOURCE_MEM, |
@@ -73,32 +73,25 @@ static struct resource bfin_isp1761_resources[] = { | |||
73 | }, | 73 | }, |
74 | }; | 74 | }; |
75 | 75 | ||
76 | static struct platform_device bfin_isp1761_device = { | 76 | static struct isp1760_platform_data isp1760_priv = { |
77 | .name = "isp1761", | 77 | .is_isp1761 = 0, |
78 | .id = 0, | 78 | .port1_disable = 0, |
79 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | 79 | .bus_width_16 = 1, |
80 | .resource = bfin_isp1761_resources, | 80 | .port1_otg = 0, |
81 | .analog_oc = 0, | ||
82 | .dack_polarity_high = 0, | ||
83 | .dreq_polarity_high = 0, | ||
81 | }; | 84 | }; |
82 | 85 | ||
83 | static struct platform_device *bfin_isp1761_devices[] = { | 86 | static struct platform_device bfin_isp1760_device = { |
84 | &bfin_isp1761_device, | 87 | .name = "isp1760-hcd", |
88 | .id = 0, | ||
89 | .dev = { | ||
90 | .platform_data = &isp1760_priv, | ||
91 | }, | ||
92 | .num_resources = ARRAY_SIZE(bfin_isp1760_resources), | ||
93 | .resource = bfin_isp1760_resources, | ||
85 | }; | 94 | }; |
86 | |||
87 | int __init bfin_isp1761_init(void) | ||
88 | { | ||
89 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
90 | |||
91 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
92 | set_irq_type(bfin_isp1761_resources[1].start, IRQF_TRIGGER_FALLING); | ||
93 | |||
94 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
95 | } | ||
96 | |||
97 | void __exit bfin_isp1761_exit(void) | ||
98 | { | ||
99 | platform_device_unregister(&bfin_isp1761_device); | ||
100 | } | ||
101 | arch_initcall(bfin_isp1761_init); | ||
102 | #endif | 95 | #endif |
103 | 96 | ||
104 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) | 97 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) |
@@ -827,6 +820,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
827 | &musb_device, | 820 | &musb_device, |
828 | #endif | 821 | #endif |
829 | 822 | ||
823 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
824 | &bfin_isp1760_device, | ||
825 | #endif | ||
826 | |||
830 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | 827 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) |
831 | &bfin_atapi_device, | 828 | &bfin_atapi_device, |
832 | #endif | 829 | #endif |
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 |