162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * cxd2880_tnrdmd_dvbt2.h 462306a36Sopenharmony_ci * Sony CXD2880 DVB-T2/T tuner + demodulator driver 562306a36Sopenharmony_ci * control interface for DVB-T2 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef CXD2880_TNRDMD_DVBT2_H 1162306a36Sopenharmony_ci#define CXD2880_TNRDMD_DVBT2_H 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "cxd2880_common.h" 1462306a36Sopenharmony_ci#include "cxd2880_tnrdmd.h" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_cienum cxd2880_tnrdmd_dvbt2_tune_info { 1762306a36Sopenharmony_ci CXD2880_TNRDMD_DVBT2_TUNE_INFO_OK, 1862306a36Sopenharmony_ci CXD2880_TNRDMD_DVBT2_TUNE_INFO_INVALID_PLP_ID 1962306a36Sopenharmony_ci}; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_cistruct cxd2880_dvbt2_tune_param { 2262306a36Sopenharmony_ci u32 center_freq_khz; 2362306a36Sopenharmony_ci enum cxd2880_dtv_bandwidth bandwidth; 2462306a36Sopenharmony_ci u16 data_plp_id; 2562306a36Sopenharmony_ci enum cxd2880_dvbt2_profile profile; 2662306a36Sopenharmony_ci enum cxd2880_tnrdmd_dvbt2_tune_info tune_info; 2762306a36Sopenharmony_ci}; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#define CXD2880_DVBT2_TUNE_PARAM_PLPID_AUTO 0xffff 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_tune1(struct cxd2880_tnrdmd *tnr_dmd, 3262306a36Sopenharmony_ci struct cxd2880_dvbt2_tune_param 3362306a36Sopenharmony_ci *tune_param); 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_tune2(struct cxd2880_tnrdmd *tnr_dmd, 3662306a36Sopenharmony_ci struct cxd2880_dvbt2_tune_param 3762306a36Sopenharmony_ci *tune_param); 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_sleep_setting(struct cxd2880_tnrdmd 4062306a36Sopenharmony_ci *tnr_dmd); 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_check_demod_lock(struct cxd2880_tnrdmd 4362306a36Sopenharmony_ci *tnr_dmd, 4462306a36Sopenharmony_ci enum 4562306a36Sopenharmony_ci cxd2880_tnrdmd_lock_result 4662306a36Sopenharmony_ci *lock); 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_check_ts_lock(struct cxd2880_tnrdmd 4962306a36Sopenharmony_ci *tnr_dmd, 5062306a36Sopenharmony_ci enum 5162306a36Sopenharmony_ci cxd2880_tnrdmd_lock_result 5262306a36Sopenharmony_ci *lock); 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_set_plp_cfg(struct cxd2880_tnrdmd 5562306a36Sopenharmony_ci *tnr_dmd, u8 auto_plp, 5662306a36Sopenharmony_ci u8 plp_id); 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_diver_fef_setting(struct cxd2880_tnrdmd 5962306a36Sopenharmony_ci *tnr_dmd); 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciint cxd2880_tnrdmd_dvbt2_check_l1post_valid(struct cxd2880_tnrdmd 6262306a36Sopenharmony_ci *tnr_dmd, 6362306a36Sopenharmony_ci u8 *l1_post_valid); 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci#endif 66