apalis_t30: v4l2: Epson S2D13P04 integration
authorBhuvanChandra.DV <bhuvanchandra.dv@toradex.com>
Wed, 20 Apr 2016 04:52:16 +0000 (04:52 +0000)
committerDominik Sliwa <dominik.sliwa@toradex.com>
Wed, 22 Jun 2016 13:29:34 +0000 (15:29 +0200)
Integrate Epson S2D13P04 video decoder support.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
arch/arm/configs/apalis_t30_defconfig
arch/arm/mach-tegra/board-apalis_t30.c

index 52e9fc2e88d181a29df1f90d614037825920e72e..21c8cd4d1fe28d6f426289af0952072f57276c5e 100644 (file)
@@ -288,6 +288,7 @@ CONFIG_TEGRA_NVAVP=y
 CONFIG_SOC_CAMERA=y
 CONFIG_SOC_CAMERA_AS0260=m
 CONFIG_SOC_CAMERA_MAX9526=m
+CONFIG_SOC_CAMERA_S2D13P04=m
 CONFIG_SOC_CAMERA_OV5640=m
 CONFIG_SOC_CAMERA_OV7670SOC=m
 CONFIG_SOC_CAMERA_TVP5150=m
index 21f39010e0ad6359de5b04716e279c9ca6b82b84..ec8850eac2160a44cf1b210ede6333af07c07b05 100644 (file)
@@ -346,6 +346,38 @@ static struct platform_device soc_camera_tvp5150soc = {
        .name   = "soc-camera-pdrv",
 };
 #endif /* CONFIG_SOC_CAMERA_TVP5150 | CONFIG_SOC_CAMERA_TVP5150_MODULE */
+#if defined(CONFIG_SOC_CAMERA_S2D13P04) || \
+               defined(CONFIG_SOC_CAMERA_S2D13P04_MODULE)
+static struct i2c_board_info camera_i2c_s2d13p04 = {
+       I2C_BOARD_INFO("s2d13p04", 0x37),
+};
+
+static struct tegra_camera_platform_data s2d13p04_platform_data = {
+       .disable_camera         = tegra_camera_disable,
+       .enable_camera          = tegra_camera_enable,
+       .flip_h                 = 0,
+       .flip_v                 = 0,
+       .internal_sync          = false,
+       .port                   = TEGRA_CAMERA_PORT_VIP,
+       .vip_h_active_start     = 0x66,
+       .vip_v_active_start     = 0x21,
+};
+
+static struct soc_camera_link iclink_s2d13p04 = {
+       .board_info     = &camera_i2c_s2d13p04,
+       .bus_id         = -1, /* This must match the .id of tegra_vi01_device */
+       .i2c_adapter_id = 2,
+       .priv           = &s2d13p04_platform_data,
+};
+
+static struct platform_device soc_camera_s2d13p04 = {
+       .dev = {
+               .platform_data = &iclink_s2d13p04,
+       },
+       .id     = 7,
+       .name   = "soc-camera-pdrv",
+};
+#endif /* CONFIG_SOC_CAMERA_S2D13P04 | CONFIG_SOC_CAMERA_S2D13P04_MODULE */
 #endif /* CONFIG_VIDEO_TEGRA | CONFIG_VIDEO_TEGRA_MODULE */
 
 /* CAN */
@@ -1653,6 +1685,10 @@ static void __init apalis_t30_init(void)
                defined(CONFIG_SOC_CAMERA_TVP5150_MODULE)
        platform_device_register(&soc_camera_tvp5150soc);
 #endif
+#if defined(CONFIG_SOC_CAMERA_S2D13P04) || \
+               defined(CONFIG_SOC_CAMERA_S2D13P04_MODULE)
+       platform_device_register(&soc_camera_s2d13p04);
+#endif
 #endif /* CONFIG_VIDEO_TEGRA | CONFIG_VIDEO_TEGRA_MODULE */
 
        tegra_release_bootloader_fb();