Commit c34b7ef5 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] dt3155v4l: support inputs VID0-3

The dt3155 together with the J1 breakout cable supports 4 inputs. Add
support for all inputs VID0 - VID3. Note that input VID0 is shared with
input J2.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 44a38dfb
......@@ -370,9 +370,12 @@ static int dt3155_s_std(struct file *filp, void *p, v4l2_std_id norm)
static int dt3155_enum_input(struct file *filp, void *p, struct v4l2_input *input)
{
if (input->index)
if (input->index > 3)
return -EINVAL;
strcpy(input->name, "Coax in");
if (input->index)
snprintf(input->name, sizeof(input->name), "VID%d", input->index);
else
strlcpy(input->name, "J2/VID0", sizeof(input->name));
input->type = V4L2_INPUT_TYPE_CAMERA;
input->std = V4L2_STD_ALL;
input->status = 0;
......@@ -381,14 +384,21 @@ static int dt3155_enum_input(struct file *filp, void *p, struct v4l2_input *inpu
static int dt3155_g_input(struct file *filp, void *p, unsigned int *i)
{
*i = 0;
struct dt3155_priv *pd = video_drvdata(filp);
*i = pd->input;
return 0;
}
static int dt3155_s_input(struct file *filp, void *p, unsigned int i)
{
if (i)
struct dt3155_priv *pd = video_drvdata(filp);
if (i > 3)
return -EINVAL;
pd->input = i;
write_i2c_reg(pd->regs, AD_ADDR, AD_CMD_REG);
write_i2c_reg(pd->regs, AD_CMD, (i << 6) | (i << 4) | SYNC_LVL_3);
return 0;
}
......
......@@ -168,6 +168,7 @@
* @std: input standard
* @width: frame width
* @height: frame height
* @input: current input
* @sequence: frame counter
* @stats: statistics structure
* @regs: local copy of mmio base register
......@@ -186,6 +187,7 @@ struct dt3155_priv {
spinlock_t lock;
v4l2_std_id std;
unsigned width, height;
unsigned input;
unsigned int sequence;
void __iomem *regs;
u8 csr2, config;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment