summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhuvanchandra DV <bhuvanchandra.dv@toradex.com>2015-12-14 19:36:15 +0530
committerMax Krummenacher <max.krummenacher@toradex.com>2015-12-15 13:24:22 +0100
commit11a1ccc600bc1e98ec9932c0fb63610f72b78093 (patch)
treeb00e1ffcc33663dc4b03acb637f26c80f14007b4
parentab6839f7c5832f27814d61ef8c4ca71492b4b0d1 (diff)
colibri_t20: v4l2: adv7280 integration
Integrate ADV7280 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20.c40
1 files changed, 38 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c
index 05bcc5cbe883..ac02d4604362 100644
--- a/arch/arm/mach-tegra/board-colibri_t20.c
+++ b/arch/arm/mach-tegra/board-colibri_t20.c
@@ -180,6 +180,39 @@ static struct platform_device soc_camera_adv7180 = {
};
#endif /* CONFIG_VIDEO_ADV7180 | CONFIG_VIDEO_ADV7180_MODULE */
+#if defined(CONFIG_VIDEO_ADV7280) || defined(CONFIG_VIDEO_ADV7280_MODULE)
+static struct i2c_board_info camera_i2c_adv7280 = {
+ I2C_BOARD_INFO("adv7280", 0x21),
+};
+
+static struct tegra_camera_platform_data adv7280_tegra_camera_platform_data = {
+ .disable_camera = tegra_camera_disable,
+ .enable_camera = tegra_camera_enable,
+ .flip_h = 0,
+ .flip_v = 0,
+ .port = TEGRA_CAMERA_PORT_VIP,
+ .internal_sync = false,
+ .vip_h_active_start = 0x44,
+ .vip_v_active_start = 0x27,
+};
+
+static struct soc_camera_link iclink_adv7280 = {
+ .board_info = &camera_i2c_adv7280,
+ .bus_id = -1, /* This must match the .id of tegra_vi01_device */
+ .priv = &adv7280_tegra_camera_platform_data,
+ .i2c_adapter_id = 0,
+};
+
+static struct platform_device soc_camera_adv7280 = {
+ .name = "soc-camera-pdrv",
+ .id = 2,
+ .dev = {
+ .platform_data = &iclink_adv7280,
+ },
+
+};
+#endif /* CONFIG_VIDEO_ADV7280 | CONFIG_VIDEO_ADV7280_MODULE */
+
#if defined(CONFIG_SOC_CAMERA_TVP5150) || defined(CONFIG_SOC_CAMERA_TVP5150_MODULE)
static struct i2c_board_info camera_i2c_tvp5150soc = {
I2C_BOARD_INFO("tvp5150soc", 0x5d),
@@ -205,7 +238,7 @@ static struct soc_camera_link iclink_tvp5150soc = {
static struct platform_device soc_camera_tvp5150soc = {
.name = "soc-camera-pdrv",
- .id = 2,
+ .id = 3,
.dev = {
.platform_data = &iclink_tvp5150soc,
},
@@ -237,7 +270,7 @@ static struct soc_camera_link iclink_ov7670soc = {
static struct platform_device soc_camera_ov7670soc = {
.name = "soc-camera-pdrv",
- .id = 3,
+ .id = 4,
.dev = {
.platform_data = &iclink_ov7670soc,
},
@@ -1634,6 +1667,9 @@ static void __init colibri_t20_init(void)
#if defined(CONFIG_VIDEO_ADV7180) || defined(CONFIG_VIDEO_ADV7180_MODULE)
platform_device_register(&soc_camera_adv7180);
#endif
+#if defined(CONFIG_VIDEO_ADV7280) || defined(CONFIG_VIDEO_ADV7280_MODULE)
+ platform_device_register(&soc_camera_adv7280);
+#endif
#if defined(CONFIG_SOC_CAMERA_TVP5150) || defined(CONFIG_SOC_CAMERA_TVP5150_MODULE)
platform_device_register(&soc_camera_tvp5150soc);
#endif