33. The SI476x Driver¶
Copyright © 2013 Andrey Smirnov <andrew.smirnov@gmail.com>
33.1. 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.
33.2. 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:
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:
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:
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:
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.