307
307
.default_device = &sdp3430_lcd_device,
310
static struct platform_device sdp3430_dss_device = {
314
.platform_data = &sdp3430_dss_data,
318
static struct regulator_consumer_supply sdp3430_vdda_dac_supply = {
319
.supply = "vdda_dac",
320
.dev = &sdp3430_dss_device.dev,
323
static struct platform_device *sdp3430_devices[] __initdata = {
327
310
static struct omap_board_config_kernel sdp3430_config[] __initdata = {
330
static void __init omap_3430sdp_init_irq(void)
313
static void __init omap_3430sdp_init_early(void)
332
omap_board_config = sdp3430_config;
333
omap_board_config_size = ARRAY_SIZE(sdp3430_config);
334
omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
335
315
omap2_init_common_infrastructure();
336
316
omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
340
319
static int sdp3430_batt_table[] = {
370
349
{} /* Terminator */
373
static struct regulator_consumer_supply sdp3430_vmmc1_supply = {
377
static struct regulator_consumer_supply sdp3430_vsim_supply = {
378
.supply = "vmmc_aux",
381
static struct regulator_consumer_supply sdp3430_vmmc2_supply = {
385
352
static int sdp3430_twl_gpio_setup(struct device *dev,
386
353
unsigned gpio, unsigned ngpio)
392
359
mmc[1].gpio_cd = gpio + 1;
393
360
omap2_hsmmc_init(mmc);
395
/* link regulators to MMC adapters ... we "know" the
396
* regulators will be set up only *after* we return.
398
sdp3430_vmmc1_supply.dev = mmc[0].dev;
399
sdp3430_vsim_supply.dev = mmc[0].dev;
400
sdp3430_vmmc2_supply.dev = mmc[1].dev;
402
362
/* gpio + 7 is "sub_lcd_en_bkl" (output/PWM1) */
403
363
gpio_request(gpio + 7, "sub_lcd_en_bkl");
404
364
gpio_direction_output(gpio + 7, 0);
390
/* regulator consumer mappings */
393
static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
394
REGULATOR_SUPPLY("vcc", "spi1.0"),
397
static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = {
398
REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
401
/* VPLL2 for digital video outputs */
402
static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
403
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
404
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
407
static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
408
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
411
static struct regulator_consumer_supply sdp3430_vsim_supplies[] = {
412
REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
415
static struct regulator_consumer_supply sdp3430_vmmc2_supplies[] = {
416
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
431
420
* Apply all the fixed voltages since most versions of U-Boot
432
421
* don't bother with that initialization.
469
458
.valid_ops_mask = REGULATOR_CHANGE_MODE
470
459
| REGULATOR_CHANGE_STATUS,
461
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vaux3_supplies),
462
.consumer_supplies = sdp3430_vaux3_supplies,
474
465
/* VAUX4 for OMAP VDD_CSI2 (camera) */
495
486
| REGULATOR_CHANGE_MODE
496
487
| REGULATOR_CHANGE_STATUS,
498
.num_consumer_supplies = 1,
499
.consumer_supplies = &sdp3430_vmmc1_supply,
489
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vmmc1_supplies),
490
.consumer_supplies = sdp3430_vmmc1_supplies,
502
493
/* VMMC2 for MMC2 card */
510
501
.valid_ops_mask = REGULATOR_CHANGE_MODE
511
502
| REGULATOR_CHANGE_STATUS,
513
.num_consumer_supplies = 1,
514
.consumer_supplies = &sdp3430_vmmc2_supply,
504
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vmmc2_supplies),
505
.consumer_supplies = sdp3430_vmmc2_supplies,
517
508
/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
525
516
| REGULATOR_CHANGE_MODE
526
517
| REGULATOR_CHANGE_STATUS,
528
.num_consumer_supplies = 1,
529
.consumer_supplies = &sdp3430_vsim_supply,
519
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vsim_supplies),
520
.consumer_supplies = sdp3430_vsim_supplies,
532
523
/* VDAC for DSS driving S-Video */
540
531
.valid_ops_mask = REGULATOR_CHANGE_MODE
541
532
| REGULATOR_CHANGE_STATUS,
543
.num_consumer_supplies = 1,
544
.consumer_supplies = &sdp3430_vdda_dac_supply,
547
/* VPLL2 for digital video outputs */
548
static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
550
.supply = "vdds_dsi",
551
.dev = &sdp3430_dss_device.dev,
534
.num_consumer_supplies = ARRAY_SIZE(sdp3430_vdda_dac_supplies),
535
.consumer_supplies = sdp3430_vdda_dac_supplies,
555
538
static struct regulator_init_data sdp3430_vpll2 = {
653
634
OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP);
656
static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
637
static const struct usbhs_omap_board_data usbhs_bdata __initconst = {
658
.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
659
.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
660
.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
639
.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
640
.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
641
.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
662
643
.phy_reset = true,
663
644
.reset_gpio_port[0] = 57,
669
650
static struct omap_board_mux board_mux[] __initdata = {
670
651
{ .reg_offset = OMAP_MUX_TERMINATOR },
654
static struct omap_device_pad serial1_pads[] __initdata = {
656
* Note that off output enable is an active low
657
* signal. So setting this means pin is a
658
* input enabled in off mode
660
OMAP_MUX_STATIC("uart1_cts.uart1_cts",
662
OMAP_PIN_OFF_INPUT_PULLDOWN |
665
OMAP_MUX_STATIC("uart1_rts.uart1_rts",
669
OMAP_MUX_STATIC("uart1_rx.uart1_rx",
671
OMAP_PIN_OFF_INPUT_PULLDOWN |
674
OMAP_MUX_STATIC("uart1_tx.uart1_tx",
680
static struct omap_device_pad serial2_pads[] __initdata = {
681
OMAP_MUX_STATIC("uart2_cts.uart2_cts",
682
OMAP_PIN_INPUT_PULLUP |
683
OMAP_PIN_OFF_INPUT_PULLDOWN |
686
OMAP_MUX_STATIC("uart2_rts.uart2_rts",
690
OMAP_MUX_STATIC("uart2_rx.uart2_rx",
692
OMAP_PIN_OFF_INPUT_PULLDOWN |
695
OMAP_MUX_STATIC("uart2_tx.uart2_tx",
701
static struct omap_device_pad serial3_pads[] __initdata = {
702
OMAP_MUX_STATIC("uart3_cts_rctx.uart3_cts_rctx",
703
OMAP_PIN_INPUT_PULLDOWN |
704
OMAP_PIN_OFF_INPUT_PULLDOWN |
707
OMAP_MUX_STATIC("uart3_rts_sd.uart3_rts_sd",
711
OMAP_MUX_STATIC("uart3_rx_irrx.uart3_rx_irrx",
713
OMAP_PIN_OFF_INPUT_PULLDOWN |
716
OMAP_MUX_STATIC("uart3_tx_irtx.uart3_tx_irtx",
722
static struct omap_board_data serial1_data = {
724
.pads = serial1_pads,
725
.pads_cnt = ARRAY_SIZE(serial1_pads),
728
static struct omap_board_data serial2_data = {
730
.pads = serial2_pads,
731
.pads_cnt = ARRAY_SIZE(serial2_pads),
734
static struct omap_board_data serial3_data = {
736
.pads = serial3_pads,
737
.pads_cnt = ARRAY_SIZE(serial3_pads),
740
static inline void board_serial_init(void)
742
omap_serial_init_port(&serial1_data);
743
omap_serial_init_port(&serial2_data);
744
omap_serial_init_port(&serial3_data);
747
#define board_mux NULL
749
static inline void board_serial_init(void)
800
881
static void __init omap_3430sdp_init(void)
802
883
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
884
omap_board_config = sdp3430_config;
885
omap_board_config_size = ARRAY_SIZE(sdp3430_config);
886
omap3_pm_init_cpuidle(omap3_cpuidle_params_table);
803
887
omap3430_i2c_init();
804
platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
888
omap_display_init(&sdp3430_dss_data);
805
889
if (omap_rev() > OMAP3430_REV_ES1_0)
806
890
ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV2;
810
894
spi_register_board_info(sdp3430_spi_board_info,
811
895
ARRAY_SIZE(sdp3430_spi_board_info));
812
896
ads7846_dev_init();
814
898
usb_musb_init(&musb_board_data);
815
899
board_smc91x_init();
816
board_flash_init(sdp_flash_partitions, chip_sel_3430);
900
board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
817
901
sdp3430_display_init();
818
902
enable_board_wakeup_source();
819
usb_ehci_init(&ehci_pdata);
903
usbhs_init(&usbhs_bdata);
822
906
MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
823
907
/* Maintainer: Syed Khasim - Texas Instruments Inc */
824
908
.boot_params = 0x80000100,
909
.reserve = omap_reserve,
825
910
.map_io = omap3_map_io,
826
.reserve = omap_reserve,
827
.init_irq = omap_3430sdp_init_irq,
911
.init_early = omap_3430sdp_init_early,
912
.init_irq = omap_init_irq,
828
913
.init_machine = omap_3430sdp_init,
829
914
.timer = &omap_timer,