|  | /* | 
|  | * include/media/si476x-platform.h -- Definitions of the data formats | 
|  | * returned by debugfs hooks | 
|  | * | 
|  | * Copyright (C) 2013 Andrey Smirnov | 
|  | * | 
|  | * Author: Andrey Smirnov <[email protected]> | 
|  | * | 
|  | * 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__ */ |