Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 .. include:: <isonum.txt>
0004 
0005 
0006 The SI476x Driver
0007 =================
0008 
0009 Copyright |copy| 2013 Andrey Smirnov <andrew.smirnov@gmail.com>
0010 
0011 TODO for the driver
0012 -------------------
0013 
0014 - According to the SiLabs' datasheet it is possible to update the
0015   firmware of the radio chip in the run-time, thus bringing it to the
0016   most recent version. Unfortunately I couldn't find any mentioning of
0017   the said firmware update for the old chips that I tested the driver
0018   against, so for chips like that the driver only exposes the old
0019   functionality.
0020 
0021 
0022 Parameters exposed over debugfs
0023 -------------------------------
0024 SI476x allow user to get multiple characteristics that can be very
0025 useful for EoL testing/RF performance estimation, parameters that have
0026 very little to do with V4L2 subsystem. Such parameters are exposed via
0027 debugfs and can be accessed via regular file I/O operations.
0028 
0029 The drivers exposes following files:
0030 
0031 * /sys/kernel/debug/<device-name>/acf
0032   This file contains ACF(Automatically Controlled Features) status
0033   information. The contents of the file is binary data of the
0034   following layout:
0035 
0036   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
0037 
0038   =============  ==============   ====================================
0039   Offset         Name             Description
0040   =============  ==============   ====================================
0041   0x00           blend_int        Flag, set when stereo separation has
0042                                   crossed below the blend threshold
0043   0x01           hblend_int       Flag, set when HiBlend cutoff
0044                                   frequency is lower than threshold
0045   0x02           hicut_int        Flag, set when HiCut cutoff
0046                                   frequency is lower than threshold
0047   0x03           chbw_int         Flag, set when channel filter
0048                                   bandwidth is less than threshold
0049   0x04           softmute_int     Flag indicating that softmute
0050                                   attenuation has increased above
0051                                   softmute threshold
0052   0x05           smute            0 - Audio is not soft muted
0053                                   1 - Audio is soft muted
0054   0x06           smattn           Soft mute attenuation level in dB
0055   0x07           chbw             Channel filter bandwidth in kHz
0056   0x08           hicut            HiCut cutoff frequency in units of
0057                                   100Hz
0058   0x09           hiblend          HiBlend cutoff frequency in units
0059                                   of 100 Hz
0060   0x10           pilot            0 - Stereo pilot is not present
0061                                   1 - Stereo pilot is present
0062   0x11           stblend          Stereo blend in %
0063   =============  ==============   ====================================
0064 
0065 
0066 * /sys/kernel/debug/<device-name>/rds_blckcnt
0067   This file contains statistics about RDS receptions. It's binary data
0068   has the following layout:
0069 
0070   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
0071 
0072   =============  ==============   ====================================
0073   Offset         Name             Description
0074   =============  ==============   ====================================
0075   0x00           expected         Number of expected RDS blocks
0076   0x02           received         Number of received RDS blocks
0077   0x04           uncorrectable    Number of uncorrectable RDS blocks
0078   =============  ==============   ====================================
0079 
0080 * /sys/kernel/debug/<device-name>/agc
0081   This file contains information about parameters pertaining to
0082   AGC(Automatic Gain Control)
0083 
0084   The layout is:
0085 
0086   .. tabularcolumns:: |p{7ex}|p{12ex}|L|
0087 
0088   =============  ==============   ====================================
0089   Offset         Name             Description
0090   =============  ==============   ====================================
0091   0x00           mxhi             0 - FM Mixer PD high threshold is
0092                                   not tripped
0093                                   1 - FM Mixer PD high threshold is
0094                                   tripped
0095   0x01           mxlo             ditto for FM Mixer PD low
0096   0x02           lnahi            ditto for FM LNA PD high
0097   0x03           lnalo            ditto for FM LNA PD low
0098   0x04           fmagc1           FMAGC1 attenuator resistance
0099                                   (see datasheet for more detail)
0100   0x05           fmagc2           ditto for FMAGC2
0101   0x06           pgagain          PGA gain in dB
0102   0x07           fmwblang         FM/WB LNA Gain in dB
0103   =============  ==============   ====================================
0104 
0105 * /sys/kernel/debug/<device-name>/rsq
0106   This file contains information about parameters pertaining to
0107   RSQ(Received Signal Quality)
0108 
0109   The layout is:
0110 
0111   .. tabularcolumns:: |p{7ex}|p{12ex}|p{60ex}|
0112 
0113   =============  ==============   ====================================
0114   Offset         Name             Description
0115   =============  ==============   ====================================
0116   0x00           multhint         0 - multipath value has not crossed
0117                                   the Multipath high threshold
0118                                   1 - multipath value has crossed
0119                                   the Multipath high threshold
0120   0x01           multlint         ditto for Multipath low threshold
0121   0x02           snrhint          0 - received signal's SNR has not
0122                                   crossed high threshold
0123                                   1 - received signal's SNR has
0124                                   crossed high threshold
0125   0x03           snrlint          ditto for low threshold
0126   0x04           rssihint         ditto for RSSI high threshold
0127   0x05           rssilint         ditto for RSSI low threshold
0128   0x06           bltf             Flag indicating if seek command
0129                                   reached/wrapped seek band limit
0130   0x07           snr_ready        Indicates that SNR metrics is ready
0131   0x08           rssiready        ditto for RSSI metrics
0132   0x09           injside          0 - Low-side injection is being used
0133                                   1 - High-side injection is used
0134   0x10           afcrl            Flag indicating if AFC rails
0135   0x11           valid            Flag indicating if channel is valid
0136   0x12           readfreq         Current tuned frequency
0137   0x14           freqoff          Signed frequency offset in units of
0138                                   2ppm
0139   0x15           rssi             Signed value of RSSI in dBuV
0140   0x16           snr              Signed RF SNR in dB
0141   0x17           issi             Signed Image Strength Signal
0142                                   indicator
0143   0x18           lassi            Signed Low side adjacent Channel
0144                                   Strength indicator
0145   0x19           hassi            ditto fpr High side
0146   0x20           mult             Multipath indicator
0147   0x21           dev              Frequency deviation
0148   0x24           assi             Adjacent channel SSI
0149   0x25           usn              Ultrasonic noise indicator
0150   0x26           pilotdev         Pilot deviation in units of 100 Hz
0151   0x27           rdsdev           ditto for RDS
0152   0x28           assidev          ditto for ASSI
0153   0x29           strongdev        Frequency deviation
0154   0x30           rdspi            RDS PI code
0155   =============  ==============   ====================================
0156 
0157 * /sys/kernel/debug/<device-name>/rsq_primary
0158   This file contains information about parameters pertaining to
0159   RSQ(Received Signal Quality) for primary tuner only. Layout is as
0160   the one above.