Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
Note: File does not exist in v3.5.6.
  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
 10#ifndef CXD2880_TNRDMD_DVBT2_MON_H
 11#define CXD2880_TNRDMD_DVBT2_MON_H
 12
 13#include "cxd2880_tnrdmd.h"
 14#include "cxd2880_dvbt2.h"
 15
 16int cxd2880_tnrdmd_dvbt2_mon_sync_stat(struct cxd2880_tnrdmd
 17				       *tnr_dmd, u8 *sync_stat,
 18				       u8 *ts_lock_stat,
 19				       u8 *unlock_detected);
 20
 21int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd
 22					   *tnr_dmd,
 23					   u8 *sync_stat,
 24					   u8 *unlock_detected);
 25
 26int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd
 27					    *tnr_dmd, int *offset);
 28
 29int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct
 30						cxd2880_tnrdmd
 31						*tnr_dmd,
 32						int *offset);
 33
 34int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd,
 35				    struct cxd2880_dvbt2_l1pre
 36				    *l1_pre);
 37
 38int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd
 39				     *tnr_dmd,
 40				     enum cxd2880_dvbt2_version
 41				     *ver);
 42
 43int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd,
 44				  struct cxd2880_dvbt2_ofdm *ofdm);
 45
 46int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd
 47				       *tnr_dmd, u8 *plp_ids,
 48				       u8 *num_plps);
 49
 50int cxd2880_tnrdmd_dvbt2_mon_active_plp(struct cxd2880_tnrdmd
 51					*tnr_dmd,
 52					enum
 53					cxd2880_dvbt2_plp_btype
 54					type,
 55					struct cxd2880_dvbt2_plp
 56					*plp_info);
 57
 58int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd
 59					    *tnr_dmd,
 60					    u8 *plp_error);
 61
 62int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd
 63				       *tnr_dmd, u8 *l1_change);
 64
 65int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd
 66				     *tnr_dmd,
 67				     struct cxd2880_dvbt2_l1post
 68				     *l1_post);
 69
 70int cxd2880_tnrdmd_dvbt2_mon_bbheader(struct cxd2880_tnrdmd
 71				      *tnr_dmd,
 72				      enum cxd2880_dvbt2_plp_btype
 73				      type,
 74				      struct cxd2880_dvbt2_bbheader
 75				      *bbheader);
 76
 77int cxd2880_tnrdmd_dvbt2_mon_in_bandb_ts_rate(struct cxd2880_tnrdmd
 78					      *tnr_dmd,
 79					      enum
 80					      cxd2880_dvbt2_plp_btype
 81					      type,
 82					      u32 *ts_rate_bps);
 83
 84int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd
 85					    *tnr_dmd,
 86					    enum
 87					    cxd2880_tnrdmd_spectrum_sense
 88					    *sense);
 89
 90int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
 91				 int *snr);
 92
 93int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd
 94				       *tnr_dmd, int *snr,
 95				       int *snr_main,
 96				       int *snr_sub);
 97
 98int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct
 99						 cxd2880_tnrdmd
100						 *tnr_dmd,
101						 u32 *pen);
102
103int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd
104					     *tnr_dmd, int *ppm);
105
106int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct
107						 cxd2880_tnrdmd
108						 *tnr_dmd,
109						 int *ppm);
110
111int cxd2880_tnrdmd_dvbt2_mon_qam(struct cxd2880_tnrdmd *tnr_dmd,
112				 enum cxd2880_dvbt2_plp_btype type,
113				 enum cxd2880_dvbt2_plp_constell
114				 *qam);
115
116int cxd2880_tnrdmd_dvbt2_mon_code_rate(struct cxd2880_tnrdmd
117				       *tnr_dmd,
118				       enum cxd2880_dvbt2_plp_btype
119				       type,
120				       enum
121				       cxd2880_dvbt2_plp_code_rate
122				       *code_rate);
123
124int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd
125				     *tnr_dmd,
126				     enum cxd2880_dvbt2_profile
127				     *profile);
128
129int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
130				 u8 *ssi);
131
132int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd
133				     *tnr_dmd, u8 *ssi);
134
135#endif