summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c
diff options
context:
space:
mode:
authorBrad Love <brad@nextdimension.cc>2019-06-05 16:22:11 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-06-13 14:31:25 -0400
commitdd60bf4360312559654a5efdac5108fee6fc9fdf (patch)
tree0298f37dd21a41134c220381b73da65d1cc7556e /drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c
parent6f6be371608e88922970a3968f963720ba3871f0 (diff)
downloadlinux-dd60bf4360312559654a5efdac5108fee6fc9fdf.tar.bz2
media: pvrusb2: Add Hauppauge HVR1955/1975 devices
Includes support to identify and use two Hauppauge device. - LGDT3306a ATSC/QAM demod - si2177 tuner - cx25840 decoder for analog tv/composite/s-video/audio HVR-1975 dual-frontend: - LGDT3306a ATSC/QAM demod - si2168 DVB-C/T/T2 demod - si2177 tuner - cx25840 decoder for analog tv/composite/s-video/audio Signed-off-by: Brad Love <brad@nextdimension.cc> Reviewed-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c')
-rw-r--r--drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c b/drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c
index d5bec0f69bec..36016ab3aef0 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-cx2584x-v4l.c
@@ -111,10 +111,35 @@ static const struct routing_scheme routing_defav400 = {
.cnt = ARRAY_SIZE(routing_schemeav400),
};
+static const struct routing_scheme_item routing_scheme160xxx[] = {
+ [PVR2_CVAL_INPUT_TV] = {
+ .vid = CX25840_COMPOSITE7,
+ .aud = CX25840_AUDIO8,
+ },
+ [PVR2_CVAL_INPUT_RADIO] = {
+ .vid = CX25840_COMPOSITE4,
+ .aud = CX25840_AUDIO6,
+ },
+ [PVR2_CVAL_INPUT_COMPOSITE] = {
+ .vid = CX25840_COMPOSITE3,
+ .aud = CX25840_AUDIO_SERIAL,
+ },
+ [PVR2_CVAL_INPUT_SVIDEO] = {
+ .vid = CX25840_SVIDEO1,
+ .aud = CX25840_AUDIO_SERIAL,
+ },
+};
+
+static const struct routing_scheme routing_def160xxx = {
+ .def = routing_scheme160xxx,
+ .cnt = ARRAY_SIZE(routing_scheme160xxx),
+};
+
static const struct routing_scheme *routing_schemes[] = {
[PVR2_ROUTING_SCHEME_HAUPPAUGE] = &routing_def0,
[PVR2_ROUTING_SCHEME_GOTVIEW] = &routing_defgv,
[PVR2_ROUTING_SCHEME_AV400] = &routing_defav400,
+ [PVR2_ROUTING_SCHEME_HAUP160XXX] = &routing_def160xxx,
};
void pvr2_cx25840_subdev_update(struct pvr2_hdw *hdw, struct v4l2_subdev *sd)