diff options
author | BhuvanChandra.DV <bhuvanchandra.dv@toradex.com> | 2016-04-20 04:52:16 +0000 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2016-06-22 15:29:34 +0200 |
commit | c33fe5aa20f2615f86762f8d68d087ca6d077d6c (patch) | |
tree | 6156c3c8d085071ad2fddb7a19644c0d6436d291 | |
parent | c7f1bd6c243e8b2ea22dc964ead49318e710ef05 (diff) |
apalis_t30: v4l2: Epson S2D13P04 integration
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>
-rw-r--r-- | arch/arm/configs/apalis_t30_defconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-apalis_t30.c | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm/configs/apalis_t30_defconfig b/arch/arm/configs/apalis_t30_defconfig index 52e9fc2e88d1..21c8cd4d1fe2 100644 --- a/arch/arm/configs/apalis_t30_defconfig +++ b/arch/arm/configs/apalis_t30_defconfig @@ -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 diff --git a/arch/arm/mach-tegra/board-apalis_t30.c b/arch/arm/mach-tegra/board-apalis_t30.c index 21f39010e0ad..ec8850eac216 100644 --- a/arch/arm/mach-tegra/board-apalis_t30.c +++ b/arch/arm/mach-tegra/board-apalis_t30.c @@ -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(); |