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 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 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