diff options
author | Arun Kannan <akannan@nvidia.com> | 2015-05-19 15:51:08 -0700 |
---|---|---|
committer | Winnie Hsu <whsu@nvidia.com> | 2015-08-07 14:02:53 -0700 |
commit | 11dd568abca73325c2ca4251708e08d74871a291 (patch) | |
tree | 90590a7fdb160a804fe6fc673b81230e75fd81ce /arch | |
parent | f84266df87c9ad4aca8fa0d656bb5acabd0110f0 (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.c | 42 |
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; } |