diff options
author | Wojciech Bieganski <wbieganski@antmicro.com> | 2014-12-22 12:23:07 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-01-09 18:53:34 +0100 |
commit | fe4c58c4b96a24aba8e27956e8158b3002723b17 (patch) | |
tree | 5e807d179792d6be9455292e422e01f20c02fcd4 /arch | |
parent | ddcb06fdc59b17a900a7ef61e93fd2ca1f0ced51 (diff) |
media: Added Analog Devices ADV7280 video decoder driver
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/configs/apalis_t30_defconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-apalis_t30.c | 35 |
2 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/configs/apalis_t30_defconfig b/arch/arm/configs/apalis_t30_defconfig index 6f9194dad295..12f9521f3f90 100644 --- a/arch/arm/configs/apalis_t30_defconfig +++ b/arch/arm/configs/apalis_t30_defconfig @@ -276,6 +276,7 @@ CONFIG_VIDEO_V4L2=y CONFIG_VIDEOBUF2_MEMOPS=m CONFIG_VIDEOBUF2_DMA_NVMAP=m CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7280=m # CONFIG_TEGRA_AVP is not set # CONFIG_TEGRA_MEDIASERVER is not set CONFIG_TEGRA_NVAVP=y diff --git a/arch/arm/mach-tegra/board-apalis_t30.c b/arch/arm/mach-tegra/board-apalis_t30.c index ef709c872d17..4d25e3df9b75 100644 --- a/arch/arm/mach-tegra/board-apalis_t30.c +++ b/arch/arm/mach-tegra/board-apalis_t30.c @@ -169,6 +169,38 @@ 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 = 2, +}; + +static struct platform_device soc_camera_adv7280 = { + .name = "soc-camera-pdrv", + .id = 3, + .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), @@ -1534,6 +1566,9 @@ static void __init apalis_t30_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 |