diff options
author | Tony Lindgren <tony@atomide.com> | 2005-11-10 09:26:48 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-10 09:26:48 -0500 |
commit | 3179a019391f0f8081245fd564a5f1be308ba64f (patch) | |
tree | afdc1200f17b0ca97e04baa7c2cc2d4d2883e0c9 /arch/arm/mach-omap1/board-innovator.c | |
parent | a7918f39bbe59fe76f43743bdb6bb8b0bdefd94a (diff) |
[ARM] 3141/1: OMAP 1/5: Update omap1 specific files
Patch from Tony Lindgren
This patch syncs the mainline kernel with linux-omap tree.
The highlights of the patch are:
- Omap1 serial pport and framebuffer init updates by Imre Deak
- Add support for omap310 processor and Palm Tungsten E PDA
by Laurent Gonzales, Romain Goyet, et al. Omap310 and
omap1510 processors are now handled as omap15xx.
- Omap1 specific changes to shared omap clock framework
by Tony Lindgren
- Omap1 specific changes to shared omap pin mux framework
by Tony Lindgren
- Other misc fixes, such as update memory timings for smc91x,
omap1 specific device initialization etc.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-omap1/board-innovator.c')
-rw-r--r-- | arch/arm/mach-omap1/board-innovator.c | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index a2eac853b2d..95f1ff36cdc 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -36,8 +36,6 @@ | |||
36 | #include <asm/arch/usb.h> | 36 | #include <asm/arch/usb.h> |
37 | #include <asm/arch/common.h> | 37 | #include <asm/arch/common.h> |
38 | 38 | ||
39 | static int __initdata innovator_serial_ports[OMAP_MAX_NR_PORTS] = {1, 1, 1}; | ||
40 | |||
41 | static struct mtd_partition innovator_partitions[] = { | 39 | static struct mtd_partition innovator_partitions[] = { |
42 | /* bootloader (U-Boot, etc) in first sector */ | 40 | /* bootloader (U-Boot, etc) in first sector */ |
43 | { | 41 | { |
@@ -99,7 +97,7 @@ static struct platform_device innovator_flash_device = { | |||
99 | .resource = &innovator_flash_resource, | 97 | .resource = &innovator_flash_resource, |
100 | }; | 98 | }; |
101 | 99 | ||
102 | #ifdef CONFIG_ARCH_OMAP1510 | 100 | #ifdef CONFIG_ARCH_OMAP15XX |
103 | 101 | ||
104 | /* Only FPGA needs to be mapped here. All others are done with ioremap */ | 102 | /* Only FPGA needs to be mapped here. All others are done with ioremap */ |
105 | static struct map_desc innovator1510_io_desc[] __initdata = { | 103 | static struct map_desc innovator1510_io_desc[] __initdata = { |
@@ -136,7 +134,7 @@ static struct platform_device *innovator1510_devices[] __initdata = { | |||
136 | &innovator1510_smc91x_device, | 134 | &innovator1510_smc91x_device, |
137 | }; | 135 | }; |
138 | 136 | ||
139 | #endif /* CONFIG_ARCH_OMAP1510 */ | 137 | #endif /* CONFIG_ARCH_OMAP15XX */ |
140 | 138 | ||
141 | #ifdef CONFIG_ARCH_OMAP16XX | 139 | #ifdef CONFIG_ARCH_OMAP16XX |
142 | 140 | ||
@@ -185,7 +183,7 @@ void innovator_init_irq(void) | |||
185 | { | 183 | { |
186 | omap_init_irq(); | 184 | omap_init_irq(); |
187 | omap_gpio_init(); | 185 | omap_gpio_init(); |
188 | #ifdef CONFIG_ARCH_OMAP1510 | 186 | #ifdef CONFIG_ARCH_OMAP15XX |
189 | if (cpu_is_omap1510()) { | 187 | if (cpu_is_omap1510()) { |
190 | omap1510_fpga_init_irq(); | 188 | omap1510_fpga_init_irq(); |
191 | } | 189 | } |
@@ -193,7 +191,7 @@ void innovator_init_irq(void) | |||
193 | innovator_init_smc91x(); | 191 | innovator_init_smc91x(); |
194 | } | 192 | } |
195 | 193 | ||
196 | #ifdef CONFIG_ARCH_OMAP1510 | 194 | #ifdef CONFIG_ARCH_OMAP15XX |
197 | static struct omap_usb_config innovator1510_usb_config __initdata = { | 195 | static struct omap_usb_config innovator1510_usb_config __initdata = { |
198 | /* for bundled non-standard host and peripheral cables */ | 196 | /* for bundled non-standard host and peripheral cables */ |
199 | .hmc_mode = 4, | 197 | .hmc_mode = 4, |
@@ -205,6 +203,11 @@ static struct omap_usb_config innovator1510_usb_config __initdata = { | |||
205 | .register_dev = 1, | 203 | .register_dev = 1, |
206 | .pins[0] = 2, | 204 | .pins[0] = 2, |
207 | }; | 205 | }; |
206 | |||
207 | static struct omap_lcd_config innovator1510_lcd_config __initdata = { | ||
208 | .panel_name = "inn1510", | ||
209 | .ctrl_name = "internal", | ||
210 | }; | ||
208 | #endif | 211 | #endif |
209 | 212 | ||
210 | #ifdef CONFIG_ARCH_OMAP16XX | 213 | #ifdef CONFIG_ARCH_OMAP16XX |
@@ -222,6 +225,11 @@ static struct omap_usb_config h2_usb_config __initdata = { | |||
222 | 225 | ||
223 | .pins[1] = 3, | 226 | .pins[1] = 3, |
224 | }; | 227 | }; |
228 | |||
229 | static struct omap_lcd_config innovator1610_lcd_config __initdata = { | ||
230 | .panel_name = "inn1610", | ||
231 | .ctrl_name = "internal", | ||
232 | }; | ||
225 | #endif | 233 | #endif |
226 | 234 | ||
227 | static struct omap_mmc_config innovator_mmc_config __initdata = { | 235 | static struct omap_mmc_config innovator_mmc_config __initdata = { |
@@ -234,14 +242,20 @@ static struct omap_mmc_config innovator_mmc_config __initdata = { | |||
234 | }, | 242 | }, |
235 | }; | 243 | }; |
236 | 244 | ||
245 | static struct omap_uart_config innovator_uart_config __initdata = { | ||
246 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), | ||
247 | }; | ||
248 | |||
237 | static struct omap_board_config_kernel innovator_config[] = { | 249 | static struct omap_board_config_kernel innovator_config[] = { |
238 | { OMAP_TAG_USB, NULL }, | 250 | { OMAP_TAG_USB, NULL }, |
251 | { OMAP_TAG_LCD, NULL }, | ||
239 | { OMAP_TAG_MMC, &innovator_mmc_config }, | 252 | { OMAP_TAG_MMC, &innovator_mmc_config }, |
253 | { OMAP_TAG_UART, &innovator_uart_config }, | ||
240 | }; | 254 | }; |
241 | 255 | ||
242 | static void __init innovator_init(void) | 256 | static void __init innovator_init(void) |
243 | { | 257 | { |
244 | #ifdef CONFIG_ARCH_OMAP1510 | 258 | #ifdef CONFIG_ARCH_OMAP15XX |
245 | if (cpu_is_omap1510()) { | 259 | if (cpu_is_omap1510()) { |
246 | platform_add_devices(innovator1510_devices, ARRAY_SIZE(innovator1510_devices)); | 260 | platform_add_devices(innovator1510_devices, ARRAY_SIZE(innovator1510_devices)); |
247 | } | 261 | } |
@@ -252,23 +266,28 @@ static void __init innovator_init(void) | |||
252 | } | 266 | } |
253 | #endif | 267 | #endif |
254 | 268 | ||
255 | #ifdef CONFIG_ARCH_OMAP1510 | 269 | #ifdef CONFIG_ARCH_OMAP15XX |
256 | if (cpu_is_omap1510()) | 270 | if (cpu_is_omap1510()) { |
257 | innovator_config[0].data = &innovator1510_usb_config; | 271 | innovator_config[0].data = &innovator1510_usb_config; |
272 | innovator_config[1].data = &innovator1510_lcd_config; | ||
273 | } | ||
258 | #endif | 274 | #endif |
259 | #ifdef CONFIG_ARCH_OMAP16XX | 275 | #ifdef CONFIG_ARCH_OMAP16XX |
260 | if (cpu_is_omap1610()) | 276 | if (cpu_is_omap1610()) { |
261 | innovator_config[0].data = &h2_usb_config; | 277 | innovator_config[0].data = &h2_usb_config; |
278 | innovator_config[1].data = &innovator1610_lcd_config; | ||
279 | } | ||
262 | #endif | 280 | #endif |
263 | omap_board_config = innovator_config; | 281 | omap_board_config = innovator_config; |
264 | omap_board_config_size = ARRAY_SIZE(innovator_config); | 282 | omap_board_config_size = ARRAY_SIZE(innovator_config); |
283 | omap_serial_init(); | ||
265 | } | 284 | } |
266 | 285 | ||
267 | static void __init innovator_map_io(void) | 286 | static void __init innovator_map_io(void) |
268 | { | 287 | { |
269 | omap_map_common_io(); | 288 | omap_map_common_io(); |
270 | 289 | ||
271 | #ifdef CONFIG_ARCH_OMAP1510 | 290 | #ifdef CONFIG_ARCH_OMAP15XX |
272 | if (cpu_is_omap1510()) { | 291 | if (cpu_is_omap1510()) { |
273 | iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc)); | 292 | iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc)); |
274 | udelay(10); /* Delay needed for FPGA */ | 293 | udelay(10); /* Delay needed for FPGA */ |
@@ -280,7 +299,6 @@ static void __init innovator_map_io(void) | |||
280 | fpga_read(OMAP1510_FPGA_BOARD_REV)); | 299 | fpga_read(OMAP1510_FPGA_BOARD_REV)); |
281 | } | 300 | } |
282 | #endif | 301 | #endif |
283 | omap_serial_init(innovator_serial_ports); | ||
284 | } | 302 | } |
285 | 303 | ||
286 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") | 304 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") |