aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/si470x.txt118
-rw-r--r--drivers/media/radio/Kconfig14
-rw-r--r--drivers/media/radio/radio-si470x.c13
3 files changed, 132 insertions, 13 deletions
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt
new file mode 100644
index 000000000000..11c5fd22a332
--- /dev/null
+++ b/Documentation/video4linux/si470x.txt
@@ -0,0 +1,118 @@
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)
44
45
46Software
47========
48Testing is usually done with most application under Debian/testing:
49- fmtools - Utility for managing FM tuner cards
50- gnomeradio - FM-radio tuner for the GNOME desktop
51- gradio - GTK FM radio tuner
52- kradio - Comfortable Radio Application for KDE
53- radio - ncurses-based radio application
54
55There is also a library libv4l, which can be used. It's going to have a function
56for frequency seeking, either by using hardware functionality as in radio-si470x
57or by implementing a function as we currently have in every of the mentioned
58programs. Somewhen the radio programs should make use of libv4l.
59
60For processing RDS information, there is a project ongoing at:
61http://rdsd.berlios.de/
62
63There is currently no project for making TMC sentences human readable.
64
65
66Audio Listing
67=============
68USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
69also select SND_USB_AUDIO, as this is required to get sound from the radio. For
70listing you have to redirect the sound, for example using one of the following
71commands.
72
73If you just want to test audio (very poor quality):
74cat /dev/dsp1 > /dev/dsp
75
76If you use OSS try:
77sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
78
79If you use arts try:
80arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
81
82
83Module Parameters
84=================
85After loading the module, you still have access to some of them in the sysfs
86mount under /sys/module/radio_si470x/parameters. The contents of read-only files
87(0444) are not updated, even if space, band and de are changed using private
88video controls. The others are runtime changeable.
89
90
91Errors
92======
93Increase tune_timeout, if you often get -EIO errors.
94
95When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
96
97If you get any errors from snd_usb_audio, please report them to the ALSA people.
98
99
100Open Issues
101===========
102V4L minor device allocation and parameter setting is not perfect. A solution is
103currently under discussion.
104
105There is an USB interface for downloading/uploading new firmware images. Support
106for it can be implemented using the request_firmware interface.
107
108There is a RDS interrupt mode. The driver is already using the same interface
109for polling RDS information, but is currently not using the interrupt mode.
110
111There is a LED interface, which can be used to override the LED control
112programmed in the firmware. This can be made available using the LED support
113functions in the kernel.
114
115
116Other useful information and links
117==================================
118http://www.silabs.com/usbradio
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index 04cd7c04bdde..5189c4eb439f 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -355,6 +355,20 @@ config USB_SI470X
355 tristate "Silicon Labs Si470x FM Radio Receiver support" 355 tristate "Silicon Labs Si470x FM Radio Receiver support"
356 depends on USB && VIDEO_V4L2 356 depends on USB && VIDEO_V4L2
357 ---help--- 357 ---help---
358 This is a driver for USB devices with the Silicon Labs SI470x
359 chip. Currently these devices are known to work:
360 - 10c4:818a: Silicon Labs USB FM Radio Reference Design
361 - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music)
362 - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
363
364 Sound is provided by the ALSA USB Audio/MIDI driver. Therefore
365 if you don't want to use the device solely for RDS receiving,
366 it is recommended to also select SND_USB_AUDIO.
367
368 Please have a look at the documentation, especially on how
369 to redirect the audio stream from the radio to your sound device:
370 Documentation/video4linux/si470x.txt
371
358 Say Y here if you want to connect this type of radio to your 372 Say Y here if you want to connect this type of radio to your
359 computer's USB port. 373 computer's USB port.
360 374
diff --git a/drivers/media/radio/radio-si470x.c b/drivers/media/radio/radio-si470x.c
index a20583c13b68..3e1830293de5 100644
--- a/drivers/media/radio/radio-si470x.c
+++ b/drivers/media/radio/radio-si470x.c
@@ -25,19 +25,6 @@
25 25
26 26
27/* 27/*
28 * User Notes:
29 * - USB Audio is provided by the alsa snd_usb_audio module.
30 * For listing you have to redirect the sound, for example using:
31 * arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
32 * - regarding module parameters in /sys/module/radio_si470x/parameters:
33 * the contents of read-only files (0444) are not updated, even if
34 * space, band and de are changed using private video controls
35 * - increase tune_timeout, if you often get -EIO errors
36 * - hw_freq_seek returns -EAGAIN, when timed out or band limit is reached
37 */
38
39
40/*
41 * History: 28 * History:
42 * 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net> 29 * 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net>
43 * Version 1.0.0 30 * Version 1.0.0