diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 20:34:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 20:34:48 -0400 |
commit | f1d2c07d331f717da79a42952be7dc1c0d35f846 (patch) | |
tree | 5bc98d2d63a37b688b40a4641855c512b385d0ae /arch/arm/mach-omap2/board-cm-t35.c | |
parent | a17f29a5e98c0a32a900a773083c719e27f4bc0e (diff) | |
parent | d003e09891fdc0c170b99328eba7ed004809ef5a (diff) |
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc board specific updates from Arnd Bergmann:
"These changes are all for individual board files. In the long run,
those files will largely go away, and the amount of changes appears to
be continuously decreasing, which is a good sign. This time around,
changes are focused on tegra, omap and samsung."
Fix conflicts in arch/arm/mach-{omap2/common-board-devices.c,tegra/Makefile.boot}
as per the 'for-linus' branch.
* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
ARM: EXYNOS: Add leds status1 and status2 on Origen board
ARM: S3C64XX: Mark most Cragganmore initdata devinitdata
ARM: EXYNOS: Add missing .reserve field to SMDKC210
ARM: EXYNOS: Add DRM device to SMDK4X12 board
ARM: S3C64XX: Clean up after SPI driver platform data updates
ARM: SAMSUNG: no need to set the value for clk_xusbxti when it is 24Mhz
ARM: EXYNOS: Add framebuffer support for SMDK4X12
ARM: EXYNOS: Add HSOTG support to SMDK4X12
ARM: S5PV210: Add audio platform device in Goni board
ARM: S5PV210: Add audio platform device in Aquila board
ARM: EXYNOS: Add audio platform device in SMDKV310 board
ARM: S3C64XX: Don't specify an irq_base for WM1192-EV1 board
ARM: OMAP3: Fix omap3evm randconfig error introduced by VBUS support
ARM: OMAP: board-omap4panda: MUX configuration for sys_nirq2
ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2
ARM: OMAP3530evm: set pendown_state and debounce time for ads7846
ARM: omap3evm: enable VBUS switch for EHCI tranceiver
ARM: OMAP3EVM: Adding USB internal LDOs board file
ARM: OMAP3EVM: Add NAND flash definition
ARM: OMAP3: cm-t35: add tvp5150 decoder support
...
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) |