[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: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
44a38dfb6a
commit
c34b7ef551
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user