cxd2880_tnrdmd_dvbt2.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * cxd2880_tnrdmd_dvbt2.h
  4. * Sony CXD2880 DVB-T2/T tuner + demodulator driver
  5. * control interface for DVB-T2
  6. *
  7. * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
  8. */
  9. #ifndef CXD2880_TNRDMD_DVBT2_H
  10. #define CXD2880_TNRDMD_DVBT2_H
  11. #include "cxd2880_common.h"
  12. #include "cxd2880_tnrdmd.h"
  13. enum cxd2880_tnrdmd_dvbt2_tune_info {
  14. CXD2880_TNRDMD_DVBT2_TUNE_INFO_OK,
  15. CXD2880_TNRDMD_DVBT2_TUNE_INFO_INVALID_PLP_ID
  16. };
  17. struct cxd2880_dvbt2_tune_param {
  18. u32 center_freq_khz;
  19. enum cxd2880_dtv_bandwidth bandwidth;
  20. u16 data_plp_id;
  21. enum cxd2880_dvbt2_profile profile;
  22. enum cxd2880_tnrdmd_dvbt2_tune_info tune_info;
  23. };
  24. #define CXD2880_DVBT2_TUNE_PARAM_PLPID_AUTO 0xffff
  25. int cxd2880_tnrdmd_dvbt2_tune1(struct cxd2880_tnrdmd *tnr_dmd,
  26. struct cxd2880_dvbt2_tune_param
  27. *tune_param);
  28. int cxd2880_tnrdmd_dvbt2_tune2(struct cxd2880_tnrdmd *tnr_dmd,
  29. struct cxd2880_dvbt2_tune_param
  30. *tune_param);
  31. int cxd2880_tnrdmd_dvbt2_sleep_setting(struct cxd2880_tnrdmd
  32. *tnr_dmd);
  33. int cxd2880_tnrdmd_dvbt2_check_demod_lock(struct cxd2880_tnrdmd
  34. *tnr_dmd,
  35. enum
  36. cxd2880_tnrdmd_lock_result
  37. *lock);
  38. int cxd2880_tnrdmd_dvbt2_check_ts_lock(struct cxd2880_tnrdmd
  39. *tnr_dmd,
  40. enum
  41. cxd2880_tnrdmd_lock_result
  42. *lock);
  43. int cxd2880_tnrdmd_dvbt2_set_plp_cfg(struct cxd2880_tnrdmd
  44. *tnr_dmd, u8 auto_plp,
  45. u8 plp_id);
  46. int cxd2880_tnrdmd_dvbt2_diver_fef_setting(struct cxd2880_tnrdmd
  47. *tnr_dmd);
  48. int cxd2880_tnrdmd_dvbt2_check_l1post_valid(struct cxd2880_tnrdmd
  49. *tnr_dmd,
  50. u8 *l1_post_valid);
  51. #endif