summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBradford Love <brad@nextdimension.cc>2026-03-13 00:35:22 +0300
committerHans Verkuil <hverkuil+cisco@kernel.org>2026-03-17 12:50:19 +0300
commit9cddeb883bacf82757bf3273c60a2d2e45bf7fe9 (patch)
tree3592c1bf63bc674e3059f45ecec2e21f11e43409
parent24ae633ab3b8b0f632b94774a62a5f7e7b754299 (diff)
downloadlinux-9cddeb883bacf82757bf3273c60a2d2e45bf7fe9.tar.xz
media: si2157: Analog format fixes
Updates to support PAL-N and PAL-Nc Verifies PAL-I and PAL-DK standards are working Fixes and verifies SECAM-L now works Signed-off-by: Bradford Love <brad@nextdimension.cc> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
-rw-r--r--drivers/media/tuners/si2157.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c
index 4ca42114da8a..b041cd854732 100644
--- a/drivers/media/tuners/si2157.c
+++ b/drivers/media/tuners/si2157.c
@@ -638,20 +638,27 @@ static int si2157_set_analog_params(struct dvb_frontend *fe,
color = 0x10;
}
}
- } else if (params->std & V4L2_STD_MN) {
+ } else if (params->std & (V4L2_STD_MN | V4L2_STD_NTSC_443)) {
std = "MN";
bandwidth = 6000000;
if_frequency = 5400000;
system = 2;
+ if (params->std & V4L2_STD_PAL_N) {
+ std = "palN";
+ color = 0x10;
+ } else if (params->std & V4L2_STD_PAL_Nc) {
+ std = "palNc";
+ color = 0x10;
+ }
} else if (params->std & V4L2_STD_PAL_I) {
std = "palI";
bandwidth = 8000000;
- if_frequency = 7250000; /* TODO: does not work yet */
+ if_frequency = 7250000;
system = 4;
} else if (params->std & V4L2_STD_DK) {
std = "palDK";
bandwidth = 8000000;
- if_frequency = 6900000; /* TODO: does not work yet */
+ if_frequency = 6900000;
system = 5;
if (params->std & V4L2_STD_SECAM_DK) {
std = "secamDK";
@@ -660,7 +667,7 @@ static int si2157_set_analog_params(struct dvb_frontend *fe,
} else if (params->std & V4L2_STD_SECAM_L) {
std = "secamL";
bandwidth = 8000000;
- if_frequency = 6750000; /* TODO: untested */
+ if_frequency = 6900000;
system = 6;
color = 0x10;
} else if (params->std & V4L2_STD_SECAM_LC) {