1.. SPDX-License-Identifier: GPL-2.0
2
3.. include:: <isonum.txt>
4
5
6The SI476x Driver
7=================
8
9Copyright |copy| 2013 Andrey Smirnov <andrew.smirnov@gmail.com>
10
11TODO for the driver
12-------------------
13
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.
20
21
22Parameters exposed over debugfs
23-------------------------------
24SI476x allow user to get multiple characteristics that can be very
25useful for EoL testing/RF performance estimation, parameters that have
26very little to do with V4L2 subsystem. Such parameters are exposed via
27debugfs and can be accessed via regular file I/O operations.
28
29The drivers exposes following files:
30
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:
35
36  .. tabularcolumns:: |p{7ex}|p{12ex}|L|
37
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  =============  ==============   ====================================
64
65
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:
69
70  .. tabularcolumns:: |p{7ex}|p{12ex}|L|
71
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  =============  ==============   ====================================
79
80* /sys/kernel/debug/<device-name>/agc
81  This file contains information about parameters pertaining to
82  AGC(Automatic Gain Control)
83
84  The layout is:
85
86  .. tabularcolumns:: |p{7ex}|p{12ex}|L|
87
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  =============  ==============   ====================================
104
105* /sys/kernel/debug/<device-name>/rsq
106  This file contains information about parameters pertaining to
107  RSQ(Received Signal Quality)
108
109  The layout is:
110
111  .. tabularcolumns:: |p{7ex}|p{12ex}|p{60ex}|
112
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  =============  ==============   ====================================
156
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.
161