~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/media/si470x.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 .. include:: <isonum.txt>
  4 
  5 The Silicon Labs Si470x FM Radio Receivers driver
  6 =================================================
  7 
  8 Copyright |copy| 2009 Tobias Lorenz <tobias.lorenz@gmx.net>
  9 
 10 
 11 Information from Silicon Labs
 12 -----------------------------
 13 
 14 Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the
 15 most often used radio receivers in cell phones. Usually they are connected with
 16 I2C. But SiLabs also provides a reference design, which integrates this IC,
 17 together with a small microcontroller C8051F321, to form a USB radio.
 18 Part of this reference design is also a radio application in binary and source
 19 code. The software also contains an automatic firmware upgrade to the most
 20 current version. Information on these can be downloaded here:
 21 http://www.silabs.com/usbradio
 22 
 23 
 24 Supported ICs
 25 -------------
 26 
 27 The following ICs have a very similar register set, so that they are or will be
 28 supported somewhen by the driver:
 29 
 30 - Si4700: FM radio receiver
 31 - Si4701: FM radio receiver, RDS Support
 32 - Si4702: FM radio receiver
 33 - Si4703: FM radio receiver, RDS Support
 34 - Si4704: FM radio receiver, no external antenna required
 35 - Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O
 36 - Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS
 37           Support
 38 - Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support
 39 - Si4708: Smallest FM receivers
 40 - Si4709: Smallest FM receivers, RDS Support
 41 
 42 More information on these can be downloaded here:
 43 http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx
 44 
 45 
 46 Supported USB devices
 47 ---------------------
 48 
 49 Currently the following USB radios (vendor:product) with the Silicon Labs si470x
 50 chips are known to work:
 51 
 52 - 10c4:818a: Silicon Labs USB FM Radio Reference Design
 53 - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF)
 54 - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
 55 - 10c5:819a: Sanei Electric, Inc. FM USB Radio (sold as DealExtreme.com PCear)
 56 
 57 
 58 Software
 59 --------
 60 
 61 Testing is usually done with most application under Debian/testing:
 62 
 63 - fmtools - Utility for managing FM tuner cards
 64 - gnomeradio - FM-radio tuner for the GNOME desktop
 65 - gradio - GTK FM radio tuner
 66 - kradio - Comfortable Radio Application for KDE
 67 - radio - ncurses-based radio application
 68 - mplayer - The Ultimate Movie Player For Linux
 69 - v4l2-ctl - Collection of command line video4linux utilities
 70 
 71 For example, you can use:
 72 
 73 .. code-block:: none
 74 
 75         v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=95.21 --all
 76 
 77 There is also a library libv4l, which can be used. It's going to have a function
 78 for frequency seeking, either by using hardware functionality as in radio-si470x
 79 or by implementing a function as we currently have in every of the mentioned
 80 programs. Somewhen the radio programs should make use of libv4l.
 81 
 82 For processing RDS information, there is a project ongoing at:
 83 http://rdsd.berlios.de/
 84 
 85 There is currently no project for making TMC sentences human readable.
 86 
 87 
 88 Audio Listing
 89 -------------
 90 
 91 USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
 92 also select SND_USB_AUDIO, as this is required to get sound from the radio. For
 93 listing you have to redirect the sound, for example using one of the following
 94 commands. Please adjust the audio devices to your needs (/dev/dsp* and hw:x,x).
 95 
 96 If you just want to test audio (very poor quality):
 97 
 98 .. code-block:: none
 99 
100         cat /dev/dsp1 > /dev/dsp
101 
102 If you use sox + OSS try:
103 
104 .. code-block:: none
105 
106         sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
107 
108 or using sox + alsa:
109 
110 .. code-block:: none
111 
112         sox --endian little -c 2 -S -r 96000 -t alsa hw:1 -t alsa -r 96000 hw:0
113 
114 If you use arts try:
115 
116 .. code-block:: none
117 
118         arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
119 
120 If you use mplayer try:
121 
122 .. code-block:: none
123 
124         mplayer -radio adevice=hw=1.0:arate=96000 \
125                 -rawaudio rate=96000 \
126                 radio://<frequency>/capture
127 
128 Module Parameters
129 -----------------
130 
131 After loading the module, you still have access to some of them in the sysfs
132 mount under /sys/module/radio_si470x/parameters. The contents of read-only files
133 (0444) are not updated, even if space, band and de are changed using private
134 video controls. The others are runtime changeable.
135 
136 
137 Errors
138 ------
139 
140 Increase tune_timeout, if you often get -EIO errors.
141 
142 When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
143 
144 If you get any errors from snd_usb_audio, please report them to the ALSA people.
145 
146 
147 Open Issues
148 -----------
149 
150 V4L minor device allocation and parameter setting is not perfect. A solution is
151 currently under discussion.
152 
153 There is an USB interface for downloading/uploading new firmware images. Support
154 for it can be implemented using the request_firmware interface.
155 
156 There is a RDS interrupt mode. The driver is already using the same interface
157 for polling RDS information, but is currently not using the interrupt mode.
158 
159 There is a LED interface, which can be used to override the LED control
160 programmed in the firmware. This can be made available using the LED support
161 functions in the kernel.
162 
163 
164 Other useful information and links
165 ----------------------------------
166 
167 http://www.silabs.com/usbradio

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php