linux/include/linux/mfd/si476x-reports.h
<<
>>
Prefs
   1/*
   2 * include/media/si476x-platform.h -- Definitions of the data formats
   3 * returned by debugfs hooks
   4 *
   5 * Copyright (C) 2013 Andrey Smirnov
   6 *
   7 * Author: Andrey Smirnov <andrew.smirnov@gmail.com>
   8 *
   9 * This program is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License as published by
  11 * the Free Software Foundation; version 2 of the License.
  12 *
  13 * This program is distributed in the hope that it will be useful, but
  14 * WITHOUT ANY WARRANTY; without even the implied warranty of
  15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16 * General Public License for more details.
  17 *
  18 */
  19
  20#ifndef __SI476X_REPORTS_H__
  21#define __SI476X_REPORTS_H__
  22
  23/**
  24 * struct si476x_rsq_status - structure containing received signal
  25 * quality
  26 * @multhint:   Multipath Detect High.
  27 *              true  - Indicatedes that the value is below
  28 *                      FM_RSQ_MULTIPATH_HIGH_THRESHOLD
  29 *              false - Indicatedes that the value is above
  30 *                      FM_RSQ_MULTIPATH_HIGH_THRESHOLD
  31 * @multlint:   Multipath Detect Low.
  32 *              true  - Indicatedes that the value is below
  33 *                      FM_RSQ_MULTIPATH_LOW_THRESHOLD
  34 *              false - Indicatedes that the value is above
  35 *                      FM_RSQ_MULTIPATH_LOW_THRESHOLD
  36 * @snrhint:    SNR Detect High.
  37 *              true  - Indicatedes that the value is below
  38 *                      FM_RSQ_SNR_HIGH_THRESHOLD
  39 *              false - Indicatedes that the value is above
  40 *                      FM_RSQ_SNR_HIGH_THRESHOLD
  41 * @snrlint:    SNR Detect Low.
  42 *              true  - Indicatedes that the value is below
  43 *                      FM_RSQ_SNR_LOW_THRESHOLD
  44 *              false - Indicatedes that the value is above
  45 *                      FM_RSQ_SNR_LOW_THRESHOLD
  46 * @rssihint:   RSSI Detect High.
  47 *              true  - Indicatedes that the value is below
  48 *                      FM_RSQ_RSSI_HIGH_THRESHOLD
  49 *              false - Indicatedes that the value is above
  50 *                      FM_RSQ_RSSI_HIGH_THRESHOLD
  51 * @rssilint:   RSSI Detect Low.
  52 *              true  - Indicatedes that the value is below
  53 *                      FM_RSQ_RSSI_LOW_THRESHOLD
  54 *              false - Indicatedes that the value is above
  55 *                      FM_RSQ_RSSI_LOW_THRESHOLD
  56 * @bltf:       Band Limit.
  57 *              Set if seek command hits the band limit or wrapped to
  58 *              the original frequency.
  59 * @snr_ready:  SNR measurement in progress.
  60 * @rssiready:  RSSI measurement in progress.
  61 * @afcrl:      Set if FREQOFF >= MAX_TUNE_ERROR
  62 * @valid:      Set if the channel is valid
  63 *               rssi < FM_VALID_RSSI_THRESHOLD
  64 *               snr  < FM_VALID_SNR_THRESHOLD
  65 *               tune_error < FM_VALID_MAX_TUNE_ERROR
  66 * @readfreq:   Current tuned frequency.
  67 * @freqoff:    Signed frequency offset.
  68 * @rssi:       Received Signal Strength Indicator(dBuV).
  69 * @snr:        RF SNR Indicator(dB).
  70 * @lassi:
  71 * @hassi:      Low/High side Adjacent(100 kHz) Channel Strength Indicator
  72 * @mult:       Multipath indicator
  73 * @dev:        Who knows? But values may vary.
  74 * @readantcap: Antenna tuning capacity value.
  75 * @assi:       Adjacent Channel(+/- 200kHz) Strength Indicator
  76 * @usn:        Ultrasonic Noise Inticator in -DBFS
  77 */
  78struct si476x_rsq_status_report {
  79        __u8 multhint, multlint;
  80        __u8 snrhint,  snrlint;
  81        __u8 rssihint, rssilint;
  82        __u8 bltf;
  83        __u8 snr_ready;
  84        __u8 rssiready;
  85        __u8 injside;
  86        __u8 afcrl;
  87        __u8 valid;
  88
  89        __u16 readfreq;
  90        __s8  freqoff;
  91        __s8  rssi;
  92        __s8  snr;
  93        __s8  issi;
  94        __s8  lassi, hassi;
  95        __s8  mult;
  96        __u8  dev;
  97        __u16 readantcap;
  98        __s8  assi;
  99        __s8  usn;
 100
 101        __u8 pilotdev;
 102        __u8 rdsdev;
 103        __u8 assidev;
 104        __u8 strongdev;
 105        __u16 rdspi;
 106} __packed;
 107
 108/**
 109 * si476x_acf_status_report - ACF report results
 110 *
 111 * @blend_int: If set, indicates that stereo separation has crossed
 112 * below the blend threshold as set by FM_ACF_BLEND_THRESHOLD
 113 * @hblend_int: If set, indicates that HiBlend cutoff frequency is
 114 * lower than threshold as set by FM_ACF_HBLEND_THRESHOLD
 115 * @hicut_int:  If set, indicates that HiCut cutoff frequency is lower
 116 * than the threshold set by ACF_
 117
 118 */
 119struct si476x_acf_status_report {
 120        __u8 blend_int;
 121        __u8 hblend_int;
 122        __u8 hicut_int;
 123        __u8 chbw_int;
 124        __u8 softmute_int;
 125        __u8 smute;
 126        __u8 smattn;
 127        __u8 chbw;
 128        __u8 hicut;
 129        __u8 hiblend;
 130        __u8 pilot;
 131        __u8 stblend;
 132} __packed;
 133
 134enum si476x_fmagc {
 135        SI476X_FMAGC_10K_OHM    = 0,
 136        SI476X_FMAGC_800_OHM    = 1,
 137        SI476X_FMAGC_400_OHM    = 2,
 138        SI476X_FMAGC_200_OHM    = 4,
 139        SI476X_FMAGC_100_OHM    = 8,
 140        SI476X_FMAGC_50_OHM     = 16,
 141        SI476X_FMAGC_25_OHM     = 32,
 142        SI476X_FMAGC_12P5_OHM   = 64,
 143        SI476X_FMAGC_6P25_OHM   = 128,
 144};
 145
 146struct si476x_agc_status_report {
 147        __u8 mxhi;
 148        __u8 mxlo;
 149        __u8 lnahi;
 150        __u8 lnalo;
 151        __u8 fmagc1;
 152        __u8 fmagc2;
 153        __u8 pgagain;
 154        __u8 fmwblang;
 155} __packed;
 156
 157struct si476x_rds_blockcount_report {
 158        __u16 expected;
 159        __u16 received;
 160        __u16 uncorrectable;
 161} __packed;
 162
 163#endif  /* __SI476X_REPORTS_H__ */
 164