提交 9eae42e5 编写于 作者: R Richard Röjfors 提交者: Mauro Carvalho Chehab

[media] media: Add timberdale video-in driver

This patch adds the timberdale video-in driver.

The video IP of timberdale delivers the video data via DMA.
The driver uses the DMA api to handle DMA transfers, and make use
of the V4L2 video buffers to handle buffers against user space.

If available the driver uses an encoder to get/set the video standard
Signed-off-by: NRichard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 36d89f7d
...@@ -666,6 +666,15 @@ config VIDEO_HEXIUM_GEMINI ...@@ -666,6 +666,15 @@ config VIDEO_HEXIUM_GEMINI
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called hexium_gemini. module will be called hexium_gemini.
config VIDEO_TIMBERDALE
tristate "Support for timberdale Video In/LogiWIN"
depends on VIDEO_V4L2 && I2C
select TIMB_DMA
select VIDEO_ADV7180
select VIDEOBUF_DMA_CONTIG
---help---
Add support for the Video In peripherial of the timberdale FPGA.
source "drivers/media/video/cx88/Kconfig" source "drivers/media/video/cx88/Kconfig"
source "drivers/media/video/cx23885/Kconfig" source "drivers/media/video/cx23885/Kconfig"
......
...@@ -106,6 +106,7 @@ obj-$(CONFIG_VIDEO_CPIA2) += cpia2/ ...@@ -106,6 +106,7 @@ obj-$(CONFIG_VIDEO_CPIA2) += cpia2/
obj-$(CONFIG_VIDEO_MXB) += mxb.o obj-$(CONFIG_VIDEO_MXB) += mxb.o
obj-$(CONFIG_VIDEO_HEXIUM_ORION) += hexium_orion.o obj-$(CONFIG_VIDEO_HEXIUM_ORION) += hexium_orion.o
obj-$(CONFIG_VIDEO_HEXIUM_GEMINI) += hexium_gemini.o obj-$(CONFIG_VIDEO_HEXIUM_GEMINI) += hexium_gemini.o
obj-$(CONFIG_VIDEO_TIMBERDALE) += timblogiw.o
obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o
obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o
......
此差异已折叠。
...@@ -271,11 +271,9 @@ static __devinitdata struct timb_radio_platform_data ...@@ -271,11 +271,9 @@ static __devinitdata struct timb_radio_platform_data
timberdale_radio_platform_data = { timberdale_radio_platform_data = {
.i2c_adapter = 0, .i2c_adapter = 0,
.tuner = { .tuner = {
.module_name = "tef6862",
.info = &timberdale_tef6868_i2c_board_info .info = &timberdale_tef6868_i2c_board_info
}, },
.dsp = { .dsp = {
.module_name = "saa7706h",
.info = &timberdale_saa7706_i2c_board_info .info = &timberdale_saa7706_i2c_board_info
} }
}; };
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
struct timb_radio_platform_data { struct timb_radio_platform_data {
int i2c_adapter; /* I2C adapter where the tuner and dsp are attached */ int i2c_adapter; /* I2C adapter where the tuner and dsp are attached */
struct { struct {
const char *module_name;
struct i2c_board_info *info; struct i2c_board_info *info;
} tuner; } tuner;
struct { struct {
......
/*
* timb_video.h Platform struct for the Timberdale video driver
* Copyright (c) 2009-2010 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _TIMB_VIDEO_
#define _TIMB_VIDEO_ 1
#include <linux/i2c.h>
struct timb_video_platform_data {
int dma_channel;
int i2c_adapter; /* The I2C adapter where the encoder is attached */
struct {
const char *module_name;
struct i2c_board_info *info;
} encoder;
};
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册