treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / media / v4l-drivers / si476x.rst
blob87062301d6a1e0b2f999f3df8c128f57b396f520
1 .. SPDX-License-Identifier: GPL-2.0
3 .. include:: <isonum.txt>
6 The SI476x Driver
7 =================
9 Copyright |copy| 2013 Andrey Smirnov <andrew.smirnov@gmail.com>
11 TODO for the driver
12 -------------------
14 - According to the SiLabs' datasheet it is possible to update the
15   firmware of the radio chip in the run-time, thus bringing it to the
16   most recent version. Unfortunately I couldn't find any mentioning of
17   the said firmware update for the old chips that I tested the driver
18   against, so for chips like that the driver only exposes the old
19   functionality.
22 Parameters exposed over debugfs
23 -------------------------------
24 SI476x allow user to get multiple characteristics that can be very
25 useful for EoL testing/RF performance estimation, parameters that have
26 very little to do with V4L2 subsystem. Such parameters are exposed via
27 debugfs and can be accessed via regular file I/O operations.
29 The drivers exposes following files:
31 * /sys/kernel/debug/<device-name>/acf
32   This file contains ACF(Automatically Controlled Features) status
33   information. The contents of the file is binary data of the
34   following layout:
36   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
38   =============  ==============   ====================================
39   Offset         Name             Description
40   =============  ==============   ====================================
41   0x00           blend_int        Flag, set when stereo separation has
42                                   crossed below the blend threshold
43   0x01           hblend_int       Flag, set when HiBlend cutoff
44                                   frequency is lower than threshold
45   0x02           hicut_int        Flag, set when HiCut cutoff
46                                   frequency is lower than threshold
47   0x03           chbw_int         Flag, set when channel filter
48                                   bandwidth is less than threshold
49   0x04           softmute_int     Flag indicating that softmute
50                                   attenuation has increased above
51                                   softmute threshold
52   0x05           smute            0 - Audio is not soft muted
53                                   1 - Audio is soft muted
54   0x06           smattn           Soft mute attenuation level in dB
55   0x07           chbw             Channel filter bandwidth in kHz
56   0x08           hicut            HiCut cutoff frequency in units of
57                                   100Hz
58   0x09           hiblend          HiBlend cutoff frequency in units
59                                   of 100 Hz
60   0x10           pilot            0 - Stereo pilot is not present
61                                   1 - Stereo pilot is present
62   0x11           stblend          Stereo blend in %
63   =============  ==============   ====================================
66 * /sys/kernel/debug/<device-name>/rds_blckcnt
67   This file contains statistics about RDS receptions. It's binary data
68   has the following layout:
70   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
72   =============  ==============   ====================================
73   Offset         Name             Description
74   =============  ==============   ====================================
75   0x00           expected         Number of expected RDS blocks
76   0x02           received         Number of received RDS blocks
77   0x04           uncorrectable    Number of uncorrectable RDS blocks
78   =============  ==============   ====================================
80 * /sys/kernel/debug/<device-name>/agc
81   This file contains information about parameters pertaining to
82   AGC(Automatic Gain Control)
84   The layout is:
86   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
88   =============  ==============   ====================================
89   Offset         Name             Description
90   =============  ==============   ====================================
91   0x00           mxhi             0 - FM Mixer PD high threshold is
92                                   not tripped
93                                   1 - FM Mixer PD high threshold is
94                                   tripped
95   0x01           mxlo             ditto for FM Mixer PD low
96   0x02           lnahi            ditto for FM LNA PD high
97   0x03           lnalo            ditto for FM LNA PD low
98   0x04           fmagc1           FMAGC1 attenuator resistance
99                                   (see datasheet for more detail)
100   0x05           fmagc2           ditto for FMAGC2
101   0x06           pgagain          PGA gain in dB
102   0x07           fmwblang         FM/WB LNA Gain in dB
103   =============  ==============   ====================================
105 * /sys/kernel/debug/<device-name>/rsq
106   This file contains information about parameters pertaining to
107   RSQ(Received Signal Quality)
109   The layout is:
111   .. tabularcolumns:: |p{7ex}|p{12ex}|p{60ex}|
113   =============  ==============   ====================================
114   Offset         Name             Description
115   =============  ==============   ====================================
116   0x00           multhint         0 - multipath value has not crossed
117                                   the Multipath high threshold
118                                   1 - multipath value has crossed
119                                   the Multipath high threshold
120   0x01           multlint         ditto for Multipath low threshold
121   0x02           snrhint          0 - received signal's SNR has not
122                                   crossed high threshold
123                                   1 - received signal's SNR has
124                                   crossed high threshold
125   0x03           snrlint          ditto for low threshold
126   0x04           rssihint         ditto for RSSI high threshold
127   0x05           rssilint         ditto for RSSI low threshold
128   0x06           bltf             Flag indicating if seek command
129                                   reached/wrapped seek band limit
130   0x07           snr_ready        Indicates that SNR metrics is ready
131   0x08           rssiready        ditto for RSSI metrics
132   0x09           injside          0 - Low-side injection is being used
133                                   1 - High-side injection is used
134   0x10           afcrl            Flag indicating if AFC rails
135   0x11           valid            Flag indicating if channel is valid
136   0x12           readfreq         Current tuned frequency
137   0x14           freqoff          Signed frequency offset in units of
138                                   2ppm
139   0x15           rssi             Signed value of RSSI in dBuV
140   0x16           snr              Signed RF SNR in dB
141   0x17           issi             Signed Image Strength Signal
142                                   indicator
143   0x18           lassi            Signed Low side adjacent Channel
144                                   Strength indicator
145   0x19           hassi            ditto fpr High side
146   0x20           mult             Multipath indicator
147   0x21           dev              Frequency deviation
148   0x24           assi             Adjacent channel SSI
149   0x25           usn              Ultrasonic noise indicator
150   0x26           pilotdev         Pilot deviation in units of 100 Hz
151   0x27           rdsdev           ditto for RDS
152   0x28           assidev          ditto for ASSI
153   0x29           strongdev        Frequency deviation
154   0x30           rdspi            RDS PI code
155   =============  ==============   ====================================
157 * /sys/kernel/debug/<device-name>/rsq_primary
158   This file contains information about parameters pertaining to
159   RSQ(Received Signal Quality) for primary tuner only. Layout is as
160   the one above.