Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * cxd2880_tnrdmd_dvbt2_mon.h
0004  * Sony CXD2880 DVB-T2/T tuner + demodulator driver
0005  * DVB-T2 monitor interface
0006  *
0007  * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
0008  */
0009 
0010 #ifndef CXD2880_TNRDMD_DVBT2_MON_H
0011 #define CXD2880_TNRDMD_DVBT2_MON_H
0012 
0013 #include "cxd2880_tnrdmd.h"
0014 #include "cxd2880_dvbt2.h"
0015 
0016 int cxd2880_tnrdmd_dvbt2_mon_sync_stat(struct cxd2880_tnrdmd
0017                        *tnr_dmd, u8 *sync_stat,
0018                        u8 *ts_lock_stat,
0019                        u8 *unlock_detected);
0020 
0021 int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd
0022                        *tnr_dmd,
0023                        u8 *sync_stat,
0024                        u8 *unlock_detected);
0025 
0026 int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd
0027                         *tnr_dmd, int *offset);
0028 
0029 int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct
0030                         cxd2880_tnrdmd
0031                         *tnr_dmd,
0032                         int *offset);
0033 
0034 int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd,
0035                     struct cxd2880_dvbt2_l1pre
0036                     *l1_pre);
0037 
0038 int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd
0039                      *tnr_dmd,
0040                      enum cxd2880_dvbt2_version
0041                      *ver);
0042 
0043 int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd,
0044                   struct cxd2880_dvbt2_ofdm *ofdm);
0045 
0046 int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd
0047                        *tnr_dmd, u8 *plp_ids,
0048                        u8 *num_plps);
0049 
0050 int cxd2880_tnrdmd_dvbt2_mon_active_plp(struct cxd2880_tnrdmd
0051                     *tnr_dmd,
0052                     enum
0053                     cxd2880_dvbt2_plp_btype
0054                     type,
0055                     struct cxd2880_dvbt2_plp
0056                     *plp_info);
0057 
0058 int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd
0059                         *tnr_dmd,
0060                         u8 *plp_error);
0061 
0062 int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd
0063                        *tnr_dmd, u8 *l1_change);
0064 
0065 int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd
0066                      *tnr_dmd,
0067                      struct cxd2880_dvbt2_l1post
0068                      *l1_post);
0069 
0070 int cxd2880_tnrdmd_dvbt2_mon_bbheader(struct cxd2880_tnrdmd
0071                       *tnr_dmd,
0072                       enum cxd2880_dvbt2_plp_btype
0073                       type,
0074                       struct cxd2880_dvbt2_bbheader
0075                       *bbheader);
0076 
0077 int cxd2880_tnrdmd_dvbt2_mon_in_bandb_ts_rate(struct cxd2880_tnrdmd
0078                           *tnr_dmd,
0079                           enum
0080                           cxd2880_dvbt2_plp_btype
0081                           type,
0082                           u32 *ts_rate_bps);
0083 
0084 int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd
0085                         *tnr_dmd,
0086                         enum
0087                         cxd2880_tnrdmd_spectrum_sense
0088                         *sense);
0089 
0090 int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
0091                  int *snr);
0092 
0093 int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd
0094                        *tnr_dmd, int *snr,
0095                        int *snr_main,
0096                        int *snr_sub);
0097 
0098 int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct
0099                          cxd2880_tnrdmd
0100                          *tnr_dmd,
0101                          u32 *pen);
0102 
0103 int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd
0104                          *tnr_dmd, int *ppm);
0105 
0106 int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct
0107                          cxd2880_tnrdmd
0108                          *tnr_dmd,
0109                          int *ppm);
0110 
0111 int cxd2880_tnrdmd_dvbt2_mon_qam(struct cxd2880_tnrdmd *tnr_dmd,
0112                  enum cxd2880_dvbt2_plp_btype type,
0113                  enum cxd2880_dvbt2_plp_constell
0114                  *qam);
0115 
0116 int cxd2880_tnrdmd_dvbt2_mon_code_rate(struct cxd2880_tnrdmd
0117                        *tnr_dmd,
0118                        enum cxd2880_dvbt2_plp_btype
0119                        type,
0120                        enum
0121                        cxd2880_dvbt2_plp_code_rate
0122                        *code_rate);
0123 
0124 int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd
0125                      *tnr_dmd,
0126                      enum cxd2880_dvbt2_profile
0127                      *profile);
0128 
0129 int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
0130                  u8 *ssi);
0131 
0132 int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd
0133                      *tnr_dmd, u8 *ssi);
0134 
0135 #endif