2 # User Andreas Oberritter <obi@linuxtv.org>
4 # Node ID 558dc662028e9ae5debcfb708da07ab67be8b3d8
5 # Parent 03dc113ca9af927f8a406b02d1b356258ecdcdee
6 DVB: Add basic support for DVB-T2
8 diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
9 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
10 +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
11 @@ -1161,10 +1161,9 @@
15 - if(c->delivery_system == SYS_ISDBT) {
16 - /* Fake out a generic DVB-T request so we pass validation in the ioctl */
17 - p->frequency = c->frequency;
18 - p->inversion = c->inversion;
19 + /* Fake out a generic DVB-T request so we pass validation in the ioctl */
20 + if ((c->delivery_system == SYS_ISDBT) ||
21 + (c->delivery_system == SYS_DVBT2)) {
22 p->u.ofdm.constellation = QAM_AUTO;
23 p->u.ofdm.code_rate_HP = FEC_AUTO;
24 p->u.ofdm.code_rate_LP = FEC_AUTO;
25 diff --git a/linux/include/linux/dvb/frontend.h b/linux/include/linux/dvb/frontend.h
26 --- a/linux/include/linux/dvb/frontend.h
27 +++ b/linux/include/linux/dvb/frontend.h
31 TRANSMISSION_MODE_AUTO,
32 - TRANSMISSION_MODE_4K
33 + TRANSMISSION_MODE_4K,
34 + TRANSMISSION_MODE_1K,
35 + TRANSMISSION_MODE_16K,
36 + TRANSMISSION_MODE_32K,
39 typedef enum fe_bandwidth {
47 + BANDWIDTH_1_712_MHZ,
56 + GUARD_INTERVAL_AUTO,
57 + GUARD_INTERVAL_1_128,
58 + GUARD_INTERVAL_19_128,
59 + GUARD_INTERVAL_19_256,
60 } fe_guard_interval_t;
65 #define DTV_ISDBS_TS_ID 42
67 -#define DTV_MAX_COMMAND DTV_ISDBS_TS_ID
68 +#define DTV_DVBT2_PLP_ID 43
70 +#define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID
72 typedef enum fe_pilot {
79 } fe_delivery_system_t;
82 diff --git a/linux/include/linux/dvb/version.h b/linux/include/linux/dvb/version.h
83 --- a/linux/include/linux/dvb/version.h
84 +++ b/linux/include/linux/dvb/version.h
86 #define _DVBVERSION_H_
88 #define DVB_API_VERSION 5
89 -#define DVB_API_VERSION_MINOR 2
90 +#define DVB_API_VERSION_MINOR 3
92 #endif /*_DVBVERSION_H_*/
93 --- v4l-dvb-org/linux/drivers/media/dvb/dvb-core/dvb_frontend.c 2011-08-13 18:16:51.000000000 +0200
94 +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.c 2011-08-13 18:21:12.953703247 +0200
99 -static struct dtv_cmds_h dtv_cmds[] = {
100 +static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
101 _DTV_CMD(DTV_TUNE, 1, 0),
102 _DTV_CMD(DTV_CLEAR, 1, 0),
105 _DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 0, 0),
107 _DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
108 + _DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
111 _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
112 @@ -1334,6 +1335,9 @@
113 case DTV_ISDBS_TS_ID:
114 tvp->u.data = c->isdbs_ts_id;
116 + case DTV_DVBT2_PLP_ID:
117 + tvp->u.data = fe->dtv_property_cache.dvbt2_plp_id;
122 @@ -1498,6 +1502,9 @@
123 case DTV_ISDBS_TS_ID:
124 c->isdbs_ts_id = tvp->u.data;
126 + case DTV_DVBT2_PLP_ID:
127 + fe->dtv_property_cache.dvbt2_plp_id = tvp->u.data;
132 --- v4l-dvb-org/linux/drivers/media/dvb/dvb-core/dvb_frontend.h 2011-04-13 01:43:27.000000000 +0200
133 +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.h 2011-08-13 18:21:12.973703248 +0200
136 /* ISDB-T specifics */
139 + /* DVB-T2 specifics */
143 struct dvb_frontend {