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