159 lines
5.9 KiB
ReStructuredText
159 lines
5.9 KiB
ReStructuredText
.. 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.
|