si476x.txt 8.8 KB

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