xref: /linux/drivers/media/dvb-frontends/cxd2880/cxd2880_dvbt.h (revision c13aca79ff3c4af5fd31a5b2743a90eba6e36a26)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * cxd2880_dvbt.h
4  * Sony CXD2880 DVB-T2/T tuner + demodulator driver
5  * DVB-T related definitions
6  *
7  * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
8  */
9 
10 #ifndef CXD2880_DVBT_H
11 #define CXD2880_DVBT_H
12 
13 #include "cxd2880_common.h"
14 
15 enum cxd2880_dvbt_constellation {
16 	CXD2880_DVBT_CONSTELLATION_QPSK,
17 	CXD2880_DVBT_CONSTELLATION_16QAM,
18 	CXD2880_DVBT_CONSTELLATION_64QAM,
19 	CXD2880_DVBT_CONSTELLATION_RESERVED_3
20 };
21 
22 enum cxd2880_dvbt_hierarchy {
23 	CXD2880_DVBT_HIERARCHY_NON,
24 	CXD2880_DVBT_HIERARCHY_1,
25 	CXD2880_DVBT_HIERARCHY_2,
26 	CXD2880_DVBT_HIERARCHY_4
27 };
28 
29 enum cxd2880_dvbt_coderate {
30 	CXD2880_DVBT_CODERATE_1_2,
31 	CXD2880_DVBT_CODERATE_2_3,
32 	CXD2880_DVBT_CODERATE_3_4,
33 	CXD2880_DVBT_CODERATE_5_6,
34 	CXD2880_DVBT_CODERATE_7_8,
35 	CXD2880_DVBT_CODERATE_RESERVED_5,
36 	CXD2880_DVBT_CODERATE_RESERVED_6,
37 	CXD2880_DVBT_CODERATE_RESERVED_7
38 };
39 
40 enum cxd2880_dvbt_guard {
41 	CXD2880_DVBT_GUARD_1_32,
42 	CXD2880_DVBT_GUARD_1_16,
43 	CXD2880_DVBT_GUARD_1_8,
44 	CXD2880_DVBT_GUARD_1_4
45 };
46 
47 enum cxd2880_dvbt_mode {
48 	CXD2880_DVBT_MODE_2K,
49 	CXD2880_DVBT_MODE_8K,
50 	CXD2880_DVBT_MODE_RESERVED_2,
51 	CXD2880_DVBT_MODE_RESERVED_3
52 };
53 
54 enum cxd2880_dvbt_profile {
55 	CXD2880_DVBT_PROFILE_HP = 0,
56 	CXD2880_DVBT_PROFILE_LP
57 };
58 
59 struct cxd2880_dvbt_tpsinfo {
60 	enum cxd2880_dvbt_constellation constellation;
61 	enum cxd2880_dvbt_hierarchy hierarchy;
62 	enum cxd2880_dvbt_coderate rate_hp;
63 	enum cxd2880_dvbt_coderate rate_lp;
64 	enum cxd2880_dvbt_guard guard;
65 	enum cxd2880_dvbt_mode mode;
66 	u8 fnum;
67 	u8 length_indicator;
68 	u16 cell_id;
69 	u8 cell_id_ok;
70 	u8 reserved_even;
71 	u8 reserved_odd;
72 };
73 
74 #endif
75