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) ...@@ -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) static int dt3155_enum_input(struct file *filp, void *p, struct v4l2_input *input)
{ {
if (input->index) if (input->index > 3)
return -EINVAL; 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->type = V4L2_INPUT_TYPE_CAMERA;
input->std = V4L2_STD_ALL; input->std = V4L2_STD_ALL;
input->status = 0; input->status = 0;
...@@ -381,14 +384,21 @@ static int dt3155_enum_input(struct file *filp, void *p, struct v4l2_input *inpu ...@@ -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) 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; return 0;
} }
static int dt3155_s_input(struct file *filp, void *p, unsigned int i) 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; 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; return 0;
} }
......
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
* @std: input standard * @std: input standard
* @width: frame width * @width: frame width
* @height: frame height * @height: frame height
* @input: current input
* @sequence: frame counter * @sequence: frame counter
* @stats: statistics structure * @stats: statistics structure
* @regs: local copy of mmio base register * @regs: local copy of mmio base register
...@@ -186,6 +187,7 @@ struct dt3155_priv { ...@@ -186,6 +187,7 @@ struct dt3155_priv {
spinlock_t lock; spinlock_t lock;
v4l2_std_id std; v4l2_std_id std;
unsigned width, height; unsigned width, height;
unsigned input;
unsigned int sequence; unsigned int sequence;
void __iomem *regs; void __iomem *regs;
u8 csr2, config; 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