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
16int 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
21int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd
22 *tnr_dmd,
23 u8 *sync_stat,
24 u8 *unlock_detected);
25
26int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd
27 *tnr_dmd, int *offset);
28
29int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct
30 cxd2880_tnrdmd
31 *tnr_dmd,
32 int *offset);
33
34int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd,
35 struct cxd2880_dvbt2_l1pre
36 *l1_pre);
37
38int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd
39 *tnr_dmd,
40 enum cxd2880_dvbt2_version
41 *ver);
42
43int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd,
44 struct cxd2880_dvbt2_ofdm *ofdm);
45
46int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd
47 *tnr_dmd, u8 *plp_ids,
48 u8 *num_plps);
49
50int 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
58int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd
59 *tnr_dmd,
60 u8 *plp_error);
61
62int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd
63 *tnr_dmd, u8 *l1_change);
64
65int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd
66 *tnr_dmd,
67 struct cxd2880_dvbt2_l1post
68 *l1_post);
69
70int cxd2880_tnrdmd_dvbt2_mon_bbheader(struct cxd2880_tnrdmd
71 *tnr_dmd,
72 enum cxd2880_dvbt2_plp_btype
73 type,
74 struct cxd2880_dvbt2_bbheader
75 *bbheader);
76
77int 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
84int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd
85 *tnr_dmd,
86 enum
87 cxd2880_tnrdmd_spectrum_sense
88 *sense);
89
90int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
91 int *snr);
92
93int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd
94 *tnr_dmd, int *snr,
95 int *snr_main,
96 int *snr_sub);
97
98int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct
99 cxd2880_tnrdmd
100 *tnr_dmd,
101 u32 *pen);
102
103int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd
104 *tnr_dmd, int *ppm);
105
106int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct
107 cxd2880_tnrdmd
108 *tnr_dmd,
109 int *ppm);
110
111int 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
116int 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
124int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd
125 *tnr_dmd,
126 enum cxd2880_dvbt2_profile
127 *profile);
128
129int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
130 u8 *ssi);
131
132int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd
133 *tnr_dmd, u8 *ssi);
134
135#endif
136

source code of linux/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.h