diff options
Diffstat (limited to 'Documentation/video4linux/si470x.txt')
| -rw-r--r-- | Documentation/video4linux/si470x.txt | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt new file mode 100644 index 00000000000..11c5fd22a33 --- /dev/null +++ b/Documentation/video4linux/si470x.txt | |||
| @@ -0,0 +1,118 @@ | |||
| 1 | Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers | ||
| 2 | |||
| 3 | Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net> | ||
| 4 | |||
| 5 | |||
| 6 | Information from Silicon Labs | ||
| 7 | ============================= | ||
| 8 | Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the | ||
| 9 | most often used radio receivers in cell phones. Usually they are connected with | ||
| 10 | I2C. But SiLabs also provides a reference design, which integrates this IC, | ||
| 11 | together with a small microcontroller C8051F321, to form a USB radio. | ||
| 12 | Part of this reference design is also a radio application in binary and source | ||
| 13 | code. The software also contains an automatic firmware upgrade to the most | ||
| 14 | current version. Information on these can be downloaded here: | ||
| 15 | http://www.silabs.com/usbradio | ||
| 16 | |||
| 17 | |||
| 18 | Supported ICs | ||
| 19 | ============= | ||
| 20 | The following ICs have a very similar register set, so that they are or will be | ||
| 21 | supported 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 | ||
| 33 | More information on these can be downloaded here: | ||
| 34 | http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx | ||
| 35 | |||
| 36 | |||
| 37 | Supported USB devices | ||
| 38 | ===================== | ||
| 39 | Currently the following USB radios (vendor:product) with the Silicon Labs si470x | ||
| 40 | chips 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 | |||
| 46 | Software | ||
| 47 | ======== | ||
| 48 | Testing 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 | |||
| 55 | There is also a library libv4l, which can be used. It's going to have a function | ||
| 56 | for frequency seeking, either by using hardware functionality as in radio-si470x | ||
| 57 | or by implementing a function as we currently have in every of the mentioned | ||
| 58 | programs. Somewhen the radio programs should make use of libv4l. | ||
| 59 | |||
| 60 | For processing RDS information, there is a project ongoing at: | ||
| 61 | http://rdsd.berlios.de/ | ||
| 62 | |||
| 63 | There is currently no project for making TMC sentences human readable. | ||
| 64 | |||
| 65 | |||
| 66 | Audio Listing | ||
| 67 | ============= | ||
| 68 | USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to | ||
| 69 | also select SND_USB_AUDIO, as this is required to get sound from the radio. For | ||
| 70 | listing you have to redirect the sound, for example using one of the following | ||
| 71 | commands. | ||
| 72 | |||
| 73 | If you just want to test audio (very poor quality): | ||
| 74 | cat /dev/dsp1 > /dev/dsp | ||
| 75 | |||
| 76 | If you use OSS try: | ||
| 77 | sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp | ||
| 78 | |||
| 79 | If you use arts try: | ||
| 80 | arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B - | ||
| 81 | |||
| 82 | |||
| 83 | Module Parameters | ||
| 84 | ================= | ||
| 85 | After loading the module, you still have access to some of them in the sysfs | ||
| 86 | mount 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 | ||
| 88 | video controls. The others are runtime changeable. | ||
| 89 | |||
| 90 | |||
| 91 | Errors | ||
| 92 | ====== | ||
| 93 | Increase tune_timeout, if you often get -EIO errors. | ||
| 94 | |||
| 95 | When timed out or band limit is reached, hw_freq_seek returns -EAGAIN. | ||
| 96 | |||
| 97 | If you get any errors from snd_usb_audio, please report them to the ALSA people. | ||
| 98 | |||
| 99 | |||
| 100 | Open Issues | ||
| 101 | =========== | ||
| 102 | V4L minor device allocation and parameter setting is not perfect. A solution is | ||
| 103 | currently under discussion. | ||
| 104 | |||
| 105 | There is an USB interface for downloading/uploading new firmware images. Support | ||
| 106 | for it can be implemented using the request_firmware interface. | ||
| 107 | |||
| 108 | There is a RDS interrupt mode. The driver is already using the same interface | ||
| 109 | for polling RDS information, but is currently not using the interrupt mode. | ||
| 110 | |||
| 111 | There is a LED interface, which can be used to override the LED control | ||
| 112 | programmed in the firmware. This can be made available using the LED support | ||
| 113 | functions in the kernel. | ||
| 114 | |||
| 115 | |||
| 116 | Other useful information and links | ||
| 117 | ================================== | ||
| 118 | http://www.silabs.com/usbradio | ||
