media: usbtv: Add PAL-Nc standard
authorJorge Maidana <jorgem.linux@gmail.com>
Fri, 13 May 2022 18:29:22 +0000 (19:29 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 20 Jun 2022 09:30:30 +0000 (10:30 +0100)
Add PAL-Nc support to usbtv, the corresponding register value "0x00fe"
comes from the Windows driver "Active Development Co., Ltd. v2.1.1.2".

Signed-off-by: Jorge Maidana <jorgem.linux@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/usb/usbtv/usbtv-video.c
drivers/media/usb/usbtv/usbtv.h

index a714ad77ca8e24ae1ee9d641dc72bf301ab52dfe..1e30e05953dc647d31a4afcca562ae89767353e0 100644 (file)
@@ -136,6 +136,8 @@ static uint16_t usbtv_norm_to_16f_reg(v4l2_std_id norm)
                return 0x00a8;
        if (norm & (V4L2_STD_PAL_M | V4L2_STD_PAL_60))
                return 0x00bc;
+       if (norm & V4L2_STD_PAL_Nc)
+               return 0x00fe;
        /* Fallback to automatic detection for other standards */
        return 0x0000;
 }
@@ -241,7 +243,8 @@ static int usbtv_select_norm(struct usbtv *usbtv, v4l2_std_id norm)
                static const v4l2_std_id ntsc_mask =
                        V4L2_STD_NTSC | V4L2_STD_NTSC_443;
                static const v4l2_std_id pal_mask =
-                       V4L2_STD_PAL | V4L2_STD_PAL_60 | V4L2_STD_PAL_M;
+                       V4L2_STD_PAL | V4L2_STD_PAL_60 | V4L2_STD_PAL_M |
+                       V4L2_STD_PAL_Nc;
 
                if (norm & ntsc_mask)
                        ret = usbtv_set_regs(usbtv, ntsc, ARRAY_SIZE(ntsc));
index 77a368e90fd04385d3906f4a1d270abdaa4a3393..b9fa7c0088c9a680cfca0ad5d2853fe12028cafd 100644 (file)
@@ -68,7 +68,8 @@
 #define USBTV_ODD(chunk)       ((be32_to_cpu(chunk[0]) & 0x0000f000) >> 15)
 #define USBTV_CHUNK_NO(chunk)  (be32_to_cpu(chunk[0]) & 0x00000fff)
 
-#define USBTV_TV_STD  (V4L2_STD_525_60 | V4L2_STD_PAL | V4L2_STD_SECAM)
+#define USBTV_TV_STD           (V4L2_STD_525_60 | V4L2_STD_PAL | \
+                                V4L2_STD_PAL_Nc | V4L2_STD_SECAM)
 
 /* parameters for supported TV norms */
 struct usbtv_norm_params {