Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * cxd2880_tnrdmd_dvbt2.h
0004  * Sony CXD2880 DVB-T2/T tuner + demodulator driver
0005  * control interface for DVB-T2
0006  *
0007  * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
0008  */
0009 
0010 #ifndef CXD2880_TNRDMD_DVBT2_H
0011 #define CXD2880_TNRDMD_DVBT2_H
0012 
0013 #include "cxd2880_common.h"
0014 #include "cxd2880_tnrdmd.h"
0015 
0016 enum cxd2880_tnrdmd_dvbt2_tune_info {
0017     CXD2880_TNRDMD_DVBT2_TUNE_INFO_OK,
0018     CXD2880_TNRDMD_DVBT2_TUNE_INFO_INVALID_PLP_ID
0019 };
0020 
0021 struct cxd2880_dvbt2_tune_param {
0022     u32 center_freq_khz;
0023     enum cxd2880_dtv_bandwidth bandwidth;
0024     u16 data_plp_id;
0025     enum cxd2880_dvbt2_profile profile;
0026     enum cxd2880_tnrdmd_dvbt2_tune_info tune_info;
0027 };
0028 
0029 #define CXD2880_DVBT2_TUNE_PARAM_PLPID_AUTO  0xffff
0030 
0031 int cxd2880_tnrdmd_dvbt2_tune1(struct cxd2880_tnrdmd *tnr_dmd,
0032                    struct cxd2880_dvbt2_tune_param
0033                    *tune_param);
0034 
0035 int cxd2880_tnrdmd_dvbt2_tune2(struct cxd2880_tnrdmd *tnr_dmd,
0036                    struct cxd2880_dvbt2_tune_param
0037                    *tune_param);
0038 
0039 int cxd2880_tnrdmd_dvbt2_sleep_setting(struct cxd2880_tnrdmd
0040                        *tnr_dmd);
0041 
0042 int cxd2880_tnrdmd_dvbt2_check_demod_lock(struct cxd2880_tnrdmd
0043                       *tnr_dmd,
0044                       enum
0045                       cxd2880_tnrdmd_lock_result
0046                       *lock);
0047 
0048 int cxd2880_tnrdmd_dvbt2_check_ts_lock(struct cxd2880_tnrdmd
0049                        *tnr_dmd,
0050                        enum
0051                        cxd2880_tnrdmd_lock_result
0052                        *lock);
0053 
0054 int cxd2880_tnrdmd_dvbt2_set_plp_cfg(struct cxd2880_tnrdmd
0055                      *tnr_dmd, u8 auto_plp,
0056                      u8 plp_id);
0057 
0058 int cxd2880_tnrdmd_dvbt2_diver_fef_setting(struct cxd2880_tnrdmd
0059                        *tnr_dmd);
0060 
0061 int cxd2880_tnrdmd_dvbt2_check_l1post_valid(struct cxd2880_tnrdmd
0062                         *tnr_dmd,
0063                         u8 *l1_post_valid);
0064 
0065 #endif