xref: /linux/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.h (revision c13aca79ff3c4af5fd31a5b2743a90eba6e36a26)
1*cc438de9SYasunari Takiguchi /* SPDX-License-Identifier: GPL-2.0 */
2*cc438de9SYasunari Takiguchi /*
3*cc438de9SYasunari Takiguchi  * cxd2880_tnrdmd_dvbt_mon.h
4*cc438de9SYasunari Takiguchi  * Sony CXD2880 DVB-T2/T tuner + demodulator driver
5*cc438de9SYasunari Takiguchi  * DVB-T monitor interface
6*cc438de9SYasunari Takiguchi  *
7*cc438de9SYasunari Takiguchi  * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
8*cc438de9SYasunari Takiguchi  */
9*cc438de9SYasunari Takiguchi 
10*cc438de9SYasunari Takiguchi #ifndef CXD2880_TNRDMD_DVBT_MON_H
11*cc438de9SYasunari Takiguchi #define CXD2880_TNRDMD_DVBT_MON_H
12*cc438de9SYasunari Takiguchi 
13*cc438de9SYasunari Takiguchi #include "cxd2880_tnrdmd.h"
14*cc438de9SYasunari Takiguchi #include "cxd2880_dvbt.h"
15*cc438de9SYasunari Takiguchi 
16*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_sync_stat(struct cxd2880_tnrdmd
17*cc438de9SYasunari Takiguchi 				      *tnr_dmd, u8 *sync_stat,
18*cc438de9SYasunari Takiguchi 				      u8 *ts_lock_stat,
19*cc438de9SYasunari Takiguchi 				      u8 *unlock_detected);
20*cc438de9SYasunari Takiguchi 
21*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_sync_stat_sub(struct cxd2880_tnrdmd
22*cc438de9SYasunari Takiguchi 					  *tnr_dmd, u8 *sync_stat,
23*cc438de9SYasunari Takiguchi 					  u8 *unlock_detected);
24*cc438de9SYasunari Takiguchi 
25*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_mode_guard(struct cxd2880_tnrdmd
26*cc438de9SYasunari Takiguchi 				       *tnr_dmd,
27*cc438de9SYasunari Takiguchi 				       enum cxd2880_dvbt_mode
28*cc438de9SYasunari Takiguchi 				       *mode,
29*cc438de9SYasunari Takiguchi 				       enum cxd2880_dvbt_guard
30*cc438de9SYasunari Takiguchi 				       *guard);
31*cc438de9SYasunari Takiguchi 
32*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_carrier_offset(struct cxd2880_tnrdmd
33*cc438de9SYasunari Takiguchi 					   *tnr_dmd, int *offset);
34*cc438de9SYasunari Takiguchi 
35*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_carrier_offset_sub(struct
36*cc438de9SYasunari Takiguchi 					       cxd2880_tnrdmd
37*cc438de9SYasunari Takiguchi 					       *tnr_dmd,
38*cc438de9SYasunari Takiguchi 					       int *offset);
39*cc438de9SYasunari Takiguchi 
40*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_tps_info(struct cxd2880_tnrdmd
41*cc438de9SYasunari Takiguchi 				     *tnr_dmd,
42*cc438de9SYasunari Takiguchi 				     struct cxd2880_dvbt_tpsinfo
43*cc438de9SYasunari Takiguchi 				     *info);
44*cc438de9SYasunari Takiguchi 
45*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_packet_error_number(struct
46*cc438de9SYasunari Takiguchi 						cxd2880_tnrdmd
47*cc438de9SYasunari Takiguchi 						*tnr_dmd,
48*cc438de9SYasunari Takiguchi 						u32 *pen);
49*cc438de9SYasunari Takiguchi 
50*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_spectrum_sense(struct cxd2880_tnrdmd
51*cc438de9SYasunari Takiguchi 					   *tnr_dmd,
52*cc438de9SYasunari Takiguchi 					   enum
53*cc438de9SYasunari Takiguchi 					   cxd2880_tnrdmd_spectrum_sense
54*cc438de9SYasunari Takiguchi 					   *sense);
55*cc438de9SYasunari Takiguchi 
56*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
57*cc438de9SYasunari Takiguchi 				int *snr);
58*cc438de9SYasunari Takiguchi 
59*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_snr_diver(struct cxd2880_tnrdmd
60*cc438de9SYasunari Takiguchi 				      *tnr_dmd, int *snr,
61*cc438de9SYasunari Takiguchi 				      int *snr_main, int *snr_sub);
62*cc438de9SYasunari Takiguchi 
63*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_sampling_offset(struct cxd2880_tnrdmd
64*cc438de9SYasunari Takiguchi 					    *tnr_dmd, int *ppm);
65*cc438de9SYasunari Takiguchi 
66*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_sampling_offset_sub(struct
67*cc438de9SYasunari Takiguchi 						cxd2880_tnrdmd
68*cc438de9SYasunari Takiguchi 						*tnr_dmd,
69*cc438de9SYasunari Takiguchi 						int *ppm);
70*cc438de9SYasunari Takiguchi 
71*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
72*cc438de9SYasunari Takiguchi 				u8 *ssi);
73*cc438de9SYasunari Takiguchi 
74*cc438de9SYasunari Takiguchi int cxd2880_tnrdmd_dvbt_mon_ssi_sub(struct cxd2880_tnrdmd *tnr_dmd,
75*cc438de9SYasunari Takiguchi 				    u8 *ssi);
76*cc438de9SYasunari Takiguchi 
77*cc438de9SYasunari Takiguchi #endif
78