diff options
author | Ben Dooks <ben@simtec.co.uk> | 2009-03-06 14:49:48 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-05-07 06:04:54 -0400 |
commit | eca8655ffa1ffb23c8f6f1485c1315a3087c8f38 (patch) | |
tree | ce06a53f4d49ee5bba5fda3d98807778b97da4df /arch/arm | |
parent | 091438dd5668396328a3419abcbc6591159eb8d1 (diff) |
[ARM] S3C: Add common USB OHCI device definition
Add common definition for USB OHCI platform device, add a Kconfig
to selectively compile it and add update all the users.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-s3c2410/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/plat-s3c/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/plat-s3c/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c/dev-usb.c | 50 | ||||
-rw-r--r-- | arch/arm/plat-s3c24xx/devs.c | 30 |
7 files changed, 72 insertions, 30 deletions
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig index 63a30d1dd42..41bb65d5b91 100644 --- a/arch/arm/mach-s3c2410/Kconfig +++ b/arch/arm/mach-s3c2410/Kconfig | |||
@@ -59,6 +59,7 @@ config ARCH_H1940 | |||
59 | bool "IPAQ H1940" | 59 | bool "IPAQ H1940" |
60 | select CPU_S3C2410 | 60 | select CPU_S3C2410 |
61 | select PM_H1940 if PM | 61 | select PM_H1940 if PM |
62 | select S3C_DEV_USB_HOST | ||
62 | help | 63 | help |
63 | Say Y here if you are using the HP IPAQ H1940 | 64 | Say Y here if you are using the HP IPAQ H1940 |
64 | 65 | ||
@@ -70,6 +71,7 @@ config PM_H1940 | |||
70 | config MACH_N30 | 71 | config MACH_N30 |
71 | bool "Acer N30 family" | 72 | bool "Acer N30 family" |
72 | select CPU_S3C2410 | 73 | select CPU_S3C2410 |
74 | select S3C_DEV_USB_HOST | ||
73 | help | 75 | help |
74 | Say Y here if you want suppt for the Acer N30, Acer N35, | 76 | Say Y here if you want suppt for the Acer N30, Acer N35, |
75 | Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs. | 77 | Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs. |
@@ -82,6 +84,7 @@ config ARCH_BAST | |||
82 | select MACH_BAST_IDE | 84 | select MACH_BAST_IDE |
83 | select S3C24XX_DCLK | 85 | select S3C24XX_DCLK |
84 | select ISA | 86 | select ISA |
87 | select S3C_DEV_USB_HOST | ||
85 | help | 88 | help |
86 | Say Y here if you are using the Simtec Electronics EB2410ITX | 89 | Say Y here if you are using the Simtec Electronics EB2410ITX |
87 | development board (also known as BAST) | 90 | development board (also known as BAST) |
@@ -89,6 +92,7 @@ config ARCH_BAST | |||
89 | config MACH_OTOM | 92 | config MACH_OTOM |
90 | bool "NexVision OTOM Board" | 93 | bool "NexVision OTOM Board" |
91 | select CPU_S3C2410 | 94 | select CPU_S3C2410 |
95 | select S3C_DEV_USB_HOST | ||
92 | help | 96 | help |
93 | Say Y here if you are using the Nex Vision OTOM board | 97 | Say Y here if you are using the Nex Vision OTOM board |
94 | 98 | ||
@@ -96,6 +100,7 @@ config MACH_AML_M5900 | |||
96 | bool "AML M5900 Series" | 100 | bool "AML M5900 Series" |
97 | select CPU_S3C2410 | 101 | select CPU_S3C2410 |
98 | select PM_SIMTEC if PM | 102 | select PM_SIMTEC if PM |
103 | select S3C_DEV_USB_HOST | ||
99 | help | 104 | help |
100 | Say Y here if you are using the American Microsystems M5900 Series | 105 | Say Y here if you are using the American Microsystems M5900 Series |
101 | <http://www.amltd.com> | 106 | <http://www.amltd.com> |
@@ -111,6 +116,7 @@ config BAST_PC104_IRQ | |||
111 | config MACH_TCT_HAMMER | 116 | config MACH_TCT_HAMMER |
112 | bool "TCT Hammer Board" | 117 | bool "TCT Hammer Board" |
113 | select CPU_S3C2410 | 118 | select CPU_S3C2410 |
119 | select S3C_DEV_USB_HOST | ||
114 | help | 120 | help |
115 | Say Y here if you are using the TinCanTools Hammer Board | 121 | Say Y here if you are using the TinCanTools Hammer Board |
116 | <http://www.tincantools.com> | 122 | <http://www.tincantools.com> |
@@ -122,12 +128,14 @@ config MACH_VR1000 | |||
122 | select SIMTEC_NOR | 128 | select SIMTEC_NOR |
123 | select MACH_BAST_IDE | 129 | select MACH_BAST_IDE |
124 | select CPU_S3C2410 | 130 | select CPU_S3C2410 |
131 | select S3C_DEV_USB_HOST | ||
125 | help | 132 | help |
126 | Say Y here if you are using the Thorcom VR1000 board. | 133 | Say Y here if you are using the Thorcom VR1000 board. |
127 | 134 | ||
128 | config MACH_QT2410 | 135 | config MACH_QT2410 |
129 | bool "QT2410" | 136 | bool "QT2410" |
130 | select CPU_S3C2410 | 137 | select CPU_S3C2410 |
138 | select S3C_DEV_USB_HOST | ||
131 | help | 139 | help |
132 | Say Y here if you are using the Armzone QT2410 | 140 | Say Y here if you are using the Armzone QT2410 |
133 | 141 | ||
diff --git a/arch/arm/mach-s3c2412/Kconfig b/arch/arm/mach-s3c2412/Kconfig index ca99564ae4b..63586ffd0ae 100644 --- a/arch/arm/mach-s3c2412/Kconfig +++ b/arch/arm/mach-s3c2412/Kconfig | |||
@@ -38,6 +38,7 @@ menu "S3C2412 Machines" | |||
38 | config MACH_JIVE | 38 | config MACH_JIVE |
39 | bool "Logitech Jive" | 39 | bool "Logitech Jive" |
40 | select CPU_S3C2412 | 40 | select CPU_S3C2412 |
41 | select S3C_DEV_USB_HOST | ||
41 | help | 42 | help |
42 | Say Y here if you are using the Logitech Jive. | 43 | Say Y here if you are using the Logitech Jive. |
43 | 44 | ||
@@ -50,6 +51,7 @@ config MACH_SMDK2413 | |||
50 | select CPU_S3C2412 | 51 | select CPU_S3C2412 |
51 | select MACH_S3C2413 | 52 | select MACH_S3C2413 |
52 | select MACH_SMDK | 53 | select MACH_SMDK |
54 | select S3C_DEV_USB_HOST | ||
53 | help | 55 | help |
54 | Say Y here if you are using an SMDK2413 | 56 | Say Y here if you are using an SMDK2413 |
55 | 57 | ||
@@ -72,6 +74,7 @@ config MACH_SMDK2412 | |||
72 | config MACH_VSTMS | 74 | config MACH_VSTMS |
73 | bool "VMSTMS" | 75 | bool "VMSTMS" |
74 | select CPU_S3C2412 | 76 | select CPU_S3C2412 |
77 | select S3C_DEV_USB_HOST | ||
75 | help | 78 | help |
76 | Say Y here if you are using an VSTMS board | 79 | Say Y here if you are using an VSTMS board |
77 | 80 | ||
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig index cde5ae9a434..5df73cbf2b4 100644 --- a/arch/arm/mach-s3c2440/Kconfig +++ b/arch/arm/mach-s3c2440/Kconfig | |||
@@ -33,6 +33,7 @@ config MACH_ANUBIS | |||
33 | select PM_SIMTEC if PM | 33 | select PM_SIMTEC if PM |
34 | select HAVE_PATA_PLATFORM | 34 | select HAVE_PATA_PLATFORM |
35 | select S3C24XX_GPIO_EXTRA64 | 35 | select S3C24XX_GPIO_EXTRA64 |
36 | select S3C_DEV_USB_HOST | ||
36 | help | 37 | help |
37 | Say Y here if you are using the Simtec Electronics ANUBIS | 38 | Say Y here if you are using the Simtec Electronics ANUBIS |
38 | development system | 39 | development system |
@@ -43,6 +44,7 @@ config MACH_OSIRIS | |||
43 | select S3C24XX_DCLK | 44 | select S3C24XX_DCLK |
44 | select PM_SIMTEC if PM | 45 | select PM_SIMTEC if PM |
45 | select S3C24XX_GPIO_EXTRA128 | 46 | select S3C24XX_GPIO_EXTRA128 |
47 | select S3C_DEV_USB_HOST | ||
46 | help | 48 | help |
47 | Say Y here if you are using the Simtec IM2440D20 module, also | 49 | Say Y here if you are using the Simtec IM2440D20 module, also |
48 | known as the Osiris. | 50 | known as the Osiris. |
@@ -58,12 +60,14 @@ config ARCH_S3C2440 | |||
58 | bool "SMDK2440" | 60 | bool "SMDK2440" |
59 | select CPU_S3C2440 | 61 | select CPU_S3C2440 |
60 | select MACH_SMDK | 62 | select MACH_SMDK |
63 | select S3C_DEV_USB_HOST | ||
61 | help | 64 | help |
62 | Say Y here if you are using the SMDK2440. | 65 | Say Y here if you are using the SMDK2440. |
63 | 66 | ||
64 | config MACH_NEXCODER_2440 | 67 | config MACH_NEXCODER_2440 |
65 | bool "NexVision NEXCODER 2440 Light Board" | 68 | bool "NexVision NEXCODER 2440 Light Board" |
66 | select CPU_S3C2440 | 69 | select CPU_S3C2440 |
70 | select S3C_DEV_USB_HOST | ||
67 | help | 71 | help |
68 | Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board | 72 | Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board |
69 | 73 | ||
@@ -76,6 +80,7 @@ config SMDK2440_CPU2440 | |||
76 | config MACH_AT2440EVB | 80 | config MACH_AT2440EVB |
77 | bool "Avantech AT2440EVB development board" | 81 | bool "Avantech AT2440EVB development board" |
78 | select CPU_S3C2440 | 82 | select CPU_S3C2440 |
83 | select S3C_DEV_USB_HOST | ||
79 | help | 84 | help |
80 | Say Y here if you are using the AT2440EVB development board | 85 | Say Y here if you are using the AT2440EVB development board |
81 | 86 | ||
diff --git a/arch/arm/plat-s3c/Kconfig b/arch/arm/plat-s3c/Kconfig index de9383814e5..042d34a6f81 100644 --- a/arch/arm/plat-s3c/Kconfig +++ b/arch/arm/plat-s3c/Kconfig | |||
@@ -172,4 +172,9 @@ config S3C_DEV_FB | |||
172 | help | 172 | help |
173 | Compile in platform device definition for framebuffer | 173 | Compile in platform device definition for framebuffer |
174 | 174 | ||
175 | config S3C_DEV_USB_HOST | ||
176 | bool | ||
177 | help | ||
178 | Compile in platform device definition for USB host. | ||
179 | |||
175 | endif | 180 | endif |
diff --git a/arch/arm/plat-s3c/Makefile b/arch/arm/plat-s3c/Makefile index 8d7815d25a5..aa995a49e56 100644 --- a/arch/arm/plat-s3c/Makefile +++ b/arch/arm/plat-s3c/Makefile | |||
@@ -30,3 +30,4 @@ obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o | |||
30 | obj-y += dev-i2c0.o | 30 | obj-y += dev-i2c0.o |
31 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o | 31 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o |
32 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o | 32 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o |
33 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o | ||
diff --git a/arch/arm/plat-s3c/dev-usb.c b/arch/arm/plat-s3c/dev-usb.c new file mode 100644 index 00000000000..a997d952816 --- /dev/null +++ b/arch/arm/plat-s3c/dev-usb.c | |||
@@ -0,0 +1,50 @@ | |||
1 | /* linux/arch/arm/plat-s3c/dev-usb.c | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * http://armlinux.simtec.co.uk/ | ||
6 | * | ||
7 | * S3C series device definition for USB host | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #include <linux/kernel.h> | ||
15 | #include <linux/string.h> | ||
16 | #include <linux/platform_device.h> | ||
17 | |||
18 | #include <mach/irqs.h> | ||
19 | #include <mach/map.h> | ||
20 | |||
21 | #include <plat/devs.h> | ||
22 | |||
23 | |||
24 | static struct resource s3c_usb_resource[] = { | ||
25 | [0] = { | ||
26 | .start = S3C24XX_PA_USBHOST, | ||
27 | .end = S3C24XX_PA_USBHOST + S3C24XX_SZ_USBHOST - 1, | ||
28 | .flags = IORESOURCE_MEM, | ||
29 | }, | ||
30 | [1] = { | ||
31 | .start = IRQ_USBH, | ||
32 | .end = IRQ_USBH, | ||
33 | .flags = IORESOURCE_IRQ, | ||
34 | } | ||
35 | }; | ||
36 | |||
37 | static u64 s3c_device_usb_dmamask = 0xffffffffUL; | ||
38 | |||
39 | struct platform_device s3c_device_usb = { | ||
40 | .name = "s3c2410-ohci", | ||
41 | .id = -1, | ||
42 | .num_resources = ARRAY_SIZE(s3c_usb_resource), | ||
43 | .resource = s3c_usb_resource, | ||
44 | .dev = { | ||
45 | .dma_mask = &s3c_device_usb_dmamask, | ||
46 | .coherent_dma_mask = 0xffffffffUL | ||
47 | } | ||
48 | }; | ||
49 | |||
50 | EXPORT_SYMBOL(s3c_device_usb); | ||
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c index 16ac01d9b8a..4eb378c89a3 100644 --- a/arch/arm/plat-s3c24xx/devs.c +++ b/arch/arm/plat-s3c24xx/devs.c | |||
@@ -136,36 +136,6 @@ struct platform_device *s3c24xx_uart_src[4] = { | |||
136 | struct platform_device *s3c24xx_uart_devs[4] = { | 136 | struct platform_device *s3c24xx_uart_devs[4] = { |
137 | }; | 137 | }; |
138 | 138 | ||
139 | /* USB Host Controller */ | ||
140 | |||
141 | static struct resource s3c_usb_resource[] = { | ||
142 | [0] = { | ||
143 | .start = S3C24XX_PA_USBHOST, | ||
144 | .end = S3C24XX_PA_USBHOST + S3C24XX_SZ_USBHOST - 1, | ||
145 | .flags = IORESOURCE_MEM, | ||
146 | }, | ||
147 | [1] = { | ||
148 | .start = IRQ_USBH, | ||
149 | .end = IRQ_USBH, | ||
150 | .flags = IORESOURCE_IRQ, | ||
151 | } | ||
152 | }; | ||
153 | |||
154 | static u64 s3c_device_usb_dmamask = 0xffffffffUL; | ||
155 | |||
156 | struct platform_device s3c_device_usb = { | ||
157 | .name = "s3c2410-ohci", | ||
158 | .id = -1, | ||
159 | .num_resources = ARRAY_SIZE(s3c_usb_resource), | ||
160 | .resource = s3c_usb_resource, | ||
161 | .dev = { | ||
162 | .dma_mask = &s3c_device_usb_dmamask, | ||
163 | .coherent_dma_mask = 0xffffffffUL | ||
164 | } | ||
165 | }; | ||
166 | |||
167 | EXPORT_SYMBOL(s3c_device_usb); | ||
168 | |||
169 | /* LCD Controller */ | 139 | /* LCD Controller */ |
170 | 140 | ||
171 | static struct resource s3c_lcd_resource[] = { | 141 | static struct resource s3c_lcd_resource[] = { |