aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2014-11-03 20:50:55 -0500
committerTony Lindgren <tony@atomide.com>2014-11-03 20:50:55 -0500
commit1b383f44aabc8b69b8bc0d32b914f3d3cece9e04 (patch)
treeb7c42f1bb4972467a13579bb59882964a24e290c /arch/arm/mach-omap2
parent9e1e632c4846f0326b5173e0711a32f414efc5c5 (diff)
ARM: OMAP2+: Drop board file for 3430sdp
This board seems to be in use only for few automated boot test system and has been booting in device tree only mode for quite some time now. So let's drop the board file for it. Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/Kconfig6
-rw-r--r--arch/arm/mach-omap2/Makefile1
-rw-r--r--arch/arm/mach-omap2/board-3430sdp.c604
3 files changed, 0 insertions, 611 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 7adc4f774251..27ec8923ddf6 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -235,12 +235,6 @@ config MACH_TOUCHBOOK
235 default y 235 default y
236 select OMAP_PACKAGE_CBB 236 select OMAP_PACKAGE_CBB
237 237
238config MACH_OMAP_3430SDP
239 bool "OMAP 3430 SDP board"
240 depends on ARCH_OMAP3
241 default y
242 select OMAP_PACKAGE_CBB
243
244config MACH_NOKIA_N810 238config MACH_NOKIA_N810
245 bool 239 bool
246 240
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 3a54671f417b..00b35a31797d 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -246,7 +246,6 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM) += board-omap3logic.o
246obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o 246obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o
247obj-$(CONFIG_MACH_OVERO) += board-overo.o 247obj-$(CONFIG_MACH_OVERO) += board-overo.o
248obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o 248obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o
249obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o
250obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o 249obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
251obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o 250obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o
252obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-peripherals.o 251obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-peripherals.o
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
deleted file mode 100644
index 9857882c2f41..000000000000
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ /dev/null
@@ -1,604 +0,0 @@
1/*
2 * linux/arch/arm/mach-omap2/board-3430sdp.c
3 *
4 * Copyright (C) 2007 Texas Instruments
5 *
6 * Modified from mach-omap2/board-generic.c
7 *
8 * Initial code: Syed Mohammed Khasim
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/platform_device.h>
18#include <linux/delay.h>
19#include <linux/input.h>
20#include <linux/input/matrix_keypad.h>
21#include <linux/spi/spi.h>
22#include <linux/i2c/twl.h>
23#include <linux/regulator/machine.h>
24#include <linux/io.h>
25#include <linux/gpio.h>
26#include <linux/mmc/host.h>
27#include <linux/platform_data/spi-omap2-mcspi.h>
28#include <linux/platform_data/omap-twl4030.h>
29#include <linux/usb/phy.h>
30
31#include <asm/mach-types.h>
32#include <asm/mach/arch.h>
33#include <asm/mach/map.h>
34
35#include "common.h"
36#include <linux/omap-dma.h>
37#include <video/omapdss.h>
38#include <video/omap-panel-data.h>
39
40#include "gpmc.h"
41
42#include "soc.h"
43#include "board-flash.h"
44#include "mux.h"
45#include "sdram-qimonda-hyb18m512160af-6.h"
46#include "hsmmc.h"
47#include "pm.h"
48#include "control.h"
49#include "common-board-devices.h"
50
51#define CONFIG_DISABLE_HFCLK 1
52
53#define SDP3430_TS_GPIO_IRQ_SDPV1 3
54#define SDP3430_TS_GPIO_IRQ_SDPV2 2
55
56#define ENABLE_VAUX3_DEDICATED 0x03
57#define ENABLE_VAUX3_DEV_GRP 0x20
58
59#define TWL4030_MSECURE_GPIO 22
60
61static uint32_t board_keymap[] = {
62 KEY(0, 0, KEY_LEFT),
63 KEY(0, 1, KEY_RIGHT),
64 KEY(0, 2, KEY_A),
65 KEY(0, 3, KEY_B),
66 KEY(0, 4, KEY_C),
67 KEY(1, 0, KEY_DOWN),
68 KEY(1, 1, KEY_UP),
69 KEY(1, 2, KEY_E),
70 KEY(1, 3, KEY_F),
71 KEY(1, 4, KEY_G),
72 KEY(2, 0, KEY_ENTER),
73 KEY(2, 1, KEY_I),
74 KEY(2, 2, KEY_J),
75 KEY(2, 3, KEY_K),
76 KEY(2, 4, KEY_3),
77 KEY(3, 0, KEY_M),
78 KEY(3, 1, KEY_N),
79 KEY(3, 2, KEY_O),
80 KEY(3, 3, KEY_P),
81 KEY(3, 4, KEY_Q),
82 KEY(4, 0, KEY_R),
83 KEY(4, 1, KEY_4),
84 KEY(4, 2, KEY_T),
85 KEY(4, 3, KEY_U),
86 KEY(4, 4, KEY_D),
87 KEY(5, 0, KEY_V),
88 KEY(5, 1, KEY_W),
89 KEY(5, 2, KEY_L),
90 KEY(5, 3, KEY_S),
91 KEY(5, 4, KEY_H),
92 0
93};
94
95static struct matrix_keymap_data board_map_data = {
96 .keymap = board_keymap,
97 .keymap_size = ARRAY_SIZE(board_keymap),
98};
99
100static struct twl4030_keypad_data sdp3430_kp_data = {
101 .keymap_data = &board_map_data,
102 .rows = 5,
103 .cols = 6,
104 .rep = 1,
105};
106
107#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 8
108#define SDP3430_LCD_PANEL_ENABLE_GPIO 5
109
110static void __init sdp3430_display_init(void)
111{
112 int r;
113
114 /*
115 * the backlight GPIO doesn't directly go to the panel, it enables
116 * an internal circuit on 3430sdp to create the signal V_BKL_28V,
117 * this is connected to LED+ pin of the sharp panel. This GPIO
118 * is left enabled in the board file, and not passed to the panel
119 * as platform_data.
120 */
121 r = gpio_request_one(SDP3430_LCD_PANEL_BACKLIGHT_GPIO,
122 GPIOF_OUT_INIT_HIGH, "LCD Backlight");
123 if (r)
124 pr_err("failed to get LCD Backlight GPIO\n");
125
126}
127
128static struct panel_sharp_ls037v7dw01_platform_data sdp3430_lcd_pdata = {
129 .name = "lcd",
130 .source = "dpi.0",
131
132 .data_lines = 16,
133
134 .resb_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO,
135 .ini_gpio = -1,
136 .mo_gpio = -1,
137 .lr_gpio = -1,
138 .ud_gpio = -1,
139};
140
141static struct platform_device sdp3430_lcd_device = {
142 .name = "panel-sharp-ls037v7dw01",
143 .id = 0,
144 .dev.platform_data = &sdp3430_lcd_pdata,
145};
146
147static struct connector_dvi_platform_data sdp3430_dvi_connector_pdata = {
148 .name = "dvi",
149 .source = "tfp410.0",
150 .i2c_bus_num = -1,
151};
152
153static struct platform_device sdp3430_dvi_connector_device = {
154 .name = "connector-dvi",
155 .id = 0,
156 .dev.platform_data = &sdp3430_dvi_connector_pdata,
157};
158
159static struct encoder_tfp410_platform_data sdp3430_tfp410_pdata = {
160 .name = "tfp410.0",
161 .source = "dpi.0",
162 .data_lines = 24,
163 .power_down_gpio = -1,
164};
165
166static struct platform_device sdp3430_tfp410_device = {
167 .name = "tfp410",
168 .id = 0,
169 .dev.platform_data = &sdp3430_tfp410_pdata,
170};
171
172static struct connector_atv_platform_data sdp3430_tv_pdata = {
173 .name = "tv",
174 .source = "venc.0",
175 .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
176 .invert_polarity = false,
177};
178
179static struct platform_device sdp3430_tv_connector_device = {
180 .name = "connector-analog-tv",
181 .id = 0,
182 .dev.platform_data = &sdp3430_tv_pdata,
183};
184
185static struct omap_dss_board_info sdp3430_dss_data = {
186 .default_display_name = "lcd",
187};
188
189static struct omap2_hsmmc_info mmc[] = {
190 {
191 .mmc = 1,
192 /* 8 bits (default) requires S6.3 == ON,
193 * so the SIM card isn't used; else 4 bits.
194 */
195 .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
196 .gpio_wp = 4,
197 .deferred = true,
198 },
199 {
200 .mmc = 2,
201 .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
202 .gpio_wp = 7,
203 .deferred = true,
204 },
205 {} /* Terminator */
206};
207
208static struct omap_tw4030_pdata omap_twl4030_audio_data = {
209 .voice_connected = true,
210 .custom_routing = true,
211
212 .has_hs = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
213 .has_hf = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
214
215 .has_mainmic = true,
216 .has_submic = true,
217 .has_hsmic = true,
218 .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
219};
220
221static int sdp3430_twl_gpio_setup(struct device *dev,
222 unsigned gpio, unsigned ngpio)
223{
224 /* gpio + 0 is "mmc0_cd" (input/IRQ),
225 * gpio + 1 is "mmc1_cd" (input/IRQ)
226 */
227 mmc[0].gpio_cd = gpio + 0;
228 mmc[1].gpio_cd = gpio + 1;
229 omap_hsmmc_late_init(mmc);
230
231 /* gpio + 7 is "sub_lcd_en_bkl" (output/PWM1) */
232 gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "sub_lcd_en_bkl");
233
234 /* gpio + 15 is "sub_lcd_nRST" (output) */
235 gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST");
236
237 omap_twl4030_audio_data.jack_detect = gpio + 2;
238 omap_twl4030_audio_init("SDP3430", &omap_twl4030_audio_data);
239
240 return 0;
241}
242
243static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
244 .pulldowns = BIT(2) | BIT(6) | BIT(8) | BIT(13)
245 | BIT(16) | BIT(17),
246 .setup = sdp3430_twl_gpio_setup,
247};
248
249/* regulator consumer mappings */
250
251/* ads7846 on SPI */
252static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
253 REGULATOR_SUPPLY("vcc", "spi1.0"),
254};
255
256static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
257 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
258};
259
260static struct regulator_consumer_supply sdp3430_vsim_supplies[] = {
261 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
262};
263
264static struct regulator_consumer_supply sdp3430_vmmc2_supplies[] = {
265 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
266};
267
268/*
269 * Apply all the fixed voltages since most versions of U-Boot
270 * don't bother with that initialization.
271 */
272
273/* VAUX1 for mainboard (irda and sub-lcd) */
274static struct regulator_init_data sdp3430_vaux1 = {
275 .constraints = {
276 .min_uV = 2800000,
277 .max_uV = 2800000,
278 .apply_uV = true,
279 .valid_modes_mask = REGULATOR_MODE_NORMAL
280 | REGULATOR_MODE_STANDBY,
281 .valid_ops_mask = REGULATOR_CHANGE_MODE
282 | REGULATOR_CHANGE_STATUS,
283 },
284};
285
286/* VAUX2 for camera module */
287static struct regulator_init_data sdp3430_vaux2 = {
288 .constraints = {
289 .min_uV = 2800000,
290 .max_uV = 2800000,
291 .apply_uV = true,
292 .valid_modes_mask = REGULATOR_MODE_NORMAL
293 | REGULATOR_MODE_STANDBY,
294 .valid_ops_mask = REGULATOR_CHANGE_MODE
295 | REGULATOR_CHANGE_STATUS,
296 },
297};
298
299/* VAUX3 for LCD board */
300static struct regulator_init_data sdp3430_vaux3 = {
301 .constraints = {
302 .min_uV = 2800000,
303 .max_uV = 2800000,
304 .apply_uV = true,
305 .valid_modes_mask = REGULATOR_MODE_NORMAL
306 | REGULATOR_MODE_STANDBY,
307 .valid_ops_mask = REGULATOR_CHANGE_MODE
308 | REGULATOR_CHANGE_STATUS,
309 },
310 .num_consumer_supplies = ARRAY_SIZE(sdp3430_vaux3_supplies),
311 .consumer_supplies = sdp3430_vaux3_supplies,
312};
313
314/* VAUX4 for OMAP VDD_CSI2 (camera) */
315static struct regulator_init_data sdp3430_vaux4 = {
316 .constraints = {
317 .min_uV = 1800000,
318 .max_uV = 1800000,
319 .apply_uV = true,
320 .valid_modes_mask = REGULATOR_MODE_NORMAL
321 | REGULATOR_MODE_STANDBY,
322 .valid_ops_mask = REGULATOR_CHANGE_MODE
323 | REGULATOR_CHANGE_STATUS,
324 },
325};
326
327/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
328static struct regulator_init_data sdp3430_vmmc1 = {
329 .constraints = {
330 .min_uV = 1850000,
331 .max_uV = 3150000,
332 .valid_modes_mask = REGULATOR_MODE_NORMAL
333 | REGULATOR_MODE_STANDBY,
334 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
335 | REGULATOR_CHANGE_MODE
336 | REGULATOR_CHANGE_STATUS,
337 },
338 .num_consumer_supplies = ARRAY_SIZE(sdp3430_vmmc1_supplies),
339 .consumer_supplies = sdp3430_vmmc1_supplies,
340};
341
342/* VMMC2 for MMC2 card */
343static struct regulator_init_data sdp3430_vmmc2 = {
344 .constraints = {
345 .min_uV = 1850000,
346 .max_uV = 1850000,
347 .apply_uV = true,
348 .valid_modes_mask = REGULATOR_MODE_NORMAL
349 | REGULATOR_MODE_STANDBY,
350 .valid_ops_mask = REGULATOR_CHANGE_MODE
351 | REGULATOR_CHANGE_STATUS,
352 },
353 .num_consumer_supplies = ARRAY_SIZE(sdp3430_vmmc2_supplies),
354 .consumer_supplies = sdp3430_vmmc2_supplies,
355};
356
357/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
358static struct regulator_init_data sdp3430_vsim = {
359 .constraints = {
360 .min_uV = 1800000,
361 .max_uV = 3000000,
362 .valid_modes_mask = REGULATOR_MODE_NORMAL
363 | REGULATOR_MODE_STANDBY,
364 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
365 | REGULATOR_CHANGE_MODE
366 | REGULATOR_CHANGE_STATUS,
367 },
368 .num_consumer_supplies = ARRAY_SIZE(sdp3430_vsim_supplies),
369 .consumer_supplies = sdp3430_vsim_supplies,
370};
371
372static struct twl4030_platform_data sdp3430_twldata = {
373 /* platform_data for children goes here */
374 .gpio = &sdp3430_gpio_data,
375 .keypad = &sdp3430_kp_data,
376
377 .vaux1 = &sdp3430_vaux1,
378 .vaux2 = &sdp3430_vaux2,
379 .vaux3 = &sdp3430_vaux3,
380 .vaux4 = &sdp3430_vaux4,
381 .vmmc1 = &sdp3430_vmmc1,
382 .vmmc2 = &sdp3430_vmmc2,
383 .vsim = &sdp3430_vsim,
384};
385
386static int __init omap3430_i2c_init(void)
387{
388 /* i2c1 for PMIC only */
389 omap3_pmic_get_config(&sdp3430_twldata,
390 TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
391 TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO,
392 TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
393 sdp3430_twldata.vdac->constraints.apply_uV = true;
394 sdp3430_twldata.vpll2->constraints.apply_uV = true;
395 sdp3430_twldata.vpll2->constraints.name = "VDVI";
396
397 sdp3430_twldata.audio->codec->hs_extmute = 1;
398 sdp3430_twldata.audio->codec->hs_extmute_gpio = -EINVAL;
399
400 omap3_pmic_init("twl4030", &sdp3430_twldata);
401
402 /* i2c2 on camera connector (for sensor control) and optional isp1301 */
403 omap_register_i2c_bus(2, 400, NULL, 0);
404 /* i2c3 on display connector (for DVI, tfp410) */
405 omap_register_i2c_bus(3, 400, NULL, 0);
406 return 0;
407}
408
409static void enable_board_wakeup_source(void)
410{
411 /* T2 interrupt line (keypad) */
412 omap_mux_init_signal("sys_nirq",
413 OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP);
414}
415
416static struct usbhs_phy_data phy_data[] __initdata = {
417 {
418 .port = 1,
419 .reset_gpio = 57,
420 .vcc_gpio = -EINVAL,
421 },
422 {
423 .port = 2,
424 .reset_gpio = 61,
425 .vcc_gpio = -EINVAL,
426 },
427};
428
429static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
430
431 .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
432 .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
433};
434
435#ifdef CONFIG_OMAP_MUX
436static struct omap_board_mux board_mux[] __initdata = {
437 { .reg_offset = OMAP_MUX_TERMINATOR },
438};
439#else
440#define board_mux NULL
441#endif
442
443/*
444 * SDP3430 V2 Board CS organization
445 * Different from SDP3430 V1. Now 4 switches used to specify CS
446 *
447 * See also the Switch S8 settings in the comments.
448 */
449static char chip_sel_3430[][GPMC_CS_NUM] = {
450 {PDC_NOR, PDC_NAND, PDC_ONENAND, DBG_MPDB, 0, 0, 0, 0}, /* S8:1111 */
451 {PDC_ONENAND, PDC_NAND, PDC_NOR, DBG_MPDB, 0, 0, 0, 0}, /* S8:1110 */
452 {PDC_NAND, PDC_ONENAND, PDC_NOR, DBG_MPDB, 0, 0, 0, 0}, /* S8:1101 */
453};
454
455static struct mtd_partition sdp_nor_partitions[] = {
456 /* bootloader (U-Boot, etc) in first sector */
457 {
458 .name = "Bootloader-NOR",
459 .offset = 0,
460 .size = SZ_256K,
461 .mask_flags = MTD_WRITEABLE, /* force read-only */
462 },
463 /* bootloader params in the next sector */
464 {
465 .name = "Params-NOR",
466 .offset = MTDPART_OFS_APPEND,
467 .size = SZ_256K,
468 .mask_flags = 0,
469 },
470 /* kernel */
471 {
472 .name = "Kernel-NOR",
473 .offset = MTDPART_OFS_APPEND,
474 .size = SZ_2M,
475 .mask_flags = 0
476 },
477 /* file system */
478 {
479 .name = "Filesystem-NOR",
480 .offset = MTDPART_OFS_APPEND,
481 .size = MTDPART_SIZ_FULL,
482 .mask_flags = 0
483 }
484};
485
486static struct mtd_partition sdp_onenand_partitions[] = {
487 {
488 .name = "X-Loader-OneNAND",
489 .offset = 0,
490 .size = 4 * (64 * 2048),
491 .mask_flags = MTD_WRITEABLE /* force read-only */
492 },
493 {
494 .name = "U-Boot-OneNAND",
495 .offset = MTDPART_OFS_APPEND,
496 .size = 2 * (64 * 2048),
497 .mask_flags = MTD_WRITEABLE /* force read-only */
498 },
499 {
500 .name = "U-Boot Environment-OneNAND",
501 .offset = MTDPART_OFS_APPEND,
502 .size = 1 * (64 * 2048),
503 },
504 {
505 .name = "Kernel-OneNAND",
506 .offset = MTDPART_OFS_APPEND,
507 .size = 16 * (64 * 2048),
508 },
509 {
510 .name = "File System-OneNAND",
511 .offset = MTDPART_OFS_APPEND,
512 .size = MTDPART_SIZ_FULL,
513 },
514};
515
516static struct mtd_partition sdp_nand_partitions[] = {
517 /* All the partition sizes are listed in terms of NAND block size */
518 {
519 .name = "X-Loader-NAND",
520 .offset = 0,
521 .size = 4 * (64 * 2048),
522 .mask_flags = MTD_WRITEABLE, /* force read-only */
523 },
524 {
525 .name = "U-Boot-NAND",
526 .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
527 .size = 10 * (64 * 2048),
528 .mask_flags = MTD_WRITEABLE, /* force read-only */
529 },
530 {
531 .name = "Boot Env-NAND",
532
533 .offset = MTDPART_OFS_APPEND, /* Offset = 0x1c0000 */
534 .size = 6 * (64 * 2048),
535 },
536 {
537 .name = "Kernel-NAND",
538 .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
539 .size = 40 * (64 * 2048),
540 },
541 {
542 .name = "File System - NAND",
543 .size = MTDPART_SIZ_FULL,
544 .offset = MTDPART_OFS_APPEND, /* Offset = 0x780000 */
545 },
546};
547
548static struct flash_partitions sdp_flash_partitions[] = {
549 {
550 .parts = sdp_nor_partitions,
551 .nr_parts = ARRAY_SIZE(sdp_nor_partitions),
552 },
553 {
554 .parts = sdp_onenand_partitions,
555 .nr_parts = ARRAY_SIZE(sdp_onenand_partitions),
556 },
557 {
558 .parts = sdp_nand_partitions,
559 .nr_parts = ARRAY_SIZE(sdp_nand_partitions),
560 },
561};
562
563static void __init omap_3430sdp_init(void)
564{
565 int gpio_pendown;
566
567 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
568 omap_hsmmc_init(mmc);
569 omap3430_i2c_init();
570 omap_display_init(&sdp3430_dss_data);
571 platform_device_register(&sdp3430_lcd_device);
572 platform_device_register(&sdp3430_tfp410_device);
573 platform_device_register(&sdp3430_dvi_connector_device);
574 platform_device_register(&sdp3430_tv_connector_device);
575
576 if (omap_rev() > OMAP3430_REV_ES1_0)
577 gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV2;
578 else
579 gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV1;
580 omap_ads7846_init(1, gpio_pendown, 310, NULL);
581 omap_serial_init();
582 omap_sdrc_init(hyb18m512160af6_sdrc_params, NULL);
583 usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
584 usb_musb_init(NULL);
585 board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
586 sdp3430_display_init();
587 enable_board_wakeup_source();
588
589 usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
590 usbhs_init(&usbhs_bdata);
591}
592
593MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
594 /* Maintainer: Syed Khasim - Texas Instruments Inc */
595 .atag_offset = 0x100,
596 .reserve = omap_reserve,
597 .map_io = omap3_map_io,
598 .init_early = omap3430_init_early,
599 .init_irq = omap3_init_irq,
600 .init_machine = omap_3430sdp_init,
601 .init_late = omap3430_init_late,
602 .init_time = omap3_sync32k_timer_init,
603 .restart = omap3xxx_restart,
604MACHINE_END