164 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 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__ */
 | 
