| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * cxd2880_tnrdmd_dvbt2.h |
| * Sony CXD2880 DVB-T2/T tuner + demodulator driver |
| * control interface for DVB-T2 |
| * |
| * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation |
| */ |
| |
| #ifndef CXD2880_TNRDMD_DVBT2_H |
| #define CXD2880_TNRDMD_DVBT2_H |
| |
| #include "cxd2880_common.h" |
| #include "cxd2880_tnrdmd.h" |
| |
| enum cxd2880_tnrdmd_dvbt2_tune_info { |
| CXD2880_TNRDMD_DVBT2_TUNE_INFO_OK, |
| CXD2880_TNRDMD_DVBT2_TUNE_INFO_INVALID_PLP_ID |
| }; |
| |
| struct cxd2880_dvbt2_tune_param { |
| u32 center_freq_khz; |
| enum cxd2880_dtv_bandwidth bandwidth; |
| u16 data_plp_id; |
| enum cxd2880_dvbt2_profile profile; |
| enum cxd2880_tnrdmd_dvbt2_tune_info tune_info; |
| }; |
| |
| #define CXD2880_DVBT2_TUNE_PARAM_PLPID_AUTO 0xffff |
| |
| int cxd2880_tnrdmd_dvbt2_tune1(struct cxd2880_tnrdmd *tnr_dmd, |
| struct cxd2880_dvbt2_tune_param |
| *tune_param); |
| |
| int cxd2880_tnrdmd_dvbt2_tune2(struct cxd2880_tnrdmd *tnr_dmd, |
| struct cxd2880_dvbt2_tune_param |
| *tune_param); |
| |
| int cxd2880_tnrdmd_dvbt2_sleep_setting(struct cxd2880_tnrdmd |
| *tnr_dmd); |
| |
| int cxd2880_tnrdmd_dvbt2_check_demod_lock(struct cxd2880_tnrdmd |
| *tnr_dmd, |
| enum |
| cxd2880_tnrdmd_lock_result |
| *lock); |
| |
| int cxd2880_tnrdmd_dvbt2_check_ts_lock(struct cxd2880_tnrdmd |
| *tnr_dmd, |
| enum |
| cxd2880_tnrdmd_lock_result |
| *lock); |
| |
| int cxd2880_tnrdmd_dvbt2_set_plp_cfg(struct cxd2880_tnrdmd |
| *tnr_dmd, u8 auto_plp, |
| u8 plp_id); |
| |
| int cxd2880_tnrdmd_dvbt2_diver_fef_setting(struct cxd2880_tnrdmd |
| *tnr_dmd); |
| |
| int cxd2880_tnrdmd_dvbt2_check_l1post_valid(struct cxd2880_tnrdmd |
| *tnr_dmd, |
| u8 *l1_post_valid); |
| |
| #endif |