1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * cxd2880_tnrdmd_dvbt2_mon.h |
4 | * Sony CXD2880 DVB-T2/T tuner + demodulator driver |
5 | * DVB-T2 monitor interface |
6 | * |
7 | * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation |
8 | */ |
9 | |
10 | #ifndef CXD2880_TNRDMD_DVBT2_MON_H |
11 | #define CXD2880_TNRDMD_DVBT2_MON_H |
12 | |
13 | #include "cxd2880_tnrdmd.h" |
14 | #include "cxd2880_dvbt2.h" |
15 | |
16 | int cxd2880_tnrdmd_dvbt2_mon_sync_stat(struct cxd2880_tnrdmd |
17 | *tnr_dmd, u8 *sync_stat, |
18 | u8 *ts_lock_stat, |
19 | u8 *unlock_detected); |
20 | |
21 | int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd |
22 | *tnr_dmd, |
23 | u8 *sync_stat, |
24 | u8 *unlock_detected); |
25 | |
26 | int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd |
27 | *tnr_dmd, int *offset); |
28 | |
29 | int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct |
30 | cxd2880_tnrdmd |
31 | *tnr_dmd, |
32 | int *offset); |
33 | |
34 | int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd, |
35 | struct cxd2880_dvbt2_l1pre |
36 | *l1_pre); |
37 | |
38 | int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd |
39 | *tnr_dmd, |
40 | enum cxd2880_dvbt2_version |
41 | *ver); |
42 | |
43 | int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd, |
44 | struct cxd2880_dvbt2_ofdm *ofdm); |
45 | |
46 | int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd |
47 | *tnr_dmd, u8 *plp_ids, |
48 | u8 *num_plps); |
49 | |
50 | int cxd2880_tnrdmd_dvbt2_mon_active_plp(struct cxd2880_tnrdmd |
51 | *tnr_dmd, |
52 | enum |
53 | cxd2880_dvbt2_plp_btype |
54 | type, |
55 | struct cxd2880_dvbt2_plp |
56 | *plp_info); |
57 | |
58 | int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd |
59 | *tnr_dmd, |
60 | u8 *plp_error); |
61 | |
62 | int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd |
63 | *tnr_dmd, u8 *l1_change); |
64 | |
65 | int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd |
66 | *tnr_dmd, |
67 | struct cxd2880_dvbt2_l1post |
68 | *l1_post); |
69 | |
70 | int (struct cxd2880_tnrdmd |
71 | *tnr_dmd, |
72 | enum cxd2880_dvbt2_plp_btype |
73 | type, |
74 | struct cxd2880_dvbt2_bbheader |
75 | *); |
76 | |
77 | int cxd2880_tnrdmd_dvbt2_mon_in_bandb_ts_rate(struct cxd2880_tnrdmd |
78 | *tnr_dmd, |
79 | enum |
80 | cxd2880_dvbt2_plp_btype |
81 | type, |
82 | u32 *ts_rate_bps); |
83 | |
84 | int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd |
85 | *tnr_dmd, |
86 | enum |
87 | cxd2880_tnrdmd_spectrum_sense |
88 | *sense); |
89 | |
90 | int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd, |
91 | int *snr); |
92 | |
93 | int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd |
94 | *tnr_dmd, int *snr, |
95 | int *snr_main, |
96 | int *snr_sub); |
97 | |
98 | int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct |
99 | cxd2880_tnrdmd |
100 | *tnr_dmd, |
101 | u32 *pen); |
102 | |
103 | int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd |
104 | *tnr_dmd, int *ppm); |
105 | |
106 | int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct |
107 | cxd2880_tnrdmd |
108 | *tnr_dmd, |
109 | int *ppm); |
110 | |
111 | int cxd2880_tnrdmd_dvbt2_mon_qam(struct cxd2880_tnrdmd *tnr_dmd, |
112 | enum cxd2880_dvbt2_plp_btype type, |
113 | enum cxd2880_dvbt2_plp_constell |
114 | *qam); |
115 | |
116 | int cxd2880_tnrdmd_dvbt2_mon_code_rate(struct cxd2880_tnrdmd |
117 | *tnr_dmd, |
118 | enum cxd2880_dvbt2_plp_btype |
119 | type, |
120 | enum |
121 | cxd2880_dvbt2_plp_code_rate |
122 | *code_rate); |
123 | |
124 | int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd |
125 | *tnr_dmd, |
126 | enum cxd2880_dvbt2_profile |
127 | *profile); |
128 | |
129 | int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd, |
130 | u8 *ssi); |
131 | |
132 | int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd |
133 | *tnr_dmd, u8 *ssi); |
134 | |
135 | #endif |
136 | |