You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
4.9 KiB
163 lines
4.9 KiB
/* |
|
* include/media/si476x-platform.h -- Definitions of the data formats |
|
* returned by debugfs hooks |
|
* |
|
* Copyright (C) 2013 Andrey Smirnov |
|
* |
|
* Author: Andrey Smirnov <andrew.smirnov@gmail.com> |
|
* |
|
* This program is free software; you can redistribute it and/or modify |
|
* it under the terms of the GNU General Public License as published by |
|
* the Free Software Foundation; version 2 of the License. |
|
* |
|
* This program is distributed in the hope that it will be useful, but |
|
* WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
* General Public License for more details. |
|
* |
|
*/ |
|
|
|
#ifndef __SI476X_REPORTS_H__ |
|
#define __SI476X_REPORTS_H__ |
|
|
|
/** |
|
* struct si476x_rsq_status - structure containing received signal |
|
* quality |
|
* @multhint: Multipath Detect High. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_MULTIPATH_HIGH_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_MULTIPATH_HIGH_THRESHOLD |
|
* @multlint: Multipath Detect Low. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_MULTIPATH_LOW_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_MULTIPATH_LOW_THRESHOLD |
|
* @snrhint: SNR Detect High. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_SNR_HIGH_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_SNR_HIGH_THRESHOLD |
|
* @snrlint: SNR Detect Low. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_SNR_LOW_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_SNR_LOW_THRESHOLD |
|
* @rssihint: RSSI Detect High. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_RSSI_HIGH_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_RSSI_HIGH_THRESHOLD |
|
* @rssilint: RSSI Detect Low. |
|
* true - Indicatedes that the value is below |
|
* FM_RSQ_RSSI_LOW_THRESHOLD |
|
* false - Indicatedes that the value is above |
|
* FM_RSQ_RSSI_LOW_THRESHOLD |
|
* @bltf: Band Limit. |
|
* Set if seek command hits the band limit or wrapped to |
|
* the original frequency. |
|
* @snr_ready: SNR measurement in progress. |
|
* @rssiready: RSSI measurement in progress. |
|
* @afcrl: Set if FREQOFF >= MAX_TUNE_ERROR |
|
* @valid: Set if the channel is valid |
|
* rssi < FM_VALID_RSSI_THRESHOLD |
|
* snr < FM_VALID_SNR_THRESHOLD |
|
* tune_error < FM_VALID_MAX_TUNE_ERROR |
|
* @readfreq: Current tuned frequency. |
|
* @freqoff: Signed frequency offset. |
|
* @rssi: Received Signal Strength Indicator(dBuV). |
|
* @snr: RF SNR Indicator(dB). |
|
* @lassi: |
|
* @hassi: Low/High side Adjacent(100 kHz) Channel Strength Indicator |
|
* @mult: Multipath indicator |
|
* @dev: Who knows? But values may vary. |
|
* @readantcap: Antenna tuning capacity value. |
|
* @assi: Adjacent Channel(+/- 200kHz) Strength Indicator |
|
* @usn: Ultrasonic Noise Inticator in -DBFS |
|
*/ |
|
struct si476x_rsq_status_report { |
|
__u8 multhint, multlint; |
|
__u8 snrhint, snrlint; |
|
__u8 rssihint, rssilint; |
|
__u8 bltf; |
|
__u8 snr_ready; |
|
__u8 rssiready; |
|
__u8 injside; |
|
__u8 afcrl; |
|
__u8 valid; |
|
|
|
__u16 readfreq; |
|
__s8 freqoff; |
|
__s8 rssi; |
|
__s8 snr; |
|
__s8 issi; |
|
__s8 lassi, hassi; |
|
__s8 mult; |
|
__u8 dev; |
|
__u16 readantcap; |
|
__s8 assi; |
|
__s8 usn; |
|
|
|
__u8 pilotdev; |
|
__u8 rdsdev; |
|
__u8 assidev; |
|
__u8 strongdev; |
|
__u16 rdspi; |
|
} __packed; |
|
|
|
/** |
|
* si476x_acf_status_report - ACF report results |
|
* |
|
* @blend_int: If set, indicates that stereo separation has crossed |
|
* below the blend threshold as set by FM_ACF_BLEND_THRESHOLD |
|
* @hblend_int: If set, indicates that HiBlend cutoff frequency is |
|
* lower than threshold as set by FM_ACF_HBLEND_THRESHOLD |
|
* @hicut_int: If set, indicates that HiCut cutoff frequency is lower |
|
* than the threshold set by ACF_ |
|
|
|
*/ |
|
struct si476x_acf_status_report { |
|
__u8 blend_int; |
|
__u8 hblend_int; |
|
__u8 hicut_int; |
|
__u8 chbw_int; |
|
__u8 softmute_int; |
|
__u8 smute; |
|
__u8 smattn; |
|
__u8 chbw; |
|
__u8 hicut; |
|
__u8 hiblend; |
|
__u8 pilot; |
|
__u8 stblend; |
|
} __packed; |
|
|
|
enum si476x_fmagc { |
|
SI476X_FMAGC_10K_OHM = 0, |
|
SI476X_FMAGC_800_OHM = 1, |
|
SI476X_FMAGC_400_OHM = 2, |
|
SI476X_FMAGC_200_OHM = 4, |
|
SI476X_FMAGC_100_OHM = 8, |
|
SI476X_FMAGC_50_OHM = 16, |
|
SI476X_FMAGC_25_OHM = 32, |
|
SI476X_FMAGC_12P5_OHM = 64, |
|
SI476X_FMAGC_6P25_OHM = 128, |
|
}; |
|
|
|
struct si476x_agc_status_report { |
|
__u8 mxhi; |
|
__u8 mxlo; |
|
__u8 lnahi; |
|
__u8 lnalo; |
|
__u8 fmagc1; |
|
__u8 fmagc2; |
|
__u8 pgagain; |
|
__u8 fmwblang; |
|
} __packed; |
|
|
|
struct si476x_rds_blockcount_report { |
|
__u16 expected; |
|
__u16 received; |
|
__u16 uncorrectable; |
|
} __packed; |
|
|
|
#endif /* __SI476X_REPORTS_H__ */
|
|
|