History

media: dvb: add DVB-C2 and DVB-S2X parameter values

Extend the DVB frontend parameter enums with additional values specified by the DVB-C2 (ETSI EN 302 769) and DVB-S2X (ETSI EN 302 307-2) standards to be ready for frontend drivers for such receivers. While most parameters will be "read-only" due to being autodetected by the receiver and only being reported back for informational purposes, the addition of SYS_DVBC2 to the delivery systems enum is required, because there are DVB-C2 capable receivers which are not capable of DVB-C/C2 autodetection and thus need this enum value to be explicitly instructed to search for a DVB-C2 signal. As for DVB-S2X, as that is an extension to DVB-S2, the same delivery system enum as for DVB-S2 can be used. Add the additional enum values and comments to the documentation.

Robert Schlabbach committed 4 years ago

Commit 6508a501 parent e2a22712 files · +74 −10Browse files

Unified · Split

2 files
  1. Documentation/userspace-api/media/dvb/fe_property_parameters.rst +16 −9
  2. include/uapi/linux/dvb/frontend.h +58 −1
Documentation/userspace-api/media/dvb/fe_property_parameters.rst+16−9
@@ -89,16 +89,21 @@ ATSC (version 1) 8-VSB and 16-VSB. · 88 unmodified lines
8989 DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
9090 DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.
9191 DVB-C Annex B 64-QAM.
92+DVB-C2 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM.
9293 DVB-T QPSK, 16-QAM and 64-QAM.
9394 DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.
9495 DVB-S No need to set. It supports only QPSK.
9596 DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.
97+DVB-S2X 8-APSK-L, 16-APSK-L, 32-APSK-L, 64-APSK and 64-APSK-L.
9698 ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.
9799 ISDB-S 8-PSK, QPSK and BPSK.
98100 ======================= =======================================================
99101
100102 .. note::
101103
104+ As DVB-S2X specifies extensions to the DVB-S2 standard, the same
105+ delivery system enum value is used (SYS_DVBS2).
106+
102107 Please notice that some of the above modulation types may not be
103108 defined currently at the Kernel. The reason is simple: no driver
104109 needed such definition yet.
@@ -854,9 +859,10 @@ The acceptable values are defined by :c:type:`fe_guard_interval`. · 749 unmodified lines
854859 #. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
855860 hardware will try to find the correct guard interval (if capable) and
856861 will use TMCC to fill in the missing parameters.
857− #. Intervals ``GUARD_INTERVAL_1_128``, ``GUARD_INTERVAL_19_128``
858− and ``GUARD_INTERVAL_19_256`` are used only for DVB-T2 at
859− present.
862+ #. Interval ``GUARD_INTERVAL_1_64`` is used only for DVB-C2.
863+ #. Interval ``GUARD_INTERVAL_1_128`` is used for both DVB-C2 and DVB_T2.
864+ #. Intervals ``GUARD_INTERVAL_19_128`` and ``GUARD_INTERVAL_19_256`` are
865+ used only for DVB-T2.
860866 #. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
861867 ``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
862868 On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``
@@ -916,14 +922,15 @@ The acceptable values are defined by :c:type:`fe_hierarchy`. · 53 unmodified lines
916922 DTV_STREAM_ID
917923 =============
918924
919−Used on DVB-S2, DVB-T2 and ISDB-S.
925+Used on DVB-C2, DVB-S2, DVB-T2 and ISDB-S.
920926
921−DVB-S2, DVB-T2 and ISDB-S support the transmission of several streams on
922−a single transport stream. This property enables the digital TV driver to
923−handle substream filtering, when supported by the hardware. By default,
924−substream filtering is disabled.
927+DVB-C2, DVB-S2, DVB-T2 and ISDB-S support the transmission of several
928+streams on a single transport stream. This property enables the digital
929+TV driver to handle substream filtering, when supported by the hardware.
930+By default, substream filtering is disabled.
925931
926−For DVB-S2 and DVB-T2, the valid substream id range is from 0 to 255.
932+For DVB-C2, DVB-S2 and DVB-T2, the valid substream id range is from 0 to
933+255.
927934
928935 For ISDB, the valid substream id range is from 1 to 65535.
929936
include/uapi/linux/dvb/frontend.h+58−1
@@ -296,6 +296,22 @@ enum fe_spectral_inversion { · 295 unmodified lines
296296 * @FEC_3_5: Forward Error Correction Code 3/5
297297 * @FEC_9_10: Forward Error Correction Code 9/10
298298 * @FEC_2_5: Forward Error Correction Code 2/5
299+ * @FEC_1_3: Forward Error Correction Code 1/3
300+ * @FEC_1_4: Forward Error Correction Code 1/4
301+ * @FEC_5_9: Forward Error Correction Code 5/9
302+ * @FEC_7_9: Forward Error Correction Code 7/9
303+ * @FEC_8_15: Forward Error Correction Code 8/15
304+ * @FEC_11_15: Forward Error Correction Code 11/15
305+ * @FEC_13_18: Forward Error Correction Code 13/18
306+ * @FEC_9_20: Forward Error Correction Code 9/20
307+ * @FEC_11_20: Forward Error Correction Code 11/20
308+ * @FEC_23_36: Forward Error Correction Code 23/36
309+ * @FEC_25_36: Forward Error Correction Code 25/36
310+ * @FEC_13_45: Forward Error Correction Code 13/45
311+ * @FEC_26_45: Forward Error Correction Code 26/45
312+ * @FEC_28_45: Forward Error Correction Code 28/45
313+ * @FEC_32_45: Forward Error Correction Code 32/45
314+ * @FEC_77_90: Forward Error Correction Code 77/90
299315 *
300316 * Please note that not all FEC types are supported by a given standard.
301317 */
@@ -313,6 +329,22 @@ enum fe_code_rate { · 11 unmodified lines
313329 FEC_3_5,
314330 FEC_9_10,
315331 FEC_2_5,
332+ FEC_1_3,
333+ FEC_1_4,
334+ FEC_5_9,
335+ FEC_7_9,
336+ FEC_8_15,
337+ FEC_11_15,
338+ FEC_13_18,
339+ FEC_9_20,
340+ FEC_11_20,
341+ FEC_23_36,
342+ FEC_25_36,
343+ FEC_13_45,
344+ FEC_26_45,
345+ FEC_28_45,
346+ FEC_32_45,
347+ FEC_77_90,
316348 };
317349
318350 /**
@@ -331,6 +363,13 @@ enum fe_code_rate { · 12 unmodified lines
331363 * @APSK_32: 32-APSK modulation
332364 * @DQPSK: DQPSK modulation
333365 * @QAM_4_NR: 4-QAM-NR modulation
366+ * @QAM-1024: 1024-QAM modulation
367+ * @QAM-4096: 4096-QAM modulation
368+ * @APSK_8_L: 8APSK-L modulation
369+ * @APSK_16_L: 16APSK-L modulation
370+ * @APSK_32_L: 32APSK-L modulation
371+ * @APSK_64: 64APSK modulation
372+ * @APSK_64_L: 64APSK-L modulation
334373 *
335374 * Please note that not all modulations are supported by a given standard.
336375 *
@@ -350,6 +389,13 @@ enum fe_modulation { · 13 unmodified lines
350389 APSK_32,
351390 DQPSK,
352391 QAM_4_NR,
392+ QAM_1024,
393+ QAM_4096,
394+ APSK_8_L,
395+ APSK_16_L,
396+ APSK_32_L,
397+ APSK_64,
398+ APSK_64_L,
353399 };
354400
355401 /**
@@ -404,6 +450,7 @@ enum fe_transmit_mode { · 48 unmodified lines
404450 * @GUARD_INTERVAL_PN420: PN length 420 (1/4)
405451 * @GUARD_INTERVAL_PN595: PN length 595 (1/6)
406452 * @GUARD_INTERVAL_PN945: PN length 945 (1/9)
453+ * @GUARD_INTERVAL_1_64: Guard interval 1/64
407454 *
408455 * Please note that not all guard intervals are supported by a given standard.
409456 */
@@ -419,6 +466,7 @@ enum fe_guard_interval { · 9 unmodified lines
419466 GUARD_INTERVAL_PN420,
420467 GUARD_INTERVAL_PN595,
421468 GUARD_INTERVAL_PN945,
469+ GUARD_INTERVAL_1_64,
422470 };
423471
424472 /**
@@ -571,6 +619,9 @@ enum fe_pilot { · 146 unmodified lines
571619 * @ROLLOFF_20: Roloff factor: α=20%
572620 * @ROLLOFF_25: Roloff factor: α=25%
573621 * @ROLLOFF_AUTO: Auto-detect the roloff factor.
622+ * @ROLLOFF_15: Rolloff factor: α=15%
623+ * @ROLLOFF_10: Rolloff factor: α=10%
624+ * @ROLLOFF_5: Rolloff factor: α=5%
574625 *
575626 * .. note:
576627 *
@@ -581,6 +632,9 @@ enum fe_rolloff { · 4 unmodified lines
581632 ROLLOFF_20,
582633 ROLLOFF_25,
583634 ROLLOFF_AUTO,
635+ ROLLOFF_15,
636+ ROLLOFF_10,
637+ ROLLOFF_5,
584638 };
585639
586640 /**
@@ -594,6 +648,8 @@ enum fe_rolloff { · 7 unmodified lines
594648 * Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM)
595649 * @SYS_DVBC_ANNEX_C:
596650 * Cable TV: DVB-C following ITU-T J.83 Annex C spec
651+ * @SYS_DVBC2:
652+ * Cable TV: DVB-C2
597653 * @SYS_ISDBC:
598654 * Cable TV: ISDB-C (no drivers yet)
599655 * @SYS_DVBT:
@@ -611,7 +667,7 @@ enum fe_rolloff { · 11 unmodified lines
611667 * @SYS_DVBS:
612668 * Satellite TV: DVB-S
613669 * @SYS_DVBS2:
614− * Satellite TV: DVB-S2
670+ * Satellite TV: DVB-S2 and DVB-S2X
615671 * @SYS_TURBO:
616672 * Satellite TV: DVB-S Turbo
617673 * @SYS_ISDBS:
@@ -645,6 +701,7 @@ enum fe_delivery_system { · 27 unmodified lines
645701 SYS_DVBT2,
646702 SYS_TURBO,
647703 SYS_DVBC_ANNEX_C,
704+ SYS_DVBC2,
648705 };
649706
650707 /* backward compatibility definitions for delivery systems */