summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorArun Kannan <akannan@nvidia.com>2015-05-19 15:51:08 -0700
committerWinnie Hsu <whsu@nvidia.com>2015-08-07 14:02:53 -0700
commit11dd568abca73325c2ca4251708e08d74871a291 (patch)
tree90590a7fdb160a804fe6fc673b81230e75fd81ce /arch
parentf84266df87c9ad4aca8fa0d656bb5acabd0110f0 (diff)
AR0330: validate with V4L2 for Jetson TK1
Bug 1643556 Change-Id: I7330bd3ec33e2309577c75bac79e120167b0f81e Signed-off-by: Arun Kannan <akannan@nvidia.com> Reviewed-on: http://git-master/r/748395 Reviewed-by: Winnie Hsu <whsu@nvidia.com> Tested-by: Winnie Hsu <whsu@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-ardbeg-sensors.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-ardbeg-sensors.c b/arch/arm/mach-tegra/board-ardbeg-sensors.c
index e43dc6944016..e34ea1c39559 100644
--- a/arch/arm/mach-tegra/board-ardbeg-sensors.c
+++ b/arch/arm/mach-tegra/board-ardbeg-sensors.c
@@ -302,6 +302,45 @@ static struct platform_device ardbeg_ar0261_soc_camera_device = {
};
#endif
+#if IS_ENABLED(CONFIG_SOC_CAMERA_AR0330)
+static int ardbeg_ar0330_power(struct device *dev, int enable)
+{
+ return 0;
+}
+
+struct ar0330_platform_data ardbeg_ar0330_data;
+
+static struct i2c_board_info ardbeg_ar0330_camera_i2c_device = {
+ I2C_BOARD_INFO("ar0330_v4l2", 0x18),
+ .platform_data = &ardbeg_ar0330_data,
+};
+
+static struct tegra_camera_platform_data ardbeg_ar0330_camera_platform_data = {
+ .flip_v = 0,
+ .flip_h = 0,
+ .port = TEGRA_CAMERA_PORT_CSI_A,
+ .lanes = 1,
+ .continuous_clk = 0,
+};
+
+static struct soc_camera_link ar0330_iclink = {
+ .bus_id = 0, /* This must match the .id of tegra_vi01_device */
+ .board_info = &ardbeg_ar0330_camera_i2c_device,
+ .module_name = "ar0330_v4l2",
+ .i2c_adapter_id = 2,
+ .power = ardbeg_ar0330_power,
+ .priv = &ardbeg_ar0330_camera_platform_data,
+};
+
+static struct platform_device ardbeg_ar0330_soc_camera_device = {
+ .name = "soc-camera-pdrv",
+ .id = 0,
+ .dev = {
+ .platform_data = &ar0330_iclink,
+ },
+};
+#endif
+
static struct regulator *ardbeg_vcmvdd;
static int ardbeg_get_extra_regulators(void)
@@ -1517,6 +1556,9 @@ static int ardbeg_camera_init(void)
#if IS_ENABLED(CONFIG_SOC_CAMERA_AR0261)
platform_device_register(&ardbeg_ar0261_soc_camera_device);
#endif
+#if IS_ENABLED(CONFIG_SOC_CAMERA_AR0330)
+ platform_device_register(&ardbeg_ar0330_soc_camera_device);
+#endif
return 0;
}