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
89DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.89DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
90DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.90DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.
91DVB-C Annex B 64-QAM.91DVB-C Annex B 64-QAM.
92DVB-C2 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM.
92DVB-T QPSK, 16-QAM and 64-QAM.93DVB-T QPSK, 16-QAM and 64-QAM.
93DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.94DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.
94DVB-S No need to set. It supports only QPSK.95DVB-S No need to set. It supports only QPSK.
95DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.96DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.
97DVB-S2X 8-APSK-L, 16-APSK-L, 32-APSK-L, 64-APSK and 64-APSK-L.
96ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.98ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.
97ISDB-S 8-PSK, QPSK and BPSK.99ISDB-S 8-PSK, QPSK and BPSK.
98======================= =======================================================100======================= =======================================================
99 101
100.. note::102.. note::
101 103
104 As DVB-S2X specifies extensions to the DVB-S2 standard, the same
105 delivery system enum value is used (SYS_DVBS2).
106
102 Please notice that some of the above modulation types may not be107 Please notice that some of the above modulation types may not be
103 defined currently at the Kernel. The reason is simple: no driver108 defined currently at the Kernel. The reason is simple: no driver
104 needed such definition yet.109 needed such definition yet.
@@ -854,9 +859,10 @@ The acceptable values are defined by :c:type:`fe_guard_interval`. · 749 unmodified lines
854 #. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the859 #. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
855 hardware will try to find the correct guard interval (if capable) and860 hardware will try to find the correct guard interval (if capable) and
856 will use TMCC to fill in the missing parameters.861 will use TMCC to fill in the missing parameters.
857 #. Intervals ``GUARD_INTERVAL_1_128``, ``GUARD_INTERVAL_19_128``862 #. Interval ``GUARD_INTERVAL_1_64`` is used only for DVB-C2.
858 and ``GUARD_INTERVAL_19_256`` are used only for DVB-T2 at863 #. Interval ``GUARD_INTERVAL_1_128`` is used for both DVB-C2 and DVB_T2.
859 present.864 #. Intervals ``GUARD_INTERVAL_19_128`` and ``GUARD_INTERVAL_19_256`` are
865 used only for DVB-T2.
860 #. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and866 #. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
861 ``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.867 ``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
862 On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``868 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
916DTV_STREAM_ID922DTV_STREAM_ID
917=============923=============
918 924
919Used on DVB-S2, DVB-T2 and ISDB-S.925Used on DVB-C2, DVB-S2, DVB-T2 and ISDB-S.
920 926
921DVB-S2, DVB-T2 and ISDB-S support the transmission of several streams on927DVB-C2, DVB-S2, DVB-T2 and ISDB-S support the transmission of several
922a single transport stream. This property enables the digital TV driver to928streams on a single transport stream. This property enables the digital
923handle substream filtering, when supported by the hardware. By default,929TV driver to handle substream filtering, when supported by the hardware.
924substream filtering is disabled.930By default, substream filtering is disabled.
925 931
926For DVB-S2 and DVB-T2, the valid substream id range is from 0 to 255.932For DVB-C2, DVB-S2 and DVB-T2, the valid substream id range is from 0 to
933255.
927 934
928For ISDB, the valid substream id range is from 1 to 65535.935For ISDB, the valid substream id range is from 1 to 65535.
929 936
include/uapi/linux/dvb/frontend.h+58−1
@@ -296,6 +296,22 @@ enum fe_spectral_inversion { · 295 unmodified lines
296 * @FEC_3_5: Forward Error Correction Code 3/5296 * @FEC_3_5: Forward Error Correction Code 3/5
297 * @FEC_9_10: Forward Error Correction Code 9/10297 * @FEC_9_10: Forward Error Correction Code 9/10
298 * @FEC_2_5: Forward Error Correction Code 2/5298 * @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
299 *315 *
300 * Please note that not all FEC types are supported by a given standard.316 * Please note that not all FEC types are supported by a given standard.
301 */317 */
@@ -313,6 +329,22 @@ enum fe_code_rate { · 11 unmodified lines
313 FEC_3_5,329 FEC_3_5,
314 FEC_9_10,330 FEC_9_10,
315 FEC_2_5,331 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,
316};348};
317 349
318/**350/**
@@ -331,6 +363,13 @@ enum fe_code_rate { · 12 unmodified lines
331 * @APSK_32: 32-APSK modulation363 * @APSK_32: 32-APSK modulation
332 * @DQPSK: DQPSK modulation364 * @DQPSK: DQPSK modulation
333 * @QAM_4_NR: 4-QAM-NR modulation365 * @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
334 *373 *
335 * Please note that not all modulations are supported by a given standard.374 * Please note that not all modulations are supported by a given standard.
336 *375 *
@@ -350,6 +389,13 @@ enum fe_modulation { · 13 unmodified lines
350 APSK_32,389 APSK_32,
351 DQPSK,390 DQPSK,
352 QAM_4_NR,391 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,
353};399};
354 400
355/**401/**
@@ -404,6 +450,7 @@ enum fe_transmit_mode { · 48 unmodified lines
404 * @GUARD_INTERVAL_PN420: PN length 420 (1/4)450 * @GUARD_INTERVAL_PN420: PN length 420 (1/4)
405 * @GUARD_INTERVAL_PN595: PN length 595 (1/6)451 * @GUARD_INTERVAL_PN595: PN length 595 (1/6)
406 * @GUARD_INTERVAL_PN945: PN length 945 (1/9)452 * @GUARD_INTERVAL_PN945: PN length 945 (1/9)
453 * @GUARD_INTERVAL_1_64: Guard interval 1/64
407 *454 *
408 * Please note that not all guard intervals are supported by a given standard.455 * Please note that not all guard intervals are supported by a given standard.
409 */456 */
@@ -419,6 +466,7 @@ enum fe_guard_interval { · 9 unmodified lines
419 GUARD_INTERVAL_PN420,466 GUARD_INTERVAL_PN420,
420 GUARD_INTERVAL_PN595,467 GUARD_INTERVAL_PN595,
421 GUARD_INTERVAL_PN945,468 GUARD_INTERVAL_PN945,
469 GUARD_INTERVAL_1_64,
422};470};
423 471
424/**472/**
@@ -571,6 +619,9 @@ enum fe_pilot { · 146 unmodified lines
571 * @ROLLOFF_20: Roloff factor: α=20%619 * @ROLLOFF_20: Roloff factor: α=20%
572 * @ROLLOFF_25: Roloff factor: α=25%620 * @ROLLOFF_25: Roloff factor: α=25%
573 * @ROLLOFF_AUTO: Auto-detect the roloff factor.621 * @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%
574 *625 *
575 * .. note:626 * .. note:
576 *627 *
@@ -581,6 +632,9 @@ enum fe_rolloff { · 4 unmodified lines
581 ROLLOFF_20,632 ROLLOFF_20,
582 ROLLOFF_25,633 ROLLOFF_25,
583 ROLLOFF_AUTO,634 ROLLOFF_AUTO,
635 ROLLOFF_15,
636 ROLLOFF_10,
637 ROLLOFF_5,
584};638};
585 639
586/**640/**
@@ -594,6 +648,8 @@ enum fe_rolloff { · 7 unmodified lines
594 * Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM)648 * Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM)
595 * @SYS_DVBC_ANNEX_C:649 * @SYS_DVBC_ANNEX_C:
596 * Cable TV: DVB-C following ITU-T J.83 Annex C spec650 * Cable TV: DVB-C following ITU-T J.83 Annex C spec
651 * @SYS_DVBC2:
652 * Cable TV: DVB-C2
597 * @SYS_ISDBC:653 * @SYS_ISDBC:
598 * Cable TV: ISDB-C (no drivers yet)654 * Cable TV: ISDB-C (no drivers yet)
599 * @SYS_DVBT:655 * @SYS_DVBT:
@@ -611,7 +667,7 @@ enum fe_rolloff { · 11 unmodified lines
611 * @SYS_DVBS:667 * @SYS_DVBS:
612 * Satellite TV: DVB-S668 * Satellite TV: DVB-S
613 * @SYS_DVBS2:669 * @SYS_DVBS2:
614 * Satellite TV: DVB-S2670 * Satellite TV: DVB-S2 and DVB-S2X
615 * @SYS_TURBO:671 * @SYS_TURBO:
616 * Satellite TV: DVB-S Turbo672 * Satellite TV: DVB-S Turbo
617 * @SYS_ISDBS:673 * @SYS_ISDBS:
@@ -645,6 +701,7 @@ enum fe_delivery_system { · 27 unmodified lines
645 SYS_DVBT2,701 SYS_DVBT2,
646 SYS_TURBO,702 SYS_TURBO,
647 SYS_DVBC_ANNEX_C,703 SYS_DVBC_ANNEX_C,
704 SYS_DVBC2,
648};705};
649 706
650/* backward compatibility definitions for delivery systems */707/* backward compatibility definitions for delivery systems */