cxd2880_tnrdmd_dvbt2_mon.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * cxd2880_tnrdmd_dvbt2_mon.h
  4. * Sony CXD2880 DVB-T2/T tuner + demodulator driver
  5. * DVB-T2 monitor interface
  6. *
  7. * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
  8. */
  9. #ifndef CXD2880_TNRDMD_DVBT2_MON_H
  10. #define CXD2880_TNRDMD_DVBT2_MON_H
  11. #include "cxd2880_tnrdmd.h"
  12. #include "cxd2880_dvbt2.h"
  13. int cxd2880_tnrdmd_dvbt2_mon_sync_stat(struct cxd2880_tnrdmd
  14. *tnr_dmd, u8 *sync_stat,
  15. u8 *ts_lock_stat,
  16. u8 *unlock_detected);
  17. int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd
  18. *tnr_dmd,
  19. u8 *sync_stat,
  20. u8 *unlock_detected);
  21. int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd
  22. *tnr_dmd, int *offset);
  23. int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct
  24. cxd2880_tnrdmd
  25. *tnr_dmd,
  26. int *offset);
  27. int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd,
  28. struct cxd2880_dvbt2_l1pre
  29. *l1_pre);
  30. int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd
  31. *tnr_dmd,
  32. enum cxd2880_dvbt2_version
  33. *ver);
  34. int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd,
  35. struct cxd2880_dvbt2_ofdm *ofdm);
  36. int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd
  37. *tnr_dmd, u8 *plp_ids,
  38. u8 *num_plps);
  39. int cxd2880_tnrdmd_dvbt2_mon_active_plp(struct cxd2880_tnrdmd
  40. *tnr_dmd,
  41. enum
  42. cxd2880_dvbt2_plp_btype
  43. type,
  44. struct cxd2880_dvbt2_plp
  45. *plp_info);
  46. int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd
  47. *tnr_dmd,
  48. u8 *plp_error);
  49. int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd
  50. *tnr_dmd, u8 *l1_change);
  51. int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd
  52. *tnr_dmd,
  53. struct cxd2880_dvbt2_l1post
  54. *l1_post);
  55. int cxd2880_tnrdmd_dvbt2_mon_bbheader(struct cxd2880_tnrdmd
  56. *tnr_dmd,
  57. enum cxd2880_dvbt2_plp_btype
  58. type,
  59. struct cxd2880_dvbt2_bbheader
  60. *bbheader);
  61. int cxd2880_tnrdmd_dvbt2_mon_in_bandb_ts_rate(struct cxd2880_tnrdmd
  62. *tnr_dmd,
  63. enum
  64. cxd2880_dvbt2_plp_btype
  65. type,
  66. u32 *ts_rate_bps);
  67. int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd
  68. *tnr_dmd,
  69. enum
  70. cxd2880_tnrdmd_spectrum_sense
  71. *sense);
  72. int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
  73. int *snr);
  74. int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd
  75. *tnr_dmd, int *snr,
  76. int *snr_main,
  77. int *snr_sub);
  78. int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct
  79. cxd2880_tnrdmd
  80. *tnr_dmd,
  81. u32 *pen);
  82. int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd
  83. *tnr_dmd, int *ppm);
  84. int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct
  85. cxd2880_tnrdmd
  86. *tnr_dmd,
  87. int *ppm);
  88. int cxd2880_tnrdmd_dvbt2_mon_qam(struct cxd2880_tnrdmd *tnr_dmd,
  89. enum cxd2880_dvbt2_plp_btype type,
  90. enum cxd2880_dvbt2_plp_constell
  91. *qam);
  92. int cxd2880_tnrdmd_dvbt2_mon_code_rate(struct cxd2880_tnrdmd
  93. *tnr_dmd,
  94. enum cxd2880_dvbt2_plp_btype
  95. type,
  96. enum
  97. cxd2880_dvbt2_plp_code_rate
  98. *code_rate);
  99. int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd
  100. *tnr_dmd,
  101. enum cxd2880_dvbt2_profile
  102. *profile);
  103. int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
  104. u8 *ssi);
  105. int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd
  106. *tnr_dmd, u8 *ssi);
  107. #endif