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