diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-cm-t35.c')
-rw-r--r-- | arch/arm/mach-omap2/board-cm-t35.c | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index ded100c80a91..97d719047af3 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -490,6 +490,71 @@ static struct twl4030_platform_data cm_t35_twldata = { | |||
490 | .power = &cm_t35_power_data, | 490 | .power = &cm_t35_power_data, |
491 | }; | 491 | }; |
492 | 492 | ||
493 | #if defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE) | ||
494 | #include <media/omap3isp.h> | ||
495 | #include "devices.h" | ||
496 | |||
497 | static struct i2c_board_info cm_t35_isp_i2c_boardinfo[] = { | ||
498 | { | ||
499 | I2C_BOARD_INFO("mt9t001", 0x5d), | ||
500 | }, | ||
501 | { | ||
502 | I2C_BOARD_INFO("tvp5150", 0x5c), | ||
503 | }, | ||
504 | }; | ||
505 | |||
506 | static struct isp_subdev_i2c_board_info cm_t35_isp_primary_subdevs[] = { | ||
507 | { | ||
508 | .board_info = &cm_t35_isp_i2c_boardinfo[0], | ||
509 | .i2c_adapter_id = 3, | ||
510 | }, | ||
511 | { NULL, 0, }, | ||
512 | }; | ||
513 | |||
514 | static struct isp_subdev_i2c_board_info cm_t35_isp_secondary_subdevs[] = { | ||
515 | { | ||
516 | .board_info = &cm_t35_isp_i2c_boardinfo[1], | ||
517 | .i2c_adapter_id = 3, | ||
518 | }, | ||
519 | { NULL, 0, }, | ||
520 | }; | ||
521 | |||
522 | static struct isp_v4l2_subdevs_group cm_t35_isp_subdevs[] = { | ||
523 | { | ||
524 | .subdevs = cm_t35_isp_primary_subdevs, | ||
525 | .interface = ISP_INTERFACE_PARALLEL, | ||
526 | .bus = { | ||
527 | .parallel = { | ||
528 | .clk_pol = 1, | ||
529 | }, | ||
530 | }, | ||
531 | }, | ||
532 | { | ||
533 | .subdevs = cm_t35_isp_secondary_subdevs, | ||
534 | .interface = ISP_INTERFACE_PARALLEL, | ||
535 | .bus = { | ||
536 | .parallel = { | ||
537 | .clk_pol = 0, | ||
538 | }, | ||
539 | }, | ||
540 | }, | ||
541 | { NULL, 0, }, | ||
542 | }; | ||
543 | |||
544 | static struct isp_platform_data cm_t35_isp_pdata = { | ||
545 | .subdevs = cm_t35_isp_subdevs, | ||
546 | }; | ||
547 | |||
548 | static void __init cm_t35_init_camera(void) | ||
549 | { | ||
550 | if (omap3_init_camera(&cm_t35_isp_pdata) < 0) | ||
551 | pr_warn("CM-T3x: Failed registering camera device!\n"); | ||
552 | } | ||
553 | |||
554 | #else | ||
555 | static inline void cm_t35_init_camera(void) {} | ||
556 | #endif /* CONFIG_VIDEO_OMAP3 */ | ||
557 | |||
493 | static void __init cm_t35_init_i2c(void) | 558 | static void __init cm_t35_init_i2c(void) |
494 | { | 559 | { |
495 | omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, | 560 | omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, |
@@ -497,6 +562,8 @@ static void __init cm_t35_init_i2c(void) | |||
497 | TWL_COMMON_PDATA_AUDIO); | 562 | TWL_COMMON_PDATA_AUDIO); |
498 | 563 | ||
499 | omap3_pmic_init("tps65930", &cm_t35_twldata); | 564 | omap3_pmic_init("tps65930", &cm_t35_twldata); |
565 | |||
566 | omap_register_i2c_bus(3, 400, NULL, 0); | ||
500 | } | 567 | } |
501 | 568 | ||
502 | #ifdef CONFIG_OMAP_MUX | 569 | #ifdef CONFIG_OMAP_MUX |
@@ -574,6 +641,27 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
574 | OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | 641 | OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), |
575 | OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | 642 | OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), |
576 | 643 | ||
644 | /* Camera */ | ||
645 | OMAP3_MUX(CAM_HS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
646 | OMAP3_MUX(CAM_VS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
647 | OMAP3_MUX(CAM_XCLKA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
648 | OMAP3_MUX(CAM_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
649 | OMAP3_MUX(CAM_FLD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
650 | OMAP3_MUX(CAM_D0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
651 | OMAP3_MUX(CAM_D1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
652 | OMAP3_MUX(CAM_D2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
653 | OMAP3_MUX(CAM_D3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
654 | OMAP3_MUX(CAM_D4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
655 | OMAP3_MUX(CAM_D5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
656 | OMAP3_MUX(CAM_D6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
657 | OMAP3_MUX(CAM_D7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
658 | OMAP3_MUX(CAM_D8, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
659 | OMAP3_MUX(CAM_D9, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
660 | OMAP3_MUX(CAM_STROBE, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
661 | |||
662 | OMAP3_MUX(CAM_D10, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN), | ||
663 | OMAP3_MUX(CAM_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN), | ||
664 | |||
577 | /* display controls */ | 665 | /* display controls */ |
578 | OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 666 | OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
579 | OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 667 | OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
@@ -646,6 +734,7 @@ static void __init cm_t3x_common_init(void) | |||
646 | 734 | ||
647 | usb_musb_init(NULL); | 735 | usb_musb_init(NULL); |
648 | cm_t35_init_usbh(); | 736 | cm_t35_init_usbh(); |
737 | cm_t35_init_camera(); | ||
649 | } | 738 | } |
650 | 739 | ||
651 | static void __init cm_t35_init(void) | 740 | static void __init cm_t35_init(void) |