diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-12-15 00:00:23 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2015-12-15 13:40:22 +0100 |
commit | c8ead507f45de63a125b40096f0d59cb0aaa6780 (patch) | |
tree | 6f7b32d4de7c1a36a9ff8c58975310466cf8a8c0 /arch | |
parent | 2f4e897589ceeaffb5def6bf9119e9b9c4f3c9ee (diff) |
colibri_t20/t30: add as0260 camera platform dataColibri_T30_LinuxImageV2.5Beta3_20151215Colibri_T20_LinuxImageV2.5Beta3_20151215Apalis_T30_LinuxImageV2.5Beta3_20151215
Add Aptina AS0260 camera platform data.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t20.c | 47 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t30.c | 47 |
2 files changed, 88 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c index 3d67ebc5582e..014487d702c7 100644 --- a/arch/arm/mach-tegra/board-colibri_t20.c +++ b/arch/arm/mach-tegra/board-colibri_t20.c @@ -180,6 +180,43 @@ static struct platform_device soc_camera_adv7280 = { }; #endif /* CONFIG_VIDEO_ADV7280 | CONFIG_VIDEO_ADV7280_MODULE */ +#if defined(CONFIG_SOC_CAMERA_AS0260) || \ + defined(CONFIG_SOC_CAMERA_AS0260_MODULE) +static struct i2c_board_info camera_i2c_as0260soc = { + I2C_BOARD_INFO("as0260soc", 0x48), +}; + +static struct tegra_camera_platform_data as0260soc_platform_data = { + .continuous_clk = true, + .disable_camera = tegra_camera_disable, + .enable_camera = tegra_camera_enable, + .flip_h = 0, + .flip_v = 0, + .internal_sync = false, + .lanes = 2, + .port = TEGRA_CAMERA_PORT_VIP, + .vip_h_active_start = 0, +// .vip_h_active_start = 8F, + .vip_v_active_start = 0, +// .vip_v_active_start = 12, +}; + +static struct soc_camera_link iclink_as0260soc = { + .board_info = &camera_i2c_as0260soc, + .bus_id = -1, /* This must match the .id of tegra_vi01_device */ + .i2c_adapter_id = 0, + .priv = &as0260soc_platform_data, +}; + +static struct platform_device soc_camera_as0260soc = { + .dev = { + .platform_data = &iclink_as0260soc, + }, + .id = 2, + .name = "soc-camera-pdrv", +}; +#endif /* CONFIG_SOC_CAMERA_AS0260 | CONFIG_SOC_CAMERA_AS0260_MODULE */ + #if defined(CONFIG_SOC_CAMERA_MAX9526) || \ defined(CONFIG_SOC_CAMERA_MAX9526_MODULE) static struct i2c_board_info camera_i2c_max9526 = { @@ -208,7 +245,7 @@ static struct platform_device soc_camera_max9526 = { .dev = { .platform_data = &iclink_max9526, }, - .id = 2, + .id = 3, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_MAX9526 | CONFIG_SOC_CAMERA_MAX9526_MODULE */ @@ -241,7 +278,7 @@ static struct platform_device soc_camera_ov7670soc = { .dev = { .platform_data = &iclink_ov7670soc, }, - .id = 3, + .id = 4, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_OV7670SOC | CONFIG_SOC_CAMERA_OV7670SOC_MODULE */ @@ -274,7 +311,7 @@ static struct platform_device soc_camera_tvp5150soc = { .dev = { .platform_data = &iclink_tvp5150soc, }, - .id = 4, + .id = 5, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_TVP5150 | CONFIG_SOC_CAMERA_TVP5150_MODULE */ @@ -1680,6 +1717,10 @@ static void __init colibri_t20_init(void) #if defined(CONFIG_VIDEO_ADV7280) || defined(CONFIG_VIDEO_ADV7280_MODULE) platform_device_register(&soc_camera_adv7280); #endif +#if defined(CONFIG_SOC_CAMERA_AS0260) || \ + defined(CONFIG_SOC_CAMERA_AS0260_MODULE) + platform_device_register(&soc_camera_as0260soc); +#endif #if defined(CONFIG_SOC_CAMERA_MAX9526) || \ defined(CONFIG_SOC_CAMERA_MAX9526_MODULE) platform_device_register(&soc_camera_max9526); diff --git a/arch/arm/mach-tegra/board-colibri_t30.c b/arch/arm/mach-tegra/board-colibri_t30.c index 74fb5be46a25..e81d8e944a2b 100644 --- a/arch/arm/mach-tegra/board-colibri_t30.c +++ b/arch/arm/mach-tegra/board-colibri_t30.c @@ -175,6 +175,43 @@ static struct platform_device soc_camera_adv7280 = { }; #endif /* CONFIG_VIDEO_ADV7280 | CONFIG_VIDEO_ADV7280_MODULE */ +#if defined(CONFIG_SOC_CAMERA_AS0260) || \ + defined(CONFIG_SOC_CAMERA_AS0260_MODULE) +static struct i2c_board_info camera_i2c_as0260soc = { + I2C_BOARD_INFO("as0260soc", 0x48), +}; + +static struct tegra_camera_platform_data as0260soc_platform_data = { + .continuous_clk = true, + .disable_camera = tegra_camera_disable, + .enable_camera = tegra_camera_enable, + .flip_h = 0, + .flip_v = 0, + .internal_sync = false, + .lanes = 2, + .port = TEGRA_CAMERA_PORT_VIP, + .vip_h_active_start = 0, +// .vip_h_active_start = 8F, + .vip_v_active_start = 0, +// .vip_v_active_start = 12, +}; + +static struct soc_camera_link iclink_as0260soc = { + .board_info = &camera_i2c_as0260soc, + .bus_id = -1, /* This must match the .id of tegra_vi01_device */ + .i2c_adapter_id = 0, + .priv = &as0260soc_platform_data, +}; + +static struct platform_device soc_camera_as0260soc = { + .dev = { + .platform_data = &iclink_as0260soc, + }, + .id = 2, + .name = "soc-camera-pdrv", +}; +#endif /* CONFIG_SOC_CAMERA_AS0260 | CONFIG_SOC_CAMERA_AS0260_MODULE */ + #if defined(CONFIG_SOC_CAMERA_MAX9526) || \ defined(CONFIG_SOC_CAMERA_MAX9526_MODULE) static struct i2c_board_info camera_i2c_max9526 = { @@ -203,7 +240,7 @@ static struct platform_device soc_camera_max9526 = { .dev = { .platform_data = &iclink_max9526, }, - .id = 2, + .id = 3, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_MAX9526 | CONFIG_SOC_CAMERA_MAX9526_MODULE */ @@ -236,7 +273,7 @@ static struct platform_device soc_camera_ov7670soc = { .dev = { .platform_data = &iclink_ov7670soc, }, - .id = 3, + .id = 4, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_OV7670SOC | CONFIG_SOC_CAMERA_OV7670SOC_MODULE */ @@ -269,7 +306,7 @@ static struct platform_device soc_camera_tvp5150soc = { .dev = { .platform_data = &iclink_tvp5150soc, }, - .id = 4, + .id = 5, .name = "soc-camera-pdrv", }; #endif /* CONFIG_SOC_CAMERA_TVP5150 | CONFIG_SOC_CAMERA_TVP5150_MODULE */ @@ -1622,6 +1659,10 @@ static void __init colibri_t30_init(void) #if defined(CONFIG_VIDEO_ADV7280) || defined(CONFIG_VIDEO_ADV7280_MODULE) platform_device_register(&soc_camera_adv7280); #endif +#if defined(CONFIG_SOC_CAMERA_AS0260) || \ + defined(CONFIG_SOC_CAMERA_AS0260_MODULE) + platform_device_register(&soc_camera_as0260soc); +#endif #if defined(CONFIG_SOC_CAMERA_MAX9526) || \ defined(CONFIG_SOC_CAMERA_MAX9526_MODULE) platform_device_register(&soc_camera_max9526); |