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